Cryptography issues – elliptic curves Presented by Tom Nykiel
What are we going to talk about… What is cryptography ? What is cryptography ? Why do we need it ? Why do we need it ? Who uses cryptographic services ? Who uses cryptographic services ? How is it done classically ? How is it done classically ? Elliptic curves Elliptic curves How is it done using elliptic curves ? How is it done using elliptic curves ? Summary Summary
What is cryptography ? Hiding of meaning of messages Hiding of meaning of messages Branch of information theory Branch of information theory Study of information and especially its transmission from place to place Study of information and especially its transmission from place to place In the past mainly encrypting In the past mainly encrypting But now… But now…
Why do we need it ? Information protection services nowadays: Information protection services nowadays: 1. Integrity 2. Authentication 3. Non-repudiation 4. Confidentiality
Who uses cryptographic services ? Banking : ATM, online banking Banking : ATM, online banking Computer science : securing networks and systems Computer science : securing networks and systems Military : securing confidential information Military : securing confidential information Love letters Love letters Much more… Much more…
How is it done classically ? Symmetric approach – both sides have the same amount of information which is used in encrypting process Symmetric approach – both sides have the same amount of information which is used in encrypting process 1. Fast encoding (O(n)) 2. Exponential time complexity key security 3. Short keys Examples : DES, AES, Blowfish, IDEA, Twofish, Serpent Examples : DES, AES, Blowfish, IDEA, Twofish, Serpent
Any problems ? Asymmetric approach : both sides have some information sufficient to encode/decode Asymmetric approach : both sides have some information sufficient to encode/decode May be used in establishing a symmetric key Hundreds or thousands time slower than sym. May be used in establishing a symmetric key Hundreds or thousands time slower than sym. 1. Computationally secure 2. Still good performance 3. Examples: RSA, Diffie-Hellman, El-Gamal,
Computationally hard issues RSA algorithm RSA algorithm - Factorization problem : find such prime numbers p and q for a given n that p*q=n Diffie-Hellman Diffie-Hellman - Discrete logarithm problem : find x such that g^x mod p = A for given g, p and A g^x mod p = A for given g, p and A
Diffie-Hellman scheme
Diffie Hellman… Alice and Bob agree to use a prime number p=23 and base g=5. Alice and Bob agree to use a prime number p=23 and base g=5. Alice chooses a secret integer a=6, then sends Bob (g^a mod p) Alice chooses a secret integer a=6, then sends Bob (g^a mod p) 56 mod 23 = mod 23 = 8. Bob chooses a secret integer b=15, then sends Alice (g^b mod p) Bob chooses a secret integer b=15, then sends Alice (g^b mod p) 515 mod 23 = mod 23 = 19. Alice computes (g^b mod p)^a mod p Alice computes (g^b mod p)^a mod p 196 mod 23 = mod 23 = 2. Bob computes (g^a mod p)^b mod p Bob computes (g^a mod p)^b mod p 815 mod 23 = mod 23 = 2.
Modern cryptography
Elliptic curves In mathematics, an elliptic curve is an algebraic curve defined by an equation of the form In mathematics, an elliptic curve is an algebraic curve defined by an equation of the form Y^2 = X^3 + aX + b, Y^2 = X^3 + aX + b,
Examples…
Modular arithmetic
Addition and multiplication
Hard problems… For given S find P and Q such that P+Q=S – factorization problem For given S find P and Q such that P+Q=S – factorization problem For given G and P find a such that aG=P – discrete logarithm problem For given G and P find a such that aG=P – discrete logarithm problem
Diffie Hellman for EC
Time complexity issues Classical approach – Classical approach – 1. Recall the algorithm of multiplying two num. in O(n^2) O(n^1.58) O(n logn loglog n) time 2. A^B = A^(B/2) * A^(B/2) [ *A] 3. Results in polynomial time in number of bits of the exponent b. Apply the same idea to EC Apply the same idea to EC 1. kA = 2 * (k/2)*A
Key length comparison
References Standards for Efficient Cryptography Group Standards for Efficient Cryptography Group Tutorial EC Tutorial EC RSA labs RSA labs