{k}ShifrLabAxborotlarni himoyalash usullari
0/0

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.

  1. A tomon: katta x < n tanlaydi va K = gˣ mod n ni hisoblaydi — bu kelajakdagi kalit, uni hech kimga yubormaydi.
  2. B tomon: katta y tanlaydi, Y = gʸ mod n ni A ga yuboradi.
  3. A tomon: X = Yˣ mod n ni hisoblab, B ga yuboradi.
  4. B tomon: z = y⁻¹ mod (n−1) ni hisoblaydi.
  5. 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.