Blum-Goldwasser şifreleme sistemi
Blum–Goldwasser Kriptosistem veya Blum-Goldwasser şifreleme sistemidir. 1984 yılında Manuel Blum ve Şafi Goldwasser tarafından önerilen bir asimetrik anahtar şifreleme algoritmasıdır. Bulum-Goldwasser bilinen en verimli kripto sistemlerden biridir. RSA ile hız ve mesaj genişlemesi açısından kıyaslanabilir. Bu şifreleme algoritmasında rastgele sayı üretmek için Blum Blum Shub rastgele sayı üretme algoritması kullanılır. Büyük sayıların asal çarpanlarına ayrılma probleminin çözülemezliği kabulüne dayanan bir şifreleme algoritmasıdır.
Anahtar Üretimi
1- p ve q birbirinden farklı rastgele iki büyük asal sayı sayılar.
p≡3 mod 4 q≡3 mod 4 olmalı.
2- N=p*q
Gizli anahtar= p, q Açık anahtar= N
Şifreleme
1- m şifrelenecek metin ve L bitlik bir veri olsun.(m0, m1, m2 ... mL-1)
2- 1<r<N olacak şekilde bir r seçilmelidir.
x0=r2 (mod N) hesaplanır.
3- i=0 ve i=L olduğu sürece aşağıdaki işlemler yapılır.
xi 'nin lsb (en az anlamlı biti) bitini bi olarak alınır. i=i+1 xi=(xi-1)2 mod N
4- c=m⊕b , y=x02L mod N
Karşı tarafa (c,y) gönderilir.
Deşifreleme
Karşı tarafın şifreli metni çözmesi için elinde olanlar: (c0, c1, c2 ... cL-1) ve y. Deşifreleme:
1- rp=y((p+1)/4)2 mod p
rq=y((q+1)/4)2 mod q
2- x0=(q(q−1 mod p)rp+ p(p−1 mod q)rq) mod N
3- i=0 ve i=L olduğu sürece aşağıdaki işlemler yapılır.
xi 'nin lsb (en az anlamlı biti) bitini bi olarak alınır. i=i+1 xi=(xi-1)2 mod N
4- m=c⊕b hesaplanır ve deşifrelenmiş metin bulunmuş olunur.