Des алгоритми за криптиране и AES
литератури. списък - 2 Наим ..
Целта на есето - да се опише как да работят DES и AES криптиращи алгоритми.
абстрактна задача - да се запознае с факта, че е имало и как да се изгради алгоритми за криптиране на DES и AES.
1 Основи (DES). 5
1.1 Encryption.
. 6
1.2 декодиране.
. 11
2 Две DES и атака "се срещат в средата." 12
3 тройни DES.
. 13
4 Rijndael алгоритъм.
. 15
Списък на използваните източници. 18
Един от най-известните криптографски системи с частния ключ е DES - Data Encryption Standard. Тази система е първият получава статут на национален стандарт в криптиране на данните. Тя е разработена от експерти на IBM и влезе в сила в САЩ през 1977 година. DES алгоритъм използва широко в съхраняване и пренос на данни между различни компютърни системи; поща системи, електронни системи, рисунки и електронния обмен на бизнес информация. DES стандарт бе реализиран софтуер и хардуер. Предприятия от различни страни, беше стартирана масово производство на цифрови устройства, които използват DES за шифроване на данни. Всички устройства са сертифицирани за съответствие със стандарта.
Въпреки факта, че за известно време, тази система не са със статут на национален стандарт, тя все още е широко използван и заслужава внимание в изследването на блокови шифри с частен ключ.
Дължината на ключа в алгоритъма DES е 56 бита. Той е този факт, свързани с големи противоречия около способността на DES да издържат на различни атаки. Както е известно, всеки блок шифър с частния ключ, може да се пукнат, сортиране чрез всички възможни комбинации от клавиши. Когато дължината на ключа 56 бита 2 56 възможни различни ключове. Ако компютърът ви минава през една секунда 1 милион клавиши (което е приблизително равно на 2 20), а след това през всички 56 клавиши 2 ще изисква 2 36секунди или малко повече от две хиляди години, което разбира се е неприемливо за нарушители.
Въпреки това, може би по-скъпо и по-бързо изчислителна система от персоналния компютър. Например, ако можем да комбинираме за паралелно изчисление милион процесори, тогава максималното време клавиш за избор се свежда до около 18 часа. Това е време, не много отдавна, и cryptanalyst, оборудвани с такива скъпи технологии, може да извърши аутопсия данни, шифровани с DES в разумен срок за себе си.
Основни параметри DES: размер на блок от 64 бита, на ключ с дължина 56 бита, броят на кръга - 16. DES е класическа мрежа Feistel (представлява определен многократно повтаряща (повтори) структура, наречена Feistel клетка В преминаване от една клетка към друга се променя ключ.) По два клона. Алгоритъмът превежда няколко кръга на 64-битов вход блок на данни в 64-битов изход единица. Алгоритъмът използва комбинация от линейни и нелинейни трансформации. Криптирана информация трябва да бъде представена в двоичен вид.
Обща DES структура е показана на Фигура 1. Метод за криптиране на всеки 64-битов блок на оригиналните данни могат да бъдат разделени в три етапа:
1. Първоначално блок данни обучение;
2. 16 кръга "основна верига";
3. Крайната единица за обработка на данни.
В първия етап на първоначалното Първообразът се извършва на 64-битова отправна блок от текст, през който битовете се преподреждат по определен начин.
Следната (главно) етап блок е разделена на две части (клонове) на всеки 32 бита. Десният клон се трансформира с помощта на функцията F и съответните частични ключовете получени от основните ключови алгоритъм за криптиране ключовете за специален реализация. На следващо място, комуникацията между лявото и дясното клоновете на блока. Това се повтаря в цикъл 16 пъти.
Фигура 1 Обща схема на DES
Накрая, в третата стъпка се извършва пермутация резултат, получен след шестнадесет стъпки основната линия. Това пермутация обратна първоначална пермутация.
Помислете за по-подробно всички стъпки на криптографска трансформация на DES стандарт.
В първия етап на 64-битов блок на изходните данни се подлага първоначална пермутация IP. В литературата, тази операция понякога се нарича "избелване" - избелване. В началните пермутация бита на информационния блок се пренареждат по определен начин. Тази операция дава някаква "случайност" оригиналното съобщение, намаляване на използването на статистически методи за криптоанализ.
Едновременно с начален блок пермутация на данните е 56-битов ключ първоначална пермутация. Фигура 1 показва, че във всеки от кръговете използват съответните 48-малко частично ключ Ki. Ключове Ki се получават чрез специфичен алгоритъм, като се използва всеки от битове на първоначалните ключови няколко пъти. Във всеки кръг на ключа за 56-битов е разделен на две 28-битови половини. След половинките са изместени лявата с един или два бита, в зависимост от броя на кръг. След срязване 48 е избран по определен начин от 56 бита. Тъй като в този случай не само на избрания подмножество от бита, но променя тяхната цел, тогава това се нарича "пермутация компресия". В този резултат, е набор от 48 бита. Като цяло, всяка частица от оригиналния ключ на 56-битов се използва в 14 от 16-те подключове, въпреки че не всички бита се използват същия брой пъти.
На следващо място, се осъществява основния цикъл на реализация. Получава се след първоначален пермутация IP 64-битов блок (T) участва в цикъла на преобразуване 16 Feistel. Във всеки кръг (фигура 2) се получава от междинно съединение 64-битова стойност, която след това се обработва в следващия кръг.
Фигура 2 Структура един кръг DES
Отляво и отдясно клонове на всеки от междинните стойности се разглеждат като отделен 32-битова стойност. IP (Т I-1) е разделен на две части, L I-1. R I-1. когато:
Първоначално разширяване на дясната страна на блок R I-1 до 48 бита от функцията за разширяване Е. Д (I-1) с помощта на таблица, която определя пермутация, както и удължаване до 16 бита. Тази операция води до дясната половина на размера, в съответствие с размера на ключа. Освен това, в резултат на тази операция се увеличава по-бързо, зависимостта от всички бита на резултата от оригиналните бита данни и ключа (това се нарича "лавина ефект"). Ефектът от лавина е по-изразена при използване на определен алгоритъм за криптиране, толкова по-добре.
След извършване на пермутация с разширяването на получената стойност на 48-битов се извършва с операция XOR е 48-битов подключ К-1. Полученият след прегрупиране единица Д (I-1) по модул 2 сума с ключ К-1.
След това, полученият 48-битова стойност е вход за заместване блок S за (от английски Замяна -. Смяна), в резултат на което е 32-битова стойност. Заместването се извършва в единици от осем замествания или осем S-кутии (S-кутии).
Д (I-1) К-1 = В1 В2 В3 В4 B5 B6 B7 B8
По време на тази операция, на 48 бита данни са разделени в осем 6-битови подблокове, всяка от които има своя подмяна таблицата се заменя с четири бита. Заместване при използване S-блокове е важна стъпка в DES. Замяна на масата за тази операция, специално разработен от експерти, за да се осигури максимална безопасност. В резултат на тази фаза се получават осем 4-битови блокове (В1 "В2" B3 "В4" В5 "В6" В7 "В8"), които са отново комбинирани в една 32-битова стойност.
На следващо място, в резултат на 32-битова стойност се обработва от пермутация P (от английски пермутация -. Пермутации), която е независима от ключа. Целта на Първообразът е максимално преподреждане бита, така че в следващия кръг Кодирай всеки бит има вероятност да се обработват от друг S-блок.
И накрая, резултатът от пермутация се комбинира с помощта на XOR операция с лявата половина на първоначалния 64-битов блок данни.
R I = L I-1 е (R I-1. К-1)
Лявата половина L и е равна на дясната половина на предходната вектор
След шестнадесет кръга криптиране изпълнен краен резултат пермутация. Това пермутация е обратна (обратна) на първоначалната пермутация.
След извършване на всички етапи от основния блок данни се счита за напълно криптиран и може да се пристъпи към следващото оригиналното съобщение криптиране модул.
1.2 Decoding
Както е известно, криптографския система трябва да позволи не само криптирани, но също така и да се разчете съобщението. Можеше да се очаква, че процесът на дешифриране на DES много объркан. Въпреки това, разработчиците се качват на различните компоненти на стандарта да се използва същия алгоритъм за криптиране и декриптиране. Когато дешифриране алгоритъм се прилага към входния ciphertext. Единствената разлика е в обратен ред на използване на частично ключ Ки. К16 се използва в първия кръг, K1 - в последния кръг.
След последния кръг на процеса на декриптиране, двете половини на изхода са обърнати така, че на входа на крайния разбъркването се състои от R16 и L16. Изходът на този етап е обикновен текст.
2 Две DES и атака "се срещат в средата"
В момента основният недостатък се счита за малка дължина DES ключ. Най-простият начин за усложняване на процеса е използването на криптоанализ двойно криптиране използвайки същия алгоритъм с различен ключ. Ако M - съобщение K1. K2 - ключ, е - процесът на криптиране DES, и Е - шифровано съобщение, тогава можем да запишем
т.е. първия блок е криптирана, с един ключ, а след това в резултат на шифър текста криптирана с втория ключ. Декодиране се извършва в обратен ред (е -1 - декриптиране на DES):
В този случай дължината на ключа е 56 * 2 = 112 бита, така че да се открие двойно ключ, който е кодирано блок, обикновено изисква 2 112 опити.
Проучване на този проблем, американски учени Меркле и Hellman измислиха начин на прав текст атака, която не се нуждае от 2112 опити и 2 57 (Меркле и Hellman предлагат тази схема срещу DES, но е възможно да се правят обобщения за всички блокови алгоритми.)
Тази атака версия, наречена "среща в средата." В атака Тя се основава на следните имоти на алгоритъма. имаме
където М - К1 съобщение. K2 - процес криптиране за DES, и Е - - ключовият, е криптирана съобщение.
Атаката е както следва. Тя изисква, че нападателят е знаел няколко чифта "обикновен текст - съответстващ ciphertext" (M, E). В този случай, първата криптирани М за всички възможни стойности на две 56 К1. Този резултат се съхранява в паметта на компютъра. Записаните данни е извършен от Н. стойност Следващата стъпка се състои при дешифриране Е, с всички възможни 2 56 стойности К2. За всеки завършен разшифроването потърси с еднаква стойност в първата таблица. Ако не се намери тази стойност, се счита, че тези ключове могат да бъдат верни, и че са проверени за следната добре познат на двойката "обикновен текст, шифър текст". Максималният брой опити за криптиране, които биха могли да имат да вземат, е равно на 2 * 2 п. или 2 N + 1 (където п - дължина на ключа във всеки един от етапите на криптиране, DES п е равно на 56).
"Срещата в средата" Името атаката е дадено поради причината, че от една страна е криптирана, а от друга - декодиране, а в средата на получените резултати се сравняват.
За атака "в средата на среща" се нуждаят от голям капацитет на паметта: 2 п блокове (където п - дължината на ключа). За DES, която използва ключ за 56-битов изисква 2 56 64-битови блокове памет. Това е 2 62 байта, или 22 февруари TB. Такава памет достатъчно силно, но да си представим, освен това, да извършват операции за търсене в широк спектър ще изисква съответното време. Въпреки това двойно DES криптиране почти никога не се използва.
Тройната DES 3
За да се противодейства "се срещат в средата" нападение е било предложено да се използва троен криптиране с два ключа (Фигура 3).
Фигура 3 тройни DES кодиране с два ключа
В този случай, последователността, кодираща-декриптиране-криптиране (EDE - от английски Encrypt -. Decrypt -Encrypt). Този процес може да бъде символично представен, както следва:
Подателят първи криптира съобщението с първия ключ, след дешифриране на втория, и в крайна сметка, най-накрая криптира първия. Получателят първи декриптира първият ключ, след което криптира и декриптира вторият над първия. Когато тази дължина на ключа е удвоил и е в размер на 112 бита.
Като по-надеждна алтернатива е да се тройна метод за криптиране, който използва три различни ключа - на всеки етап от неговото. Общата дължина на ключа в този метод се увеличава (112 + 56 = 168), но няколко стотин бита на съхранение обикновено не е проблем.
Triple DES е много популярна алтернатива на DES и се използва за управление на ключове в стандартите ANSI X9.17 и ISO 8732. Някои от криптоанализ да предложи още по-надежден криптиране DES използват пет пъти с три или пет ключове.
4 Rijndael алгоритъм
За разлика от шифъра предложен DES и ГОСТ 28147-89, базирани Rijndael не лъже Feistel мрежа. основа Rijndael на така наречените линейни пермутация трансформации. Един блок данни се обработват с помощта на Rijndael, е разделен на байтове масиви и всяка операция криптиране е един байт ориентирани. Всеки кръг се състои от три отделни обратимо трансформации наречените слоеве. Тези слоеве са както следва.
1. нелинейна слой. Този слой се извършва подмяна на байта. Слой се осъществява чрез използване, като оптимално нелинейност S-блокове и предотвратява използването на разлика, и други съвременни техники линеен криптоанализ.
2. Линеен смесване слой осигурява висока степен на проникване на блока от символи за маскиране статистически връзки. На този слой в правоъгълен масив от байтове се извършва и промяна пермутация на реда колони масива.
3. Слой допълнение модул 2 с подключ директно изпълнява кодиране.
Cipher започва и завършва с ключовата добавянето. Това позволява да се затвори входа на първия кръг, когато атакува известния текст и да направи криптографски важен резултат от последния кръг.
алгоритъм широко използвани изчисленията таблицата, всички необходими таблици са посочени постоянство, т.е. не зависят от ключа или на данните.
Трябва да се отбележи, че за разлика криптиране, изградена въз основа на мрежа Feistel, Rijndael криптиране и декриптиране функции са различни.
Rijndael алгоритъм представя добре както в областта на софтуера и в хардуера. Rijndael има малък изисквания за памет, което го прави подходящ за системи с ограничени ресурси. Надеждност Rijndael алгоритъм за криптиране се оценява високо от експерти.
В заключение искам да кажа, че DES е вече остаряла, тя също така може да се използва дори и в малки и средни приложения за шифроване на данни, които имат малка стойност.
Основни параметри DES: един размер на блока от 64 бита, дължината на ключа е 56 бита, броят на кръга - 16.
В момента с дължина на ключа 56 бита се счита алгоритъм, който не е устойчив на напукване.
Тъй като DES - САЩ федерален стандарт, той по принцип не се използва в софтуерни продукти, предназначени за износ; и ако се използва, дължината на ключа не може да надвишава 56 бита.
AES - алтернатива на DES. Към днешна дата, които не се виждат нарушения на този алгоритъм. Той се използва в Wi-Fi.
Характеризиращ AES размер блок 128 бита, дължината на ключа 128, 192 или 256 бита и броят на кръга 10, 12 или 14 в зависимост от дължината на ключа.
Списък на използваните източници