muzruno.com

Алгоритъмът Diffie-Hellman: целта

Очевидно много малко хора днес използват трансфер на данни

на незащитени канали за комуникация, какъв е алгоритъмът Diffie-Hellman. По принцип много хора не се нуждаят от това разбиране. Въпреки това, потребителите на компютърни системи, така да се каже, по-любопитни, да разберат това няма да навреди. По-специално, обменът на ключове чрез алгоритъма на Diffie-Hellman може да бъде полезен за потребителите, които се интересуват от информационната сигурност и криптографията.

Каква е техниката на Diffie-Hellman?

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

Алгоритъм на Diffie Hellman

Както вече е ясно, ако няма защита на самия канал, атакуващият може да прехване или да променя файлове, които са в процес на изпращане и получаване. Въпреки това алгоритъмът за разпределение на ключовете Diffie-Hellman за достъп до предаваните и получените данни е такъв, че външната намеса е почти напълно елиминирана. В същото време, комуникация за използваните комуникационен канал (без да го защитава) става сигурен, ако и двете страни използват същия ключ.

праистория

Самият алгоритъм на Diffie-Hellman беше представен на света през 1976 година. Създателите му стават Uitfrid Diffie и Мартин Хелман, който в изследването си на безопасни и надеждни методи за криптиране на данните, въз основа на работата на Ралф Меркле, които са развили така наречения публичен ключ система за дистрибуция.

diffie helman алгоритъм преглед

Но ако Меркел разработи изключително теоретична рамка, Дифи и Хелман представиха на обществеността практическо решение на този въпрос.

Най-простото обяснение

Всъщност самият тест се основава на криптографски криптиращи технологии, които дори изненадват много специалисти в тази област. Антологията на шифрите включва доста голяма история. Същността на целия процес се свежда до факта, че има двама абонати, които отговарят по електронната поща или обменят определени данни с помощта на компютърни програми. Но защитата се осъществява по такъв начин, че самият алгоритъм на Diffie-Hellman изисква ключовете за декриптиране да бъдат известни на двете страни (предаването и получаването). В този случай няма значение кой от тях генерира първоначалното произволно число (този път ще обясним, когато разглеждаме формули за изчисляване на ключове).

Методът на криптиране на данни от ранни периоди

За да бъдем по-ясни, ние отбелязваме това по най-примитивния начин криптиране на данни е например да пишете думи от ляво на дясно, както е обичайно в повечето скриптове, но от дясно на ляво. По същия начин е лесно да се използва и да се заменят буквите на азбуката в съобщението. Например, с една дума втората буква се променя на първата, четвъртата към третата и така нататък. Същият документ, когато го разглеждате, може да бъде пълен глупост. Обаче онзи, който е написал изходния текст, казва на човека, който трябва да го прочете, в кой ред е необходимо да се подредят дадени символи. Това се нарича ключът.

Diffie Hellman алгоритъм на java

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

Така че в нашия случай - алгоритъмът Diffie-Hellman предполага опцията, че ключът за декриптиране е известен на ограничен брой потребители. Вярно е, че тук отново си струва да направите резервация, тъй като намесата в прехвърлянето на криптирани данни от този тип може да бъде нарушена от трети страни, ако решат системата за заместване или замяна на символи.

От само себе си се разбира, че днес съществуват доста мощни криптосистеми, базирани на алгоритми като AES, но те не предоставят пълна гаранция за защита срещу хакерство на данни от трета страна.

Е, сега нека да се занимаваме със самата система за кодиране, нейното практическо приложение и степента на защита.

Алгоритъмът Diffie-Hellman: целта

Самият алгоритъм е създаден по такъв начин, че да гарантира не само конфиденциалността на данните, прехвърляни от едната страна към другата, но и да ги извлече безопасно при получаване. Приблизително казано, такава преносна система трябва да осигурява пълна защита във всички възможни канали за комуникация.

Алгоритъмът на Diffie Hellman на в

Спомнете си най-малко годините на Втората световна война, когато интелигентността на всички съюзнически държави неуспешно е преследвала криптираща машина, наречена "Енигма", чрез която се предават кодирани съобщения кодът на Морс. В края на краищата, никой, дори и най-много, както казваме сега, "усъвършенстван" експерт по криптографията би могъл да разкрие кода си. Едва след като улавянето му бе ключът към дешифрирането на съобщенията, предадени от германската флота.

Алгоритъмът Diffie-Hellman: преглед

Така че самият алгоритъм включва използването на няколко основни понятия. Да предположим, че имаме най-простия случай, когато има двама абонати (потребителя) на връзката. Ние ги обозначаваме като А и Б.

Те използват две числа X и Y, които не са тайни в този комуникационен канал, за управление на предаването и приемането. Цялата точка на въпроса е да генерират на тяхна база нова стойност, която ще бъде ключова. Но! Първият абонат използва голям брой първо число, а второто е задължително цяло число (разделяне без остатък), но по-малко по ред от първия.

