DES — разлика између измена

Садржај обрисан Садржај додат
м Робот: en:Data Encryption Standard је био сјајан чланак
Ред 23:
 
==Историјат==
Дана [[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 [[бит]]а, леви <math>L_0</math> и десни део <math>R_0</math>. Над десним блоком се обавља функција <math>F(R_i, K_i)</math>, односно <math>F(R_i, K_{16-i+1})</math> код декриптовања, где је <math>R_i</math> десних 32 бита, а <math>K_i</math> је 48 [[Бит (рачунарство)|бит]]ни кључ који се генерише из заданог тајног кључа криптовања. Вредност добијена операцијом XOR између вредности функције <math>F</math> и левих 32 бита података, постаје <math>R_{i+1}</math>, тј. десних 32 бита за следећи корак итерације. <math>L_{i+1}</math> за следећи корак је <math>R_i</math>. Након 16 таквик корака блокови се замењују те се спајају и обавља се коначна пермутација која је инверзна почетној пермутацији, тј. <math>IP^{-1}</math>. Добијених 64 бита су криптовани блокови. Будући да се након две узастопне операције -{[[XOR]]}- са истим бројем добија почетна вредност, тј. -{а = (аĹ b)Ĺ b}-, поступак декриптовања може се спровести тако да се операције обављају обрнутим редоседом. Због симетричности алгоритма то се постиже тако да се криптовани блок пусти кроз исти алгоритам са том разликом да се уместо кључа <math>K_i</math> у и-том кораку употреби кључ <math>K_{16-i+1}</math>.
 
Поступак генерисања шестнаест 48 [[Бит (рачунарство)|бит]]них кључева од заданог, тајног кључа спроводи се у неколико корака. Прво се помоћу задане таблице пермутације из кључа генеришу два блока по 28 бита. Затим следи 16 следећих корака: сваки се блок ротира у лево за одређени број бита (у зависности о којем је кораку реч) те се из насталих блокова (2 × 28) помоћу таблицом задате пермутације генерише кључ <math>K_i</math>, где је ''-{i}-'' број корака. Функција енкрипције <math>F</math> јесте заправо најкритичнији део алгоритма, тј. управо због њене комплексности не постоји (барем колико је за сада познато) начин проваљивања -{DES}--а (осим грубом рачунарском силом). Вредност функције добија се у неколико корака. Најпре се од улазних 32 бита (<math>R_i</math>) проширењем заданом таблицом добија 48 бита. Та се вредност збраја логичком операцијом [[XOR]] са кључем <math>K_i</math> паралелно над сваким битом. Добијена се 48 битна вредност дели на осам делова од по шест бита. Први и задњи бит сваког дела представља адресу реда, а средња четири адресу колоне у таблици селекције, односно, помоћу шест одређена су четири бита. Истим поступком над сваком шесторком од улазних 48 бита селекцијом добијамо 32 бита. Тих се 32 бита још пермутује задатом таблицом те се добија коначна вредност функције <math>F</math>.
 
==Сигурност и криптоанализа==
Ред 44:
 
==Замене за -{DES}-==
Данас се -{DES}- све мање користи пре свега због мале дужине кључа од 56 бита и све бржим рачунарима и бољим алгоритмима за разбијање -{DES}--а. Тако данас уместо овог алгоритма све више се користе -{[[AES (криптографија)|AES]]}- ({{јез-енг|Advanced Encryption Standard}}) [[алгоритам]]. За овај стандард прихваћен је [[алгоритам]] -{[[RIJNDAEL]]}-, који су креирали белгијски математичари Џон Демен и Винсент Римен. Овај алгоритам је напреднији у односу на -{DES}- алгоритам јер може користити променљиву дужину кључа (128, 192 или 256 бита) као и променљиву дужину блока (128, 192 или 256 [[Бит (рачунарство)|бит]]а) независно од дужине кључа. Остале предности овог алгоритма су симетрична и паралелна структура, као и погодност за реализацију модерним [[процесор]]има, специјализованим хардвером или у паметним картицама (које карактерише мала [[меморија]]). Врло је важно је напоменути да се код овог алгоритма је појава слабих кључева немогућа пошто алгоритми [[шифровање|шифровања]] и [[дешифровање|дешифровања]] користе различите компоненте. Такође -{[[AES (криптографија)|AES]]}- је отпоран на линеарну и диференцијалну криптоанализу, као и на друге публиковане нападе на блок [[шифра|шифре]].
 
Новији блок шифарски алгоритми који се данас најчешће користе:
Преузето из „https://sr.wikipedia.org/wiki/DES