Hughes kalit almashish algoritmi
Diffi–Xellmanning varianti, unda A tomon kalitni muloqot boshlanishidan oldin o'zi tanlab qo'yadi, so'ng uni B ga xavfsiz «yetkazadi». Bu kalitni oldindan tayyorlab, shifrlashni darhol boshlash imkonini beradi.
Algoritm
Oldindan: katta tub son n va g < n tanlanadi.
- A tomon: katta x < n tanlaydi va K = gˣ mod n ni hisoblaydi — bu kelajakdagi kalit, uni hech kimga yubormaydi.
- B tomon: katta y tanlaydi, Y = gʸ mod n ni A ga yuboradi.
- A tomon: X = Yˣ mod n ni hisoblab, B ga yuboradi.
- B tomon: z = y⁻¹ mod (n−1) ni hisoblaydi.
- B tomon: K = Xᶻ mod n = gxyz = gˣ mod n — A tanlagan kalit!
ℹ Kitobdagi formula haqida
Kitobda z = y⁻¹ mod n deb yozilgan. Fermaning kichik teoremasiga ko'ra daraja ko'rsatkichlari mod (n−1) bo'yicha ishlaydi, shuning uchun to'g'risi z = y⁻¹ mod (n−1); buning uchun y va n−1 o'zaro tub bo'lishi kerak. Laboratoriya to'g'ri formuladan foydalanadi.
💡 Diffi–Xellmandan afzalligi
A kalitni oldindan bilgani uchun xabarni B javob berguncha shifrlab qo'yishi mumkin. Kitobda ta'kidlanganidek, algoritm uch va undan ortiq tomon uchun ham qo'llanadi.