RSA Algo
RSA Algo
(1)
1
(2)
(3)
(4)
(5)
2
atau
SK PK = m(r) + 1
(6)
(7)
(8)
(8)
(9)
1 m ( r )
PK
(11)
r = p q = 3337
dan
1 (m 3220)
79
Enkripsi
Plainteks disusun menjadi blok-blok x1, x2, , sedemikian
sehingga setiap blok merepresentasikan nilai di dalam
rentang 0 sampai r 1.
Setiap blok xi dienkripsi menjadi blok yi dengan rumus
yi = xi PK mod r
Dekripsi
Setiap blok cipherteks yi didekripsi kembali menjadi blok xi
dengan rumus
IF5054 Kriptografi/Algoritma RSA dan ElGamal/Rinaldi Munir/IF-ITB
xi = yi SK mod r
x4 = 273
x5 = 787
x6 = 003
Algoritma ElGamal
Algoritma Elgamal juga adalah algoritma kriptografi kuncipublik. Algoritma ini pada mulanya digunakan untuk digital
signature, namun kemudian dimodifikasi sehingga juga bisa
digunakan untuk enkripsi dan dekripsi.
Kekuatan algoritma ini terletak pada sulitnya menghitung
logaritma diskrit.
Besaran-besaran yang digunakan d dalam algoritma
ElGamal:
1. Bilangan prima, p
(tidak rahasia)
2. Bilangan acak, g ( g < p)
(tidak rahasia)
3. Bilangan acak, x (x < p)
(rahasia)
4. M (plainteks)
(rahasia)
5. a dan b (cipherteks)
(tidak rahasia)
Enkripsi
Plainteks disusun menjadi blok-blok m1, m2, , sedemikian
sehingga setiap blok merepresentasikan nilai di dalam
rentang 0 sampai p 1.
Pilih bilangan acak k, yang dalam hal ini 0 k p 1,
sedemikian sehingga k relatif prima dengan p 1.
Setiap blok m dienkripsi dengan rumus
a = gk mod p
b = ykm mod p
Pasangan a dan b adalah cipherteks untuk blok pesan m. Jadi,
ukuran cipherteks dua kali ukuran plainteksnya.
Dekripsi
Untuk mendekripsi a dan b digunakan kunci rahasia, x, dan
plainteks m diperoleh kembali dengan persamaan
m = b/ax mod p
Catatlah bahwa karena
10
ax gkx (mod p)
maka
b/ax ykm/ax gxkm/gxk m (mod p)
yang berarti bahwa plainteks dapat ditemukan kembali dari
pasangan cipherteks a dan b.
11