El Gamal algoritmi bilan tanishishdan oldin, biz bir nechta asosiy narsalarni tushunishimiz kerak.TaqqoslashlarM natural son moduli bo'yicha ikkita butun sonni taqqoslash matematik operatsiya bo'lib, tanlangan ikkita butun son m ga bo'linganda bir xil qoldiqni beradimi degan savolga javob beradi.Qoldiqning qiymatini bo'linishdan "qoldiqni olish" ikkilik operatsiyasi bilan olish mumkin, bu %%mod%%bilan belgilanadi. Sinab ko'ring:
%% \bmod{} %% %% = %%
Natijani % % \ b mod {} %%,
% % \ b mod {} % % sifatida ham olish mumkin .
Biz modul bo'yicha taqqoslanamiz deymiz :%% \%% \equiv %% (%% \b mod{} %% )Modulni taqqoslash operatsiyasi ko'plab shifrlash tizimlarining ajralmas qismidir. Modulni taqqoslashni shifrlash algoritmlari uchun juda foydali qiladigan asosiy xususiyat shundaki, operatsiya natijasi raqam haqida hech qanday ma'lumot bermaydi.
Tsiklik guruh-bu %%g% % guruhidagi elementlardan biri tomonidan yaratilgan matematik guruh. Biz el Gamal algoritmi haqida gaplashayotganimiz sababli, bizni faqat ikki turdagi guruhlar qiziqtiradi:
%%% 1% %dan %% gacha bo'lgan butun sonlar guruhi% %%%% (mod p) %%%% %% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % \mathbb{Z}_p^*%%Kichik guruhlar %% \ mathbb{Z}_p^* % % oddiy buyurtma
Shifrlash rejimida ishlash
Elis odamlar unga maxfiy xabarlarni yuborishlarini xohlaydi,shuning uchun u dunyo bilan baham ko'radigan %%(p,g, y)%% ochiq kalitni va hech kimga aytmaydigan %%x%% shaxsiy kalitini yaratadi. Bob Elisga maxfiy xabar yubormoqchi, shuning uchun u Elisning ochiq kaliti va bir martalik sessiya kaliti %%k%% dan foydalanadi, %%(u, v)%%shifrlangan matnni yaratadi.Bu qanday ishlaydi:
1.Elis asosiy %%p ni tanlaydi%%2.Bir integer %%g%% bunday %%g%% ibtidoiy ildiz %%p%%, qaysi bir tsiklik kichik guruh %%\mathbb{Z}_p^*%% maqsadida %%n%%3.%%1 \leq x \leq n-1%%kabi tasodifiy maxfiy kalitni tanlaydi.3.%%Y = g^x \p mod{p}ni hisoblaydi%%5.%%(P,g,y)%%ochiq kalitni e'lon qiladi. 1.%%(P,g,y)%%.2.% % K%%, % % 1 \leq k \leq n-1%%3.%%M%%, %%%1 \leq m \leq p-1%%. Если сообщение слишком большое, то Боб делит сообщение на части и шифрует их отдельно.4.%%,%% V = m y^k \mod{p}%%.5.%%(U,v)%%.6.%%(U,v)%%.7.%%M = u^{-x} v \p mod{p}%%.
1.Elis asosiy %%p ni tanlaydi%%2.Bir integer %%g%% bunday %%g%% ibtidoiy ildiz %%p%%, qaysi bir tsiklik kichik guruh %%\mathbb{Z}_p^*%% maqsadida %%n%%3.%%1 \leq x \leq n-1%%kabi tasodifiy maxfiy kalitni tanlaydi.3.%%Y = g^x \p mod{p}ni hisoblaydi%%5.%%(P,g,y)%%ochiq kalitni e'lon qiladi. 1.%%(P,g,y)%%.2.% % K%%, % % 1 \leq k \leq n-1%%3.%%M%%, %%%1 \leq m \leq p-1%%. Если сообщение слишком большое, то Боб делит сообщение на части и шифрует их отдельно.4.%%,%% V = m y^k \mod{p}%%.5.%%(U,v)%%.6.%%(U,v)%%.7.%%M = u^{-x} v \p mod{p}%%.