DES
Опште | |
---|---|
Пројектант(и) | IBM |
Датум објаве | 1977. (стандардизован у јануару 1979.) |
Изведен од | Lucifer |
Наследници | Троструки DES, G-DES, DES-X, LOKI89, ICE |
Детаљи шифре | |
Величина кључа | 56 бита |
Величина блока | 64 бита |
Структура | Фејстелова мрежа |
Рунде | 16 |
Најбоља јавна криптоанализа | |
DES се сада сматра несигурним због могућег бруталног напада. Од 2008, најбољи аналитички напад је линеарна криптоанализа који захтева 243 позната отворена текста и има време сложености од 239–43. |
DES (енгл. Data Encryption Standard) алгоритам је највише коришћен алгоритам за криптовање на свету. Дуго година, DES је међу људима био синоним за сигурно шифровање. Упркос напору Electronic Frontier фондације у прављењу машине за разбијање DES-шифрованих порука, вредне 250.000 америчких долара.
Историјат
[уреди | уреди извор]Дана 15. маја 1973. год. америчка национална управа за стандарде (енгл. NBS - National Bureau of Standards) издала је обавештење у којем траже пропозиције за криптографске алгоритме ради заштите података током преноса и складиштења. NBS је чекао на реакцију, и она је стигла 6. августа 1974, три дана пре Никсонове оставке, када је IBM поднео свог кандидата под именом LUCIFER. После процењивања алгоритма, уз помоћ америчке владине установе задужене за сигурност (NSA), NBS је усвојио модификацију LUCIFER алгоритма јула 1977. и назвао га DES. Најозбиљнија примедба се односила на величину кључа (128 за LUCIFER, 56 бита за DES). DES је брзо прихваћен у недигиталним медијима, као у јавним телефонским линијама. Нпр. међународна удружења која су се бавила патентима за мирисе и парфеме су слала своје важне формуле, криптоване DES-ом, преко телефона. У међувремену, банкарска индустрија, која ја највећи корисник енкрипције изван владе, је прихватила DES као стандард за њихове трансакције 1980. од ANSI X3.92. 1998. године, под водјством Џон Гилмор, EFF тим је потрошио 250.000 долара да направи машину која би провалила цео DES кључ у просеку за око 4,5 дана. 17. јула 1998, објавили су да су одредили 56-битни кључ за 56 сати. Та машина је названа Deep Crack, и садржала је 27 плоча са по 64 чипа, и била способна да тестира 90 билиона кључева у секунди.
Опис
[уреди | уреди извор]DES представља криптовање које трансофмише 64 битне блокове података у 64 битне криптоване блокове података. Дужина кључа криптовања је 64 бита, од којих 8 отпада на проверу паритета, тако да је ефективна дужина кључа 56 бита.
DES криптовање и декриптовање се спроводи у неколико корака, како је то приказано на слици. Прво се битови улазног блока дужине 64 бита пермутују неком иницијализованом пермутацијом - IP. Тада се улазни блок подели на два дела по 32 бита, леви и десни део . Над десним блоком се обавља функција , односно код декриптовања, где је десних 32 бита, а је 48 битни кључ који се генерише из заданог тајног кључа криптовања. Вредност добијена операцијом XOR између вредности функције и левих 32 бита података, постаје , тј. десних 32 бита за следећи корак итерације. за следећи корак је . Након 16 таквик корака блокови се замењују те се спајају и обавља се коначна пермутација која је инверзна почетној пермутацији, тј. . Добијених 64 бита су криптовани блокови. Будући да се након две узастопне операције XOR са истим бројем добија почетна вредност, тј. а = (аĹ b)Ĺ b, поступак декриптовања може се спровести тако да се операције обављају обрнутим редоседом. Због симетричности алгоритма то се постиже тако да се криптовани блок пусти кроз исти алгоритам са том разликом да се уместо кључа у и-том кораку употреби кључ .
Поступак генерисања шестнаест 48 битних кључева од заданог, тајног кључа спроводи се у неколико корака. Прво се помоћу задане таблице пермутације из кључа генеришу два блока по 28 бита. Затим следи 16 следећих корака: сваки се блок ротира улево за одређени број бита (у зависности о којем је кораку реч) те се из насталих блокова (2 × 28) помоћу таблицом задате пермутације генерише кључ , где је i број корака. Функција енкрипције јесте заправо најкритичнији део алгоритма, тј. управо због њене комплексности не постоји (барем колико је за сада познато) начин проваљивања DES-а (осим грубом рачунарском силом). Вредност функције добија се у неколико корака. Најпре се од улазних 32 бита () проширењем заданом таблицом добија 48 бита. Та се вредност сабира логичком операцијом XOR са кључем паралелно над сваким битом. Добијена се 48 битна вредност дели на осам делова од по шест бита. Први и задњи бит сваког дела представља адресу реда, а средња четири адресу колоне у таблици селекције, односно, помоћу шест одређена су четири бита. Истим поступком над сваком шесторком од улазних 48 бита селекцијом добијамо 32 бита. Тих се 32 бита још пермутује задатом таблицом те се добија коначна вредност функције .
Сигурност и криптоанализа
[уреди | уреди извор]DES алгоритам се данас не може сматрати сигурним алгоритмом, и због релативно мале дужине кључа као и због низа других недостатака који су омогућили криптоаналитичарима широм света да објаве низ алгоритама за разбијање овог алгоритма. Најпознатији напади на овај алгоритам су:
- Brute force attack - овим нападо се испробавају сви могући кључеви, и уз помоћ ове технике напада DES алгоритам је разбијен 1998. године уз помоћ Deep Crack рачунара, за шта је било неопходно свега 56 сати
- Диференцијална анализа - откривена касне 1980. од стране Елија Бихама и Адија Шамира, али је била позната и раније од стране IBM-a и NSA-a, али је била чувана у тајности.
- Линеарна криптоанализа
- Унапређени Дејвисов напад
Замене за DES
[уреди | уреди извор]Данас се DES све мање користи пре свега због мале дужине кључа од 56 бита и све бржим рачунарима и бољим алгоритмима за разбијање DES-а. Тако данас уместо овог алгоритма све више се користе AES (енгл. Advanced Encryption Standard) алгоритам. За овај стандард прихваћен је алгоритам RIJNDAEL, који су креирали белгијски математичари Џон Демен и Винсент Римен. Овај алгоритам је напреднији у односу на DES алгоритам јер може користити променљиву дужину кључа (128, 192 или 256 бита) као и променљиву дужину блока (128, 192 или 256 бита) независно од дужине кључа. Остале предности овог алгоритма су симетрична и паралелна структура, као и погодност за реализацију модерним процесорима, специјализованим хардвером или у паметним картицама (које карактерише мала меморија). Врло је важно је напоменути да се код овог алгоритма је појава слабих кључева немогућа пошто алгоритми шифровања и дешифровања користе различите компоненте. Такође AES је отпоран на линеарну и диференцијалну криптоанализу, као и на друге публиковане нападе на блок шифре.
Новији блок шифарски алгоритми који се данас најчешће користе:
- AES
- Triple DES - овај алгоритам је у ствари унапређени DES
Спољашње везе
[уреди | уреди извор]- http://www.racunarskemreze.com/Knjiga?Module=BookOnline__Reader&Chapter=199 Архивирано на сајту Wayback Machine (20. март 2014)