Дифи-Хелман

Протоколът Дифи-Хелман (на английски: Diffie-Hellman) е асиметричен алгоритъм за криптиране.

Патентът му важи от 1976 г. до 1997 г.

Позволява договарянето на сесиен ключ без изпращането му по несигурната връзка. Двете договарящи се страни избират 2 случайни прости числа, след което обменят ограничен обем от информация, така че всяка страна да може да изчисли общия ключ, без това да е възможно за трета, злонамерена страна. Ако обмяната на информация се подслушва тогава договорения общ ключ е компрометиран.

Дифи-Хелман
Илюстрация на идеята зад протокола Дифи-Хелман

Пример: Да кажем, че двете страни, които ще си кореспондират са Алис и Боб

  1. Алис и Боб се уговарят да използват като модул числото p = 23 за делене с остатък и числото g = 5 за основа (което е примитивен корен на модула 23).
  2. След това Алис избира едно целочислено число a = 6 и изпраща на Боб ключа A = ga mod p
    • A = 56 mod 23 = 8
  3. Боб също избира целочислено число b = 15 и изпраща на Алис ключа B = gb mod p
    • B = 515 mod 23 = 19
  4. Алис изчислява общият ключ s = Ba mod p
    • s = 196 mod 23 = 2
  5. Боб изчислява общият ключ s = Ab mod p
    • s = 815 mod 23 = 2

Така и двамата получиха един и същ общ ключ (т.е. числото 2).

Както Alice така и Bob достигнаха до една и съща стойност s, тъй като използваха един и същи модул mod p,

И по-специално,

Обърнете внимание, че a, b, и (gab mod p = gba mod p) се пазят в тайна. Всички други стойности – p, g, ga mod p, и gb mod p – се изпращат в открит вид. Щом веднъж Алис и Боб изчислят общият таен ключ те могат да го използват като криптиращ ключ, който е известен само на тях двамата и могат да си изпращат един на друг съобщения по един и същ открит комуникационен канал.

Разбира се, колкото са по-големи стойностите на числата a, b, и p толкова по сигурна ще бъде комуникацията между тях, така, че ще е необходимо да се направи този пример по-сигурен, тъй като в него има само 23 възможни резултата за n mod 23. Все пак, ако p е цяло просто число на най-малко 600 бита или цифри, тогава дори най-модерните бързи компютри не могат да намерят a като им са зададени само g, p и ga mod p. Този проблем се нарича проблем на дискретните логаритми. Изчисляването на ga mod p е известно като модулно експонентиране - modular exponentiation и може да бъде направено ефективно дори за големи числа.

Обърнете внимание, че g изобщо не е необходимо да бъде голямо число, а в практиката обикновено е малко цяло число (като например 2, 3, 0x10001, ...).

Графика на тайните

Графиката по-долу показва кой какво знае, отново с не-секретните стойности за blue и секретните стойнисти за red. Тук Ева (Eve) е подслушващата—тя гледа и слуша какво се изпраща между Алис и Боб, но тя не променя съдържанието на комуникацията между тях.

  • g = публична база (просто число), известно на Алис, Боб и Ева. g = 5
  • p = публичен модул (просто число), известен на Алис, Боб и Ева. p = 23
  • a = Частният ключ на Алис (Alice's private key), известен само на Алис. a = 6
  • b = Частният ключ на Боб (Bob's private key) известен само на Боб. b = 15
  • A = Публичният ключ на Алис (Alice's public key), известен на Алис, Боб и Ева. A = ga mod p = 8
  • B = Публичният ключ на Боб (Bob's public key), известен на Алис, Боб и Ева. B = gb mod p = 19
Алис
Известни Неизвестни
p = 23
g = 5
a = 6 b
A = 5a mod 23
A = 56 mod 23 = 8
B = 19
s = Ba mod 23
s = 196 mod 23 = 2
s = 2
Боб
Известни Неизвестни
p = 23
g = 5
b = 15 a
B = 5b mod 23
B = 515 mod 23 = 19
A = 8
s = Ab mod 23
s = 815 mod 23 = 2
s = 2
Ева
Известни Незвестни
p = 23
g = 5
a, b
A = 8, B = 19
s = 19a mod 23 = 8b mod 23
s

Сега s е общо споделеният таен ключ и той е известен както на Алис така и на Боб, но не и на Ева.

Забележка: За Алис ще е трудно да реши кой е частният ключ на Боб или за Боб да намери кой е частният ключ на Алис. Ако не е трудно за Алис да намери частният ключ на Боб (или обратно), Ева просто може да подмени техните със своята двойка на частен/публичен ключ, като включи публичният ключ на Боб в своя частен ключ, като по този начин получи фалшив споделен таен ключ, и да намери частният ключ на Боб (и да го използва за да намери споделеният таен ключ). Ева може да се опита да избере двойка публичен / частен ключ която ще направи лесно откриването на частния ключ на Боб.)

Друга демонстрация на Дифи-Хелман (Diffie-Hellman) (също използва твърде малки числа с цел практическо използване) е показано тук Архив на оригинала от 2011-08-12 в Wayback Machine..

Източници

Външни препратки

Дифи-Хелман  Дифи-Хелман  Тази страница частично или изцяло представлява превод на страницата Diffie–Hellman key exchange в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​

Tags:

АлгоритъмАнглийски езикКриптиранеПатент

🔥 Trending searches on Wiki Български:

Обединено кралство Великобритания и Северна ИрландияХристо СмирненскиМексикоБахмутНаселение на светаНорвегияЛиъм НийсънЛионел МесиИвайло ДжамбазовФотосинтезаДимитър Ковачев – ФънкиЧарли ЧаплинБългарски революционен централен комитетСладък животСоня ЙончеваТадж МахалЛиберализъмВоенновъздушни сили на БългарияБохемска рапсодия (филм)Спас ДелевБорис IIКърджалиДвигател с вътрешно горенеБългарска комунистическа партияДара ЕкимоваПовиквателен знакЕндокринологияЦелочислени типове данниЮдаизъмВоенни звания в Българската армияЛорис АзароОбявяване на независимостта на БългарияНасекомиСократФилипиниЛуций Салвий ОтонТонка ОбретеноваЕгипетски боговеТаросПетър Берон (просветител)Червена книга на Република БългарияАзбучна молитваРамазанБелоградчишки скалиГерб на БългарияКосовоАрНестинарствоЛейди ГагаЧътниEquinox (група)Население на БългарияГугъл преводачБалканска войнаЧехияДжъстин ТимбърлейкДревен РимТодор ЖивковКонтинентЗемяПламен ГълъбовКафява мечкаЕкваториални гориСребърна (резерват)МеждуметиеКостадин Костадинов (политик)Национален отбор по футбол на БългарияГубернаторУзбекистанСъюз (част на речта)ОктоподиГЕРБГерманияГолямото плюсканеВиктор АнгеловВалери ЖабляновИван Кръстев (политолог)ЛиванДунав мост🡆 More