ElGamal Cryptography(公鑰密碼學代表之一)
阿新 • • 發佈:2018-12-26
ElGamal Crypotography
Each user generates his key:
-Choose a secret key : 1<XA<q-1
-Compute their public key: {q,a,YA=a^XA mod q}
ElGamal Message Exchange
- B encrypts and sends message to A by computing
-Message M in range 0<= M<= q-1
-Choose random integer k with 1<=k<=q-1
-Compute one-time key K=YA^k mod q
-Encrypt M as a pair of integers (C1, C2):
C1 =a^k mod q; C2=K*M mod q
- A then recovers message by
-Recovering key K as K=C1^XA mod q
-Computing M as M =C2*K^-1 mod q
- A unique k must be used each time
otherwise result is insecure
說了這麼多,下面舉個例子:
Use field GF(19)q=19 and a=10
A computes key:
A chooses XAxs