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.
Cheklangan tsiklik guruhlar va kichik guruhlar
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}%%.