0% found this document useful (0 votes)
142 views

Discrete Logarithms in Finite Fields: Alice Bob

1. The document discusses discrete logarithm problems in finite fields and elliptic curve cryptography. It describes how discrete logarithm problems are used in key exchange by having Alice and Bob choose private keys and computing public keys by raising a generator to their private keys. 2. It provides an example of how elliptic curve cryptography can be used analogously to El Gamal encryption to encrypt and decrypt messages. Bob is able to decrypt the ciphertext to recover the original plaintext message. 3. Elliptic curve Diffie-Hellman key exchange is described, where Alice and Bob are able to compute the same shared secret key by multiplying their private keys with each other's public keys.

Uploaded by

guruannamalai
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
142 views

Discrete Logarithms in Finite Fields: Alice Bob

1. The document discusses discrete logarithm problems in finite fields and elliptic curve cryptography. It describes how discrete logarithm problems are used in key exchange by having Alice and Bob choose private keys and computing public keys by raising a generator to their private keys. 2. It provides an example of how elliptic curve cryptography can be used analogously to El Gamal encryption to encrypt and decrypt messages. Bob is able to decrypt the ciphertext to recover the original plaintext message. 3. Elliptic curve Diffie-Hellman key exchange is described, where Alice and Bob are able to compute the same shared secret key by multiplying their private keys with each other's public keys.

Uploaded by

guruannamalai
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 10

Discrete Logarithms

in Finite Fields
F={1,2,3,,p-1}
Pick secret,
Pick secret, random Y from F
random X from F
gx mod p
gy mod p
Alice Bob
Compute k=(gy)x=gxy mod p
Compute k=(gx)y=gxy mod p
Eve has to compute gxy from gx and gy without knowing x and y
She faces the Discrete Logarithm Problem in finite fields
Elliptic Curve on a finite set of
Integers
Consider y2=x3+2x+3(mod5)
x=0y2=3nosolution(mod5)
x=1y2=6=1y=1,4(mod5)
x=2y2=15=0y=0(mod5)
x=3y2=36=1y=1,4(mod5)
x=4y2=75=0y=0(mod5)
Then points on the elliptic curve are
(1,1)(1,4)(2,0)(3,1)(3,4)(4,0)
and the point at infinity:
Using the finite fields we can form an Elliptic Curve Group
where we also have a DLP problem which is harder to solve
Definition of Elliptic curves
An elliptic curve over a field K is a nonsingular
cubic curve in two variables, f(x,y) =0 with a
rational point (which may be a point at infinity).

The field K is usually taken to be the complex


numbers, reals, rationals, algebraic extensions
of rationals, p-adic numbers, or a finite field.

Elliptic curves groups for cryptography are


examined with the underlying fields of Fp (where
p>3 is a prime) and F2m (a binary representation
with 2m elements).
Generic Procedures of ECC
Both parties agree to some publicly-known data items
The elliptic curve equation
values of a and b
prime, p
The elliptic group computed from the elliptic curve equation
A base point, B, taken from the elliptic group
Similar to the generator used in current cryptosystems
Each user generates their public/private key pair
Private Key = an integer, x, selected from the interval [1, p-1]
Public Key = product, Q, of private key and base point
(Q = x*B)
Example Elliptic Curve
Cryptosystem Analog to El Gamal
Suppose Alice wants to send to Bob an encrypted
message.
Both agree on a base point, B.
Alice and Bob create public/private keys.
Alice
Private Key = a
Public Key = PA = a * B
Bob
Private Key = b
Public Key = PB = b * B
Alice takes plaintext message, M, and encodes it onto a
point, PM, from the elliptic group
Example Elliptic Curve
Cryptosystem Analog to El Gamal
Alice chooses another random integer, k from the interval
[1, p-1]
The ciphertext is a pair of points
PC = [ (kB), (PM + kPB) ]

To decrypt, Bob computes the product of the first point


from PC and his private key, b
b * (kB)
Bob then takes this product and subtracts it from the
second point from PC
(PM + kPB) [b(kB)] = PM + k(bB) b(kB) = PM
Bob then decodes PM to get the message, M.
Example Compare to El Gamal
The ciphertext is a pair of points
PC = [ (kB), (PM + kPB) ]
The ciphertext in El Gamal is also a pair.
C = (gk mod p, mPBk mod p)
--------------------------------------------------------------------------
Bob then takes this product and subtracts it from the
second point from PC
(PM + kPB) [b(kB)] = PM + k(bB) b(kB) = PM
In El Gamal, Bob takes the quotient of the second
value and the first value raised to Bobs private value
m = mPBk / (gk)b = mgk*b / gk*b = m
Diffie-Hellman (DH) Key Exchange
ECC Diffie-Hellman
Public: Elliptic curve and point B=(x,y) on curve
Secret: Alices a and Bobs b

a(x,y)
b(x,y)

Alice, A Bob, B

Alice computes a(b(x,y))


Bob computes b(a(x,y))
These are the same since ab = ba
Example Elliptic Curve
Diffie-Hellman Exchange
Alice and Bob want to agree on a shared key.
Alice and Bob compute their public and private keys.
Alice
Private Key = a
Public Key = PA = a * B
Bob
Private Key = b
Public Key = PB = b * B
Alice and Bob send each other their public keys.
Both take the product of their private key and the other users public
key.
Alice KAB = a(bB)
Bob KAB = b(aB)
Shared Secret Key = KAB = abB

You might also like