CFB1 mot CFB8 mot CFB128: det er tilbakemeldingsstørrelsen, ikke nøkkelstørrelsen
Tallet etter CFB er et tilbakemeldingssteg, ikke en nøkkellengde: CFB1, CFB8 og CFB128 bruker en 128-bits blokk. Les gamle navn uten å finne opp svake nøkler.
Et navn som AES-256-CFB1 bærer to tall, og de svarer på ulike spørsmål. 256 er AES-nøkkellengden. 1 er CFB-tilbakemeldingen, altså segmentstørrelsen, en egenskap ved hvordan modusen flytter tilstanden sin. Leser man 1 som en nøkkellengde, ser navnet ut som en katastrofal feilkonfigurasjon, og derfor kommer spørsmålet stadig tilbake.
Avgjør hvilken av tre størrelser du ser på før du vurderer navnet: nøkkelstørrelse, blokkstørrelse eller segmentstørrelse. Bare den første er en sikkerhetsparameter i vanlig forstand.
Tre tall, tre størrelser
AES godtar 128, 192 eller 256-bits nøkler og har en 128-bits blokk uansett hva du velger. Blokkstørrelsen tilhører AES, ikke modusen. CFB-suffikset er den tredje størrelsen: hvor mye data modusen bruker og fører tilbake per steg. OpenSSL AES-dokumentasjon lister disse skiftstørrelsene eksplisitt for CFB-variantene.
CFB1 fører tilbake én bit om gangen, CFB8 én byte, CFB128 en hel blokk. Alle tre bruker den samme 128-bits blokkchifferen internt; det som endres, er hvor mange biter av hver beregnede blokk som brukes per operasjon. Derfor flytter suffikset kostnad og bufferatferd, ikke nøkkelstyrke.
| 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 |
Hvorfor blokkstørrelsen aldri endres
AES er en blokkchiffer med en fast 128-bits blokk, og moduser er konstruksjoner bygget rundt den. Ingen av dem krymper blokken for å matche segmentstørrelsen. En CFB1-implementasjon beregner fortsatt en full AES-blokk og tar én bit av resultatet. De andre bitene forkastes for det steget, og det er nettopp der effektivitetskostnaden ligger.
Så en tilbakemelding på én bit innebærer ikke en nøkkel på én bit, og et navn kan ikke rangeres etter suffikset. CFB128 er ikke fire ganger sterkere enn CFB32; den behandler større segmenter.
Hva segmentstørrelsen faktisk endrer
Segmentstørrelsen endrer hvor mye chiffrettekst som føres tilbake per steg, og hvor mye klartekst hvert steg kan bære. Den endrer også feilforplantning og bufferatferd, noe som betyr noe for strømlignende bruk. Bytekorienterte segmenter passer med buffere, bitorienterte gjør det ikke.
I praksis velger protokollen modusen, ikke operatøren. En VPN-datakanal bruker konstruksjonen protokollen foreskriver, med sin egen integritetsbeskyttelse, og en bibliotekliste forteller bare hvilke navn som finnes.
Å lese en ukvalifisert CFB-etikett
En ukvalifisert CFB-etikett trenger implementeringskonteksten sin. I OpenSSL 1.0.2-headerne er EVP_aes_128_cfb en makro for EVP_aes_128_cfb128, med samsvarende aliaser for 192 og 256-bits nøkler. Det er en API-navnekonvensjon fra én gren, ikke en påstand om at hvert bibliotek, filformat eller GUI utvider forkortelsen på samme måte. Sjekk headeren eller dokumentasjonen for versjonen foran deg.
Hvis en eldre profil sier CFB og motparten godtar det, registreres de forhandlede parameterne et sted: i en logg, en konfigurasjonsdump, et API-svar. Les dem i stedet for å utlede segmentstørrelsen fra en visningsstreng.
Hva et modusnavn ikke forteller deg
Navnet beskriver krypteringsatferd og ingenting annet. En VPN trenger fortsatt integritetsbeskyttelse, nøkkelutledning og motpartsautentisering, og CFB leverer ingen av dem. Å bytte CFB8 mot CFB1 er heller ikke en kosmetisk endring: atferden på tråden er forskjellig, og begge parter må støtte den samme konstruksjonen. Et navn i et bibliotek beviser heller ikke at den utrullede gatewayen godtar det for datakanalen sin.
For alt som vedlikeholdes, bruk protokollens fullstendige beskyttelsesoppsett og operatørens policy, og registrer bibliotek- og gatewayversjoner, det nøyaktige alternativet og det forhandlede resultatet. Det gamle navnet forklarer hva du leser; det rettferdiggjør ikke å gjenopplive konfigurasjonen.