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

Садржај обрисан Садржај додат
м Cyrlat: 4 repl;
мНема описа измене
Ред 5:
DES представља криптирање које трансофмише 64 битне блокове података у 64 битне криптиране блокове података. Дужина кључа криптирања је 64 бита, од којих 8 отпада на проверу паритета, тако да је ефективна дужина кључа 56 бита.
 
DES криптирање/декриптирање се спроводи у неколико корака, како је то приказано на слици . Прво се битови улазног блока дужине 64 бита пермутирају неком [[пермутација|пермутацијом]] IP. Тада се улазни блок подиели на два дела по 32 [[бит]]а, леви <math>L_0</math> и десни deoдео <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 следећих корака: сваки се блок ротира у лево за одређени број бита (у зависности о којем је кораку реч) те се из насталих блокова (2x28) помоћу таблицом задате пермутације генерше кључ <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>.
Преузето из „https://sr.wikipedia.org/wiki/DES