El-Qamal sxemi — 1985-ci ildə Sahib El-Qamal tərfindən təklif olunmuşdu. Bu sxem elektron imza və şifrləmə (encryption) üçün istifadə olunur. El-Qamal alqoritmi Diffie-Hellman alqoritminə əsaslanır. O, Diffie-Hellman alqoritmini iki alqoritm şəklində ifadə etmişdi. El-Qamal sxemi vasitəsilə şifrləmə 3 kompanentdən ibarətdir:
- Xüsusi açarın generasiyası
- Şifrləmə alqoritmi (Encryption algorithm)
- Deşifrlmə alqoritmi (Decryption algorithm)
Xüsusi açarın generasiyası.
- n bit uzunluğunda təsadüfi p sadə ədədi generasiya olunur.
- Zp çoxluğundan təsadüfi g primitiv elementi seçilir.
- Elə təsadüfi x tam ədədi seçilir ki, 1<x<p-1
- “y=gx mod p” hesablanır
- Burada açıq açar (p,g,y) üçlüyü, qapalı açar isə x-dır
Şifrləmə alqoritmi
Hər hansı “M” məlumatı aşağıdakı şəkildə şifrlənir
- Sessiya açarı seçilir - Elə təsadüfi k ədədi seçilir ki, 1<k<p-1 intervalında dəyişsin
- “a=gk mod p” və b=ykM mod p hesablanır
- (a,b) ədədlər cütü şifrlənmiş mətindir
Asanlıqla görmək mümkündür ki, şifrlənmiş mətnin uzunluğu daxil edilmiş M mətnindən iki dəfə çoxdur. Digər tərəfdən k-nı göstərilən intervalda deyil, 1-ə və ya p-1-ə bərabər götürsək onda verilmiş məlumatın deşifrlənməsi ilk addımda baş verər ki, buda çox göndərilən məlumat üçün çox təhlükəlidir.
Deşifrləmə alqoritmi
x qapalı açarını bilməklə (a,b) şifrlənmiş mətnindən qəbul edilən mətni aşağıdakı düstur vasitəsilə əldə etmək olar:
- M=b(ax)-1 mod p
- Asanlıqla görmək olar ki, (ax)-1 ≡ g –kx (mod p)
bu səbəbdən b(ax)-1 ≡ (ykM)g-xk ≡(gxkM) g-xk ≡ M (mod p) hesablamaq olar.
- Praktiki hesablamaq üçün aşağıdakı düsturdan istifadə edilir:
M≡b(ax)-1 mod p= b*a (p-1-x) mod p
El-Qamal sxeminə aid aşağıdakı misala baxaq:
Fərz edək ki, M=5 məlumatını şifrləmək tələb olunur. Xüsusi açarın generasiya edək: Fər edək ki, p=11, g=2, x=8 y=gx mod p = 28 mod 11 =3
Göründüyü kimi, burada (p,g,y) üçlüyü (11,2,3) qapalı açar x isə 8-ə bərabərdir. Məlumatın şifrlənməsi üçün k=9 götürək. a=gk mod p=29 mod 11=512 mod 11=6 hesablanır.
b=ykM mod p =395 mod 11=19683*5 mod 11=9 Nəticədə alırıq ki, (a,b)=(6,9) şifrlənmiş məlumatdır.
- Deşifrləmə
(a,b)=(6,9) şifrlənmiş məlumatından və x=8 qapalı açarından M=5 məlumatını almaq tələb olunur
- M≡b(ax)-1 mod p= b*a (x) -1 mod p = 9 (68)-1 mod 11=5
Alırıq ki, ilkin mətn M=5-dir.
k-nın təsadüfi seçilməsi səbəbi ilə El-Qamal sxeminə ehtimal şifrləməsi və ya təsadüfi şifrləmədə deyilir.El-Qamal sxemi ilə şifrləmə zamanı çatışmayan əsas xüsusiyyət onun sonda alınan mətnin uzunluğunun daxil edilmiş mətindən iki dəfə uzun olmasıdır.