


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Lecture notes from Introduction to Cryptography. This lecture includes: Algorithms, Polynomial Time, Asymptotic, Concrete Complexity, Randomized Algorithms, Prime, Squares
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



Recommended Reading.
In this course, we will not use a specic model of computation when talking about algorithms. An algorithm can be a program for a Turing machine, RAM model, or your favorite model of computation, as they are roughly equivalent in terms of eciency. The inputs of an algorithm are strings over an alphabet Σ, Σ being often { 0 , 1 }. Hence an algorithm A is a function from Σ∗^ to Σ?.
The complexity class P consists of all problems solvable in polynomial time. (Technically, it is a class of languages)
Examples:
Computational problems which are not solvable in poynomial time are said to be intractable. Here are some examples.
Satisfiability, Travelling Salesman Problem, and Graph 3-Coloring. If an NP-complete problem were solvable in polynomial time, then every NP problem would be solvable in polynomial time. P 6 = NP widely believed (but still unproven).
Neither known to be in P nor NP-complete.
Some algorithms:
exhaustive search / trial division quadratic sieve: this is the best provable algorithm, it runs in time roughly 2
‖N ‖
number eld sieve: the unproven time bound for this algorithm is roughly 2
So far, there is no known polynomial-time algorithm.
∗ If gcd(yi, N ) = 1 then compute zi = y
N − 21 i mod^ N If all the zi's belong to { 1 , N − 1 } and both values 1 and N − 1 occurr, output prime. Otherwise, output composite.
This is a polynomial-time algorithm because the gcd is computed with Euclid's algorithm in polynomial time and the modular exponentiation is computed with the repeated squares and multi- ply algorithm in polynomial time. For this randomized algorithm, the probability is taken over the random choices of yi's. The MillerRabin primality test is analyzed in KatzLindell. One disad- vantage of this algorithm over other primality testing algorithms is that there is a two-sided error. (For the other algorithms, an error occurs only when a composite number is said to be prime)