Эль-Гамаль алгоритмі

Эль-Гамаль алгоритмі туралы қазақша реферат

Бұл қолтаңбаны реттеу үшін р жай саны және бинарлы тізбекті жай жолды Zp элементтеріне айналдыратын хэш функциясы қажет.

Эль-Гамаль алгоритмінің протоколын көрсетейік.

1) Кілтті генерациялау;

—         Кездейсоқ үлкен р жай санын генерациялаймыз және Zp мультипликативті тобынан қандай да бір туынды g элементін аламыз;

—         Кездейсоқ а (1<a<p-1) санын таңдаймыз. а саны ұзақ уақытты кілт рөлін атқарады;

—         табамыз;

—         Ашық кілт болып – p,g,y табылады, ал құпия кілт – а.

2) Қолтаңба алгоритмі.

Қолтаңбамен қамтамасыз етуге қажет m – туынды ұзындықты бинарлы тізбек plaintext түрінде берілген болсын.

—     Кез келген ең үлкен ортақ бөлгіші 1-ге тең болатын к (0<k<p-1) санын таңдаймыз. к саны «маска» рөлін атқарады және бір-ақ рет қолданылады. Жаңа қолтаңба үшін жаңа к саны таңдалады;

—     к санына кері 1 саны есептелінеді. . 1 саны шифрді бұзғанда «масканы шешуге» мүмкіндік береді;

—     формуласынан r саны табылады;

—     формуласынан s саны табылады;

—     m үшін қол болып r және s жұбы табылады.

3) Қолтаңба тексеру алгоритмі.

—         табылады;

—          және табылады;

—          теңдігі орындалған жағдайда ғана қолтаңба қабылданады.

Бұл қолтаңбаға мысал келтірейік. p = 2357 саны және  g = 2 – Zp тобының туынды элементі берілсін. a = 1751, y = 21751 = 1185 (mod p) болсын. Ашық кілт – (2357, 2, 1751).

Жай сан үшін деп алайық. к = 1529 деп таңдаймыз, сонда r = 1490, 1=245, s = 245*(1463-1751*1490) = 1777 (mod 2356) болады. Қолтаңба – r=1490, s=1777 болмақ.

Дұрыстығын тексереміз:  = 11851490 14901777 = 1072 (mod 2356); =21463=1072 (mod 2357). Қолтаңба қабылданды.