Разбира се, потребителите са съгласни, че тези номера се пазят в тайна. Тъй като обаче комуникационният канал не е защитен, тези две номера могат да станат известни на други заинтересовани лица. Ето защо потребителите в едни и същи съобщения обменят частни ключове, за да декриптират съобщенията.

Основни формули за изчисляване на ключа

Обикновено се смята, че алгоритъмът Diffie-Hellman се отнася до система на така нареченото симетрично криптиране, на базата на което са се появили протоколи на асиметричен шифър. Ако обаче разгледаме основните аспекти на изчисляването на ключовете от получаващите страни, ще трябва да си припомним най-малко алгебра.

Така например, всеки от абонатите генерира произволни номера а и б. Те предварително знаят значенията х и ш, които дори могат да бъдат "пришити" в желания софтуер.



Когато изпраща или получава такова съобщение, абонат А изчислява ключова стойност въз основа на формулата А = хаmod y, и втората използва комбинация B = хбmod y, последвано от прехвърляне на декриптиран ключ на първия потребител. Това е първият етап.

Пример за алгоритъм на Diffie Hellman

Сега предположим, че третата заинтересована страна има на разположение изчислени стойности на А и Б. Все пак тя не може да се намесва в процеса на трансфер на данни, защото във втория етап трябва да знаете как се изчислява общият ключ.

Въз основа на горните формули можем да спрем при изчисляването на публичния ключ. Ако погледнете алгоритъма на Diffie-Hellman, примерът може да изглежда по следния начин:

1) първият абонат изчислява ключа въз основа на х по формулата Bаmod y = xабmod y;

2) вторият, като се започне от първоначалния номер ш и получена от параметъра B на мрежовия протокол, определя класа въз основа на наличния параметър А: Абmod y = x баmod y.

Както виждаме, крайните стойности, дори и когато степените се заменят, съвпадат. По този начин тълкуването на данните от двете страни е, както се казва, сведено до един знаменател.

Уязвимост при намеса в процеса на прехвърляне на данни

Както може да се предположи, намесата на трета страна не е изключена. В този случай обаче се занимаваме с първоначално зададени номера на поръчка 10100 или дори 10300.

От само себе си се разбира, че нито един от създадените днес генератори на пароли или кодовете за достъп не може да определи самия брой (освен първоначалните и крайните, а не междинните параметри за намеса в преносната система). Това ще отнеме толкова време, че животът на Земята ще свърши. Въпреки това, все още има пропуски в такава система за сигурност.

Алгоритъм на Diffie Hellman

Най-често те се свързват с познаването на дискретния логаритъм. Ако съществуват такива познания, е възможно да се пропусне алгоритъма Diffie-Hellman (но само за първоначалните и крайните параметри, както е споменато по-горе). Друго нещо е, че такива знания се притежават от звена.

Използване на алгоритъм за платформата Java

Алгоритъмът Diffie-Hellman на Java се използва изключително за повиквания като "клиент-сървър".

С други думи, сървърът чака клиентските машини да се свържат. Когато се направи такава връзка, алгоритъмът се изпълнява за търсене на публичен или частен ключ, след което потребителят може да получи безпрепятствен достъп до всички функции и данни на самия сървър. Понякога това се отнася и за мобилните системи, но много малко хора знаят за това, особено след като изпълнителната част работи в невидим режим под формата на изпълними скриптове.Алгоритъм за разпределение на ключовете на Diffie Hellman

Използвайки алгоритъма за платформата C (+ / ++)

Ако погледнете алгоритъма на Diffie-Hellman на "C" (+ / ++), то тук всичко не е толкова гладко. Факт е, че понякога има проблем, когато самият език за програмиране работи предимно с изчисления, свързани с плаваща запетая. Ето защо, когато указваме цели числа или когато се опитваме да закръглим (дори когато степенуване) може да има проблем при компилирането. Това е особено вярно за злоупотребата с функцията int.

Все пак, струва си да се обръща внимание на другите изпълними компоненти, които като правило представляват задача от класове, прикрепени към същите експонентивни или свързани с тях библиотеки.

Модерни алгоритми за криптиране

Смята се, че алгоритъмът Diffie-Hellman все още не може да бъде надминат. Всъщност той е формирал основата за възникването на такива добре познати защитни системи в областта на криптирането на данни, като AES128 и AES256.

Алгоритъмът на Diffie Hellman изисква това

Въпреки това, както показва практиката, въпреки наличието на числа, които не са абстрактно възприемани от човека, повечето системи от текущия тип използват само стойностите на десетте (не повече), въпреки че самият алгоритъм предполага числа милион пъти по-големи.

Вместо последващо слово

По принцип вероятно е вече ясно какво представлява системата и какви са нейните алгоритмични компоненти. Остава само да добавим, че е надарен с такива големи възможности, че почти никой не го използва напълно.

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

В най-простия случай е достатъчно да инсталирате един и същ изпълним Java аплета, който може да се приложи и в мобилната комуникация. Естествено, потребителят не знае за това, но всеки може да използва данните си за собствените си цели.

Споделяне в социалните мрежи:

сроден