Алгоритъмът Diffie-Hellman: целта
Очевидно много малко хора днес използват трансфер на данни
съдържание
- Каква е техниката на diffie-hellman?
- праистория
- Най-простото обяснение
- Методът на криптиране на данни от ранни периоди
- Алгоритъмът diffie-hellman: целта
- Алгоритъмът diffie-hellman: преглед
- Основни формули за изчисляване на ключа
- Уязвимост при намеса в процеса на прехвърляне на данни
- Използване на алгоритъм за платформата java
- Използвайки алгоритъма за платформата c (+ / ++)
- Модерни алгоритми за криптиране
- Вместо последващо слово
Каква е техниката на Diffie-Hellman?
Ако се подходи към въпроса за самия алгоритъм, но без да навлиза в технически и математически подробности, можем да го определи като метод за криптиране и декриптиране на информацията, предадена и получена между две или повече потребители на компютър или други системи, свързани с обмена на данни с използването на комуникационен канал незащитена.
Както вече е ясно, ако няма защита на самия канал, атакуващият може да прехване или да променя файлове, които са в процес на изпращане и получаване. Въпреки това алгоритъмът за разпределение на ключовете Diffie-Hellman за достъп до предаваните и получените данни е такъв, че външната намеса е почти напълно елиминирана. В същото време, комуникация за използваните комуникационен канал (без да го защитава) става сигурен, ако и двете страни използват същия ключ.
праистория
Самият алгоритъм на Diffie-Hellman беше представен на света през 1976 година. Създателите му стават Uitfrid Diffie и Мартин Хелман, който в изследването си на безопасни и надеждни методи за криптиране на данните, въз основа на работата на Ралф Меркле, които са развили така наречения публичен ключ система за дистрибуция.
Но ако Меркел разработи изключително теоретична рамка, Дифи и Хелман представиха на обществеността практическо решение на този въпрос.
Най-простото обяснение
Всъщност самият тест се основава на криптографски криптиращи технологии, които дори изненадват много специалисти в тази област. Антологията на шифрите включва доста голяма история. Същността на целия процес се свежда до факта, че има двама абонати, които отговарят по електронната поща или обменят определени данни с помощта на компютърни програми. Но защитата се осъществява по такъв начин, че самият алгоритъм на Diffie-Hellman изисква ключовете за декриптиране да бъдат известни на двете страни (предаването и получаването). В този случай няма значение кой от тях генерира първоначалното произволно число (този път ще обясним, когато разглеждаме формули за изчисляване на ключове).
Методът на криптиране на данни от ранни периоди
За да бъдем по-ясни, ние отбелязваме това по най-примитивния начин криптиране на данни е например да пишете думи от ляво на дясно, както е обичайно в повечето скриптове, но от дясно на ляво. По същия начин е лесно да се използва и да се заменят буквите на азбуката в съобщението. Например, с една дума втората буква се променя на първата, четвъртата към третата и така нататък. Същият документ, когато го разглеждате, може да бъде пълен глупост. Обаче онзи, който е написал изходния текст, казва на човека, който трябва да го прочете, в кой ред е необходимо да се подредят дадени символи. Това се нарича ключът.
Имайте предвид, че голяма част от все още недешифрирани текстове и клиновиден писанията на древните шумери и египтяни не са разбрани крипто-анализатори само заради факта, че те не знаят как да се създаде желаната последователност от знаци.
Така че в нашия случай - алгоритъмът Diffie-Hellman предполага опцията, че ключът за декриптиране е известен на ограничен брой потребители. Вярно е, че тук отново си струва да направите резервация, тъй като намесата в прехвърлянето на криптирани данни от този тип може да бъде нарушена от трети страни, ако решат системата за заместване или замяна на символи.
От само себе си се разбира, че днес съществуват доста мощни криптосистеми, базирани на алгоритми като AES, но те не предоставят пълна гаранция за защита срещу хакерство на данни от трета страна.
Е, сега нека да се занимаваме със самата система за кодиране, нейното практическо приложение и степента на защита.
Алгоритъмът Diffie-Hellman: целта
Самият алгоритъм е създаден по такъв начин, че да гарантира не само конфиденциалността на данните, прехвърляни от едната страна към другата, но и да ги извлече безопасно при получаване. Приблизително казано, такава преносна система трябва да осигурява пълна защита във всички възможни канали за комуникация.
Спомнете си най-малко годините на Втората световна война, когато интелигентността на всички съюзнически държави неуспешно е преследвала криптираща машина, наречена "Енигма", чрез която се предават кодирани съобщения кодът на Морс. В края на краищата, никой, дори и най-много, както казваме сега, "усъвършенстван" експерт по криптографията би могъл да разкрие кода си. Едва след като улавянето му бе ключът към дешифрирането на съобщенията, предадени от германската флота.
Алгоритъмът Diffie-Hellman: преглед
Така че самият алгоритъм включва използването на няколко основни понятия. Да предположим, че имаме най-простия случай, когато има двама абонати (потребителя) на връзката. Ние ги обозначаваме като А и Б.
Те използват две числа X и Y, които не са тайни в този комуникационен канал, за управление на предаването и приемането. Цялата точка на въпроса е да генерират на тяхна база нова стойност, която ще бъде ключова. Но! Първият абонат използва голям брой първо число, а второто е задължително цяло число (разделяне без остатък), но по-малко по ред от първия.
Разбира се, потребителите са съгласни, че тези номера се пазят в тайна. Тъй като обаче комуникационният канал не е защитен, тези две номера могат да станат известни на други заинтересовани лица. Ето защо потребителите в едни и същи съобщения обменят частни ключове, за да декриптират съобщенията.
Основни формули за изчисляване на ключа
Обикновено се смята, че алгоритъмът Diffie-Hellman се отнася до система на така нареченото симетрично криптиране, на базата на което са се появили протоколи на асиметричен шифър. Ако обаче разгледаме основните аспекти на изчисляването на ключовете от получаващите страни, ще трябва да си припомним най-малко алгебра.
Така например, всеки от абонатите генерира произволни номера а и б. Те предварително знаят значенията х и ш, които дори могат да бъдат "пришити" в желания софтуер.
Когато изпраща или получава такова съобщение, абонат А изчислява ключова стойност въз основа на формулата А = хаmod y, и втората използва комбинация B = хбmod y, последвано от прехвърляне на декриптиран ключ на първия потребител. Това е първият етап.
Сега предположим, че третата заинтересована страна има на разположение изчислени стойности на А и Б. Все пак тя не може да се намесва в процеса на трансфер на данни, защото във втория етап трябва да знаете как се изчислява общият ключ.
Въз основа на горните формули можем да спрем при изчисляването на публичния ключ. Ако погледнете алгоритъма на Diffie-Hellman, примерът може да изглежда по следния начин:
1) първият абонат изчислява ключа въз основа на х по формулата Bаmod y = xабmod y;
2) вторият, като се започне от първоначалния номер ш и получена от параметъра B на мрежовия протокол, определя класа въз основа на наличния параметър А: Абmod y = x баmod y.
Както виждаме, крайните стойности, дори и когато степените се заменят, съвпадат. По този начин тълкуването на данните от двете страни е, както се казва, сведено до един знаменател.
Уязвимост при намеса в процеса на прехвърляне на данни
Както може да се предположи, намесата на трета страна не е изключена. В този случай обаче се занимаваме с първоначално зададени номера на поръчка 10100 или дори 10300.
От само себе си се разбира, че нито един от създадените днес генератори на пароли или кодовете за достъп не може да определи самия брой (освен първоначалните и крайните, а не междинните параметри за намеса в преносната система). Това ще отнеме толкова време, че животът на Земята ще свърши. Въпреки това, все още има пропуски в такава система за сигурност.
Най-често те се свързват с познаването на дискретния логаритъм. Ако съществуват такива познания, е възможно да се пропусне алгоритъма Diffie-Hellman (но само за първоначалните и крайните параметри, както е споменато по-горе). Друго нещо е, че такива знания се притежават от звена.
Използване на алгоритъм за платформата Java
Алгоритъмът Diffie-Hellman на Java се използва изключително за повиквания като "клиент-сървър".
С други думи, сървърът чака клиентските машини да се свържат. Когато се направи такава връзка, алгоритъмът се изпълнява за търсене на публичен или частен ключ, след което потребителят може да получи безпрепятствен достъп до всички функции и данни на самия сървър. Понякога това се отнася и за мобилните системи, но много малко хора знаят за това, особено след като изпълнителната част работи в невидим режим под формата на изпълними скриптове.
Използвайки алгоритъма за платформата C (+ / ++)
Ако погледнете алгоритъма на Diffie-Hellman на "C" (+ / ++), то тук всичко не е толкова гладко. Факт е, че понякога има проблем, когато самият език за програмиране работи предимно с изчисления, свързани с плаваща запетая. Ето защо, когато указваме цели числа или когато се опитваме да закръглим (дори когато степенуване) може да има проблем при компилирането. Това е особено вярно за злоупотребата с функцията int.
Все пак, струва си да се обръща внимание на другите изпълними компоненти, които като правило представляват задача от класове, прикрепени към същите експонентивни или свързани с тях библиотеки.
Модерни алгоритми за криптиране
Смята се, че алгоритъмът Diffie-Hellman все още не може да бъде надминат. Всъщност той е формирал основата за възникването на такива добре познати защитни системи в областта на криптирането на данни, като AES128 и AES256.
Въпреки това, както показва практиката, въпреки наличието на числа, които не са абстрактно възприемани от човека, повечето системи от текущия тип използват само стойностите на десетте (не повече), въпреки че самият алгоритъм предполага числа милион пъти по-големи.
Вместо последващо слово
По принцип вероятно е вече ясно какво представлява системата и какви са нейните алгоритмични компоненти. Остава само да добавим, че е надарен с такива големи възможности, че почти никой не го използва напълно.
От друга страна, както и уязвимостта в алгоритъма достатъчно ясно. Преценете сами: в действителност, се напише програма за изчисляване на дискретни логаритми, почти всеки от своя създател да получите достъп не само до първоначалните параметри, определени от потребителя, но също така и на публичния ключ, който се генерира в системата за криптиране и декриптиране.
В най-простия случай е достатъчно да инсталирате един и същ изпълним Java аплета, който може да се приложи и в мобилната комуникация. Естествено, потребителят не знае за това, но всеки може да използва данните си за собствените си цели.
- Дешифриране на хеш: най-простите методи
- Какво е FTPS: принципът на работа и разликите от конвенционалните FTP
- Как да конфигурирам и използвам порта SSH? Инструкция стъпка по стъпка
- FTPS порт - какво е това?
- CJS е какво? Средства за криптографска защита на информацията
- Keigen - какво е това? Ключов генератор
- Алгоритми за криптиране на данни. Симетрични алгоритми за криптиране. Алгоритъм за криптиране на…
- RSA криптиране. Описание и изпълнение на алгоритъма RSA
- Криптографията - какво е това? Основи на криптографията
- AES: криптиране на данни
- Многоканални телекомуникационни системи: особености на специалност
- Криптографски методи за защита на информацията: концепция, характеристики, ключови позиции
- Криптиране от край до край: описание и приложение
- Схемата за предаване на информация чрез различни технически канали
- Теория на информацията
- Защитата на информацията в Интернет - важно ли е?
- Методи за защита на информацията
- Шифроване на файлове
- Какво представлява компромис в криптографията?
- Криптиране на данните като необходима мярка за защита на вашите данни
- Информационна сигурност на автоматизираните системи: видове заплахи и методи за превенция