problem_solution_essay/main.typ

98 lines
5.9 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#import "@preview/wordometer:0.1.4": word-count, total-words
#set page(
paper: "a4",
//numbering: "1",
margin: (top: 2.5cm, left: 2.5cm, right: 2.5cm, bottom: 2cm)
)
#if (context here().page()) != 1 [
#set page(
numbering: "1"
)
]
#set page(
footer: context {
if here().page() > 1 {
align(center)[#counter(page).display()]
}
}
)
#set text(
size: 12pt,
)
Marius Drechsler\
Problem --- Solution Essay\
July 5th, 2025
#align(center, text(size: 17pt, weight: "bold")[
*Essay Title*
])
#set align(left)
#set par(
justify: true,
leading: 2em,
spacing: 2em,
first-line-indent: (amount: 3em, all: true)
)
#show: word-count
In an increasing digital world, securing information through encryption methods has become a necessity.
The rising trend of improvements in quantum computation poses a serious security vulnerability to information that is currently encrypted through classical encryption methods.
This essay will explain the risk of quantum computers regarding cryptography and present possible solutions for it.
To properly understand the security vulnerability opened up by quantum computing, encryption methods in general will be investigated.
Current state-of-the-art technology utilizes two different encryption methods: symmetric and asymmetric encryption.
Symmetric encryption uses a single key for both the encryption and decryption process and is mainly used for securing data.
A common symmetric encryption algorithm is called "Advanced Encryption Standard (AES)".
The security of data encrypted with algorithms like AES depends heavily on the length of the key used.
The longer the key, the more secure the encrypted data.
Asymmetric encryption on the other hand uses pairs of keys --- a public and a private key --- to encrypt and decrypt information.
The principle behind asymmetric cryptography, as implemented by the "RivestShamirAdleman (RSA)" algorithm, stems from the complexity of factoring very large numbers into primes.
In summary, the security of symmetric and asymmetric encryption methods is based on the high computational effort required to break the encryption.
While AES encryption with a long key requires trying a vast array of possible keys, RSA requires efficiently performing prime factorization on large numbers.
While symmetric and asymmetric encryption methods have proven effective in securing data, the continuous increase in performance of quantum computing could open up vulnerabilities in classical encryption algorithms.
Quantum computers utilize a different approach to solve computational problems.
Instead of processing data in a binary format using ones and zeroes, quantum computers operate using qubits.
While qubits can represent two different values, like an ordinary bit, qubits are also capable of representing any value in between its two base states, for example zero and one.
It is also important to note, that a qubit can, due to its physical properties, exist in multiple of these states at once.
This property allows a quantum computer to explore numerous possible solutions to a problem in parallel, significantly increasing the computation process.
Additionally, two qubits can also be created in such a way that their states depend on each other, making complex correlations between the two qubits possible.
These two properties of qubits open up the possibility for quantum computers to solve the previously introduced numerical problems by encryption algorithms in an efficient way.
As a result, quantum computers are able to solve the two problems making AES and RSA secure significantly faster than their classical counterparts.
To break the encryption of symmetric encryption algorithms like AES, "Grover's Algorithm" can be used.
Grover's Algorithm is also commonly defined as the quantum search algorithm.
This means that Grover's Algorithm is capable of performing the task of _function inversion_.
If a function is defined as $y = f(x)$, Gover's Algorithm is able to calculate the value of $x$ when given $y$.
Comparing the operation of function inversion to the application of a symmetric encryption algorithm, $y$ can be seen as the encrypted data, while $x$ is the data to be encrypted by the algorithm $f()$.
The notable difference between Grover's Algorithm and classical algorithms for the same task is the reduced number of steps required to find a solution.
Where classical algorithms would require $N$ steps to find a solution, Grover's Algorithm achieves the same result with $sqrt(N)$ steps.
For example, brute-force searching a $128$-bit long key for AES encryption on a classical computer would require approximately $2^128$ trials, whereas Grover's algorithm could accomplish this in about $2^64$ trials.
Another algorithm to break the classical encryption methods is "Shor's Algorithm", which is used to efficiently find the prime factors of an integer.
As with Grover's Algorithm, Shor's Algorithm is able to find these prime factors faster than a classical algorithm.
The time complexity of the "General Number Field Sieve (GNFS)" Algorithm, which is considered the fastest classical integer factoring algorithm, is $O(2^N)$.
In contrast, Shor's Algorithm has a time complexity of $O(log(N)^3)$.
As a result, Shor's Algorithm reduces the complexity of finding the prime factors of an integer from exponential time to polynomial time, thus breaking the security of RSA, which depends on these prime factors.
In conclusion, algorithms for quantum computers make it possible to speed up the process of breaking commonly used encryption methods.
To address the vulnerabilities that quantum algorithms introduce, two solutions could be implemented.
First, quantum-resistent algorithms could be implemented to undermine the efficiency of quantum computers.
Danach mögliche lösungen
DAnn zusammenfassung
Essay has a total of #total-words words.
#pagebreak()
#bibliography("./bibliography.bib", style: "ieee", title: "References")