Diffi-Xelman algoritmi Bu algoritm 1976-yilda Whitfield Diffie va Martin Hellmanlar tomonidan taklif etilgan. 2002-yilda Xelman bu algoritmni yaratishda Ralf Merklning hissasi katta ekanligini va nomlash lozim bo‘lsa Diffi-Xelman-Merkl deb nomlanishi kerakligini aytgan.
Algoritmni ikkita tomon uchun ko‘rib chiqaylik. 1-tomon A, 2-tomon B bo‘lsin. Himoyalanmagan kanal orqali ma’lumotlarni almashishdan oldin quyidagilar bajariladi: n - katta tub son tanlanadi, g - natural son tanlanadi, u n dan kichik va darajalari n moduli bo‘yicha qoldig‘i takrorlanuvchi siklga tushmaydigan son bo‘lishi kerak.
A tomon: v x < n bo‘lgan katta son tanlaydi va hisoblaydi: A=gx mod n va natijani B tomonga jo‘natadi. B tomon uni qabul qilib oladi.
B tomon: v y < n bo‘lgan katta son tanlaydi va quyidagi formula bo‘yicha B=gJ mod n natijani hisoblab A tomonga jo‘natadi. A tomon uni qabul qilib oladi.
A tomon: B tomon jo‘natgan ma’lumotni o‘zining tanlagan soni x darajaga oshirib hisoblaydi va kalitni hosil qiladi: Bx mod n = g^ mod n - kalit.
B tomon: A tomon jo‘natgan ma’lumotni o‘zining tanlagan soni y darajaga oshirib hisoblaydi va kalitni hosil qiladi: Ay mod n = g m o d n - kalit.
Topilgan g m o d n qiymatdan kalit sifatida foydalaniladi. Algoritmdan tomonlar uchta va undan ko‘p bo‘lganda ham foydalanish mumkin.
Ikkita tomon uchun ko‘rib chiqaylik. 1-tomon A, 2-tomon B bo‘lsin.
Himoyalanmagan kanal orqali ma’lumotlarni almashishdan oldin quyidagilar bajariladi: v n katta tub son tanlanadi. g soni g A tomon: v x x mod n va hech kimga jo‘natmaydi.
B tomon: v y A tomon: Bx mod n = A xhisoblaydi va A x ni B tomonga jo‘natadi.
B tomon: z=y 1 mod n ni hisoblaydi.
A ^ mod n = BIz mod n = g mod n=gx mod n - ushbu almashinuvchi kalit hisoblanadi.
Ushbu algoritmdan foydalanib, tomonlar soni uchta yoki undan ko‘p bo‘lgan hollarda ham amalga oshirish mumkin.
Bu algoritmning Diffi-Xelman algoritmiga nisbatan qulaylik tomonlari maxfiylikning yanada ortishida va bajariladigan amallar sonnining kamayganida ham ko‘rish mumkin. Bundan tashqari kalitlarni almashish algoritmi tomonlar sonining qanchalik ortishi bilan kalitning maxfiylik darajasi ham shunchaga ortishi ko‘plab tizimlardagilarga ma’qul tushgan. Ushbu algoritmdan hozirda ko‘plab soha tizimlarida foydalanib kelinmoqda.