CFB1, CFB8 і CFB128 — гэта памер зваротнай сувязі, а не памер ключа
Лік пасля CFB — гэта крок зваротнай сувязі, а не даўжыня ключа: CFB1, CFB8 і CFB128 выкарыстоўваюць блок у 128 біт. Чытайце старыя назвы, не прыдумваючы слабых ключоў.
Назва накшталт AES-256-CFB1 змяшчае два лікі, і яны адказваюць на розныя пытанні. 256 — гэта даўжыня ключа AES. А 1 — гэта зваротная сувязь, або памер сегмента, у CFB: уласцівасць таго, як рэжым прасоўвае свой стан. Калі чытаць 1 як даўжыню ключа, назва выглядае катастрафічнай памылкай канфігурацыі, і менавіта таму пытанне ўзнікае зноў і зноў.
Вызначце, на якую з трох велічынь вы глядзіце, перш чым ацэньваць назву: памер ключа, памер блока або памер сегмента. Толькі першая з'яўляецца параметрам бяспекі ў звычайным сэнсе.
Тры лікі, тры велічыні
AES прымае ключы ў 128, 192 або 256 біт і мае блок у 128 біт, які б вы ні выбралі. Памер блока належыць AES, а не рэжыму. Суфікс CFB — гэта трэцяя велічыня: колькі даных рэжым спажывае і вяртае за кожны крок. Дакументацыя OpenSSL па AES пералічвае гэтыя памеры зруху яўна для варыянтаў CFB.
CFB1 вяртае па адным біце за раз, CFB8 — адзін байт, CFB128 — цэлы блок. Усе тры ўнутры выкарыстоўваюць адзін і той жа блочны шыфр у 128 біт; змяняецца толькі тое, колькі біт кожнага вылічанага блока выкарыстоўваецца за аперацыю. Таму суфікс змяняе кошт і паводзіны буферызацыі, а не трываласць ключа.
| Name | Key | AES block | Feedback |
|---|---|---|---|
| AES-256-CFB1 | 256 bits | 128 bits | 1 bit |
| AES-256-CFB8 | 256 bits | 128 bits | 8 bits |
| AES-256-CFB128 | 256 bits | 128 bits | 128 bits |
Чаму памер блока ніколі не змяняецца
AES — гэта блочны шыфр з фіксаваным блокам у 128 біт, а рэжымы — канструкцыі вакол яго. Ні адзін з іх не памяншае блок, каб адпавядаць памеру сегмента. Рэалізацыя CFB1 усё роўна вылічвае поўны блок AES і бярэ адзін біт выніку. Астатнія біты адкідваюцца на гэтым кроку, і менавіта тут хаваецца кошт эфектыўнасці.
Такім чынам, зваротная сувязь у адзін біт не азначае ключ у адзін біт, і назву нельга ранжыраваць па суфіксе. CFB128 не ў чатыры разы мацнейшая за CFB32; яна апрацоўвае большыя сегменты.
Што насамрэч змяняе памер сегмента
Памер сегмента змяняе, колькі шыфратэксту вяртаецца за крок і колькі адкрытага тэксту кожны крок можа перанесці. Ён таксама змяняе распаўсюджванне памылак і паводзіны буферызацыі, што важна для патокавага выкарыстання. Сегменты, арыентаваныя на байты, супадаюць з буферамі, а арыентаваныя на біты — не.
На практыцы рэжым выбірае пратакол, а не аператар. Канал даных VPN выкарыстоўвае канструкцыю, якую вызначае яго пратакол, з уласнай аховай цэласнасці, а спіс у бібліятэцы толькі паведамляе, якія назвы існуюць.
Чытанне неўдакладненай назвы CFB
Неўдакладненая назва CFB патрабуе кантэксту рэалізацыі. У загалоўках OpenSSL 1.0.2 EVP_aes_128_cfb — гэта макрос для EVP_aes_128_cfb128, з адпаведнымі псеўданімамі для ключоў у 192 і 256 біт. Гэта канвенцыя наймення API з адной галіны, а не сцвярджэнне, што кожная бібліятэка, фармат файла або GUI раскрывае абрэвіятуру гэтак жа. Праверце загаловак або дакументацыю для версіі, якая перад вамі.
Калі стары профіль кажа CFB і партнёр яго прымае, узгодненыя параметры дзесьці запісваюцца: у журнале, дампе канфігурацыі, адказе API. Чытайце іх, а не рабіце выснову пра памер сегмента з радка інтэрфейсу.
Што назва рэжыму вам не скажа
Назва апісвае паводзіны шыфравання і больш нічога. VPN па-ранейшаму патрабуе аховы цэласнасці, вывядзення ключоў і аўтэнтыфікацыі партнёра, і CFB не дае нічога з гэтага. Замена CFB8 на CFB1 таксама не касметычная: паводзіны ў сетцы адрозніваюцца, і абодва бакі павінны падтрымліваць адну канструкцыю. І назва ў бібліятэцы не даказвае, што разгорнуты шлюз прымае яе для свайго канала даных.
Для ўсяго, што суправаджаецца, выкарыстоўвайце поўную схему аховы пратаколу і палітыку аператара, і запісвайце версіі бібліятэкі і шлюза, дакладную опцыю і ўзгоднены вынік. Старая назва тлумачыць, што вы чытаеце; яна не апраўдвае адраджэнне канфігурацыі.