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

Садржај обрисан Садржај додат
м Бот: уклоњен шаблон: Link GA
Нема описа измене
Ред 30:
-{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>.
 
== Сигурност и криптоанализа ==
Преузето из „https://sr.wikipedia.org/wiki/DES