DES
Зьвесткі зь Вікіпэдыі — вольнай энцыкляпэдыі.
![]() |
Гэты артыкул патрабуе ўдакладненьня артаграфіі. Вы можаце дапамагчы Вікіпэдыі, адрэдагаваўшы яго. (дапамога) |
![]() |
Гэты артыкул не адпавядае стандартам Вікі-фарматаваньня. Вы можаце дапамагчы Вікіпэдыі, адрэдагаваўшы яго. (дапамога) |
DES (скарачэньне ад ангельскага Data Encryption Standard) — сіметрычны алгарытм шыфраваньня, у якім адзін ключ выкарыстоўваецца як для зашыфравываньня, так і для разшыфраваньня вядомасьцей. Таксама вядомы як алгарытм шыфраваньня даных DEA (ангел. Data Encryption Algorithm). Разпрацаваны фірмай IBM і зацьверджаны ўрадам ЗША у 1977 гаду як афіцыйный стандарт. DES уключае блёки па 64 біт і 16-цыклавую структуру сяці Фейстэля, для шыфраваньня выкарыстуе ключ у 56 біт. Алгарытм выкарыстуе камбініраваньне S-box і P-box. Існуе некалькі ражымаў DES, напрыклад Electronic Code Book (ECB) і Cipher Block Chaining (CBC).
[рэдагаваць] Гісторыя
У 1972, пасьля правядзеньня дасьледаваньня запатрабаваньня ўраду ЗША у кампутарнай бясьпецы, амэрыканскае НБС (Нацыянальнае Бюро Стандартаў) — цяпер пераіменавана НІСТ (Нацыянальны Інстытут Стандартаў і Тэхналёгій) — вызначыла неабходнасьць у агульнаурадавым стандарце шыфраваньня некрытчнай інфармацыі. 15 траўня 1973, пасьля кансультацыі з КНБ (Кіраваньнем нацыянальнай бясьпекі), НБС абвясьціла конкурс на шыфр, які задавальняе строгім крытэрам праекта, але ні адзін канкурсант не забясьпечываў выкананьня ўсіх патрабаваньняў. Другі конкурс быў пачаты 27 жніўня 1974. На гэты раз, шыфр прадстаўлены IBM і развіты на працягу перыяду 1973—1974 злічылі прымальным, ён быў заснаваны на больш раннім алгарытме Хорста Фейстеля.
17 сакавіка 1975 прапанаваны алгарытм DES быў выдадзены ў Федэральным Рэгістры. У наступным годзе было праведзена 2 адчыненых сімпозіўма па абмеркаваньні гэтага стандарту, дзе падвергнуліся цьвёрдай крытыцы зьмены занесеныя ў алгарытм КНБ: памяншэнне першапачатковае даўжыні ключа і таямнічыя S-перастановы. КНБ падазравалася ў сьвядомым паслабленьні алгарытму з мэтаю, каб КНБ магло лёгка праглядаць зашыфраваныя паведамленьні. Пасля чаго сенатам ЗША была праведзеная праверка дзеяньняў КНБ, вынікам якой стала заява, апублікаваная ў 1978, у якой гаварылася аб тым, што ў працэсе распрацоўкі DES КНБ упэўніла IBM, што паменшанае даўжыні ключа больш за досыць для ўсіх камерцыйных прыкладаньняў, выкарыстоўваючых DES, ускосна дапамагала ў распрацоўцы S-перастановаў, а таксама, што канчатковы алгарытм DES быў лепшым, па іх меркаваньню, алгарытмам шыфраваньня і быў пазбаўлены статыстычнае або матэматычнае слабасьці. Таксама было выяўлена, што КНБ ніколі не ўмешвалася ў распрацоўку гэтага алгарытму.
Частка падазронаў ва ўтоенай слабасьці S-перастановаў была зьнятая ў 1990, калі былі апублікаваныя вынікі незалежных даследаваньняў Элі Бьяма (Eli Biham) і Ады Шаміра (Adi Shamir) па дыферэнцыяльным крыптааналізе — асноўнаму метаду ўзлому блёкавых алгарытмаў шыфраваньня з сіметрычным ключом. S-перастановы алгарытму DES апынуліся нашмат больш устойлівымі да атак чым, калі бы іх вылучылі выпадкова. Гэта азначае, што IBM была вядомая такая тэхніка аналізу яшчэ ў 70-х гадах XX стагодьдзі.
[рэдагаваць] Кароткае апісаньне
- уваход — 64-бітавы блёк.
- пачатковая перастаноўка.
- блёк падзяляецца на левую і правую палову па 32 біты кожная.
- 16 кругоў ідэнтычных аперацый апісаных функцыяй f, падчас якіх дадзеныя правай паловы мяшаюцца з ужываньнем ключа.
- падчас кожнага круга біты ключа перамяшчаюцца, а наступны 48 бітовы падключ выбіраецца з 56 бітовага ключа.
- правая частка дадзеных пашыраецца да 48 бітаў пры дапамозе перастаноўкі пашыраючай і падлягае аперацыі XOR з 48 бітамі падключа.
- вынік перасылаецца да 8 S-боксаў, які прадукуюць новыя 32 біты.
- атрыманыя 32 біты перастаўляюцца ў P-боксе
- вынік тых 4 аперацый выкананых функцыяй f падлягае аперацыі XOR з левай паловай і атрымліваецца новая правая палова.
- старая правая палова становіцца новай левай паловай, і так 16 разы.
- перастаноўка канчаткова
- крыптаграм
Калі Li i Ri гэта левая і правая палова для і-тага круга, Ki — падключ для гэтага круга, то для гэтага круга маем:
Li = Ri−1 Ri = Li−1 ⊕ f(Ri−1,Ki)
- дэшыфраваньне DES-эм ляжыць на правядзеньні тых самых аперацый, як і для шыфраваньня толькі падключы выступаюць у зваротнай черзе
Ri−1 = Li Li−1 = Ri ⊕ f(Ri−1,Ki) = Ri ⊕ f(Li,Ki) ведае Li, Ri і Ki можам палічыць Li−1 i Ri−1.