CFB1 teenoor CFB8 teenoor CFB128: dit is terugvoergrootte, nie sleutelgrootte nie
Die getal ná CFB is 'n terugvoerstap, nie 'n sleutellengte nie: CFB1, CFB8 en CFB128 gebruik 'n blok van 128 bis. Lees ou name sonder om swak sleutels te bedink.
'n Naam soos AES-256-CFB1 dra twee getalle, en hulle beantwoord verskillende vrae. Die 256 is die AES-sleutellengte. Die 1 is die CFB-terugvoer, of segmentgrootte, 'n eienskap van hoe die modus sy toestand vorder. Lees 'n mens die 1 as 'n sleutellengte, lyk die naam na 'n katastrofale wanopstelling, en daarom duik die vraag telkens weer op.
Bepaal na watter van drie hoeveelhede jy kyk voordat jy die naam beoordeel: sleutelgrootte, blokgrootte of segmentgrootte. Net die eerste is 'n sekuriteitsparameter in die gewone sin.
Drie getalle, drie hoeveelhede
AES aanvaar sleutels van 128, 192 of 256 bis en het 'n blok van 128 bis, maak nie saak wat jy kies nie. Die blokgrootte hoort by AES, nie by die modus nie. Die CFB-agtervoegsel is die derde hoeveelheid: hoeveel data die modus per stap verbruik en terugvoer. Die OpenSSL AES-dokumentasie lys daardie skuifgroottes uitdruklik vir die CFB-variante.
CFB1 voer een bis op 'n slag terug, CFB8 een greep, CFB128 'n volle blok. Al drie gebruik intern dieselfde blokkeersyfer van 128 bis; wat verander, is hoeveel bisse van elke berekende blok per bewerking gebruik word. Daarom verskuif die agtervoegsel koste en bufferingsgedrag eerder as sleutelsterkte.
| 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 |
Waarom die blokgrootte nooit verander nie
AES is 'n blokkeersyfer met 'n vaste blok van 128 bis, en modusse is konstruksies rondom dit. Nie een van hulle krimp die blok om by die segmentgrootte te pas nie. 'n CFB1-implementering bereken steeds 'n volle AES-blok en neem een bis van die resultaat. Die ander bisse word vir daardie stap weggegooi, en dit is presies waar die doeltreffendheidskoste sit.
Dus impliseer 'n terugvoer van een bis nie 'n sleutel van een bis nie, en 'n naam kan nie volgens sy agtervoegsel gerangskik word nie. CFB128 is nie vier keer sterker as CFB32 nie; dit verwerk groter segmente.
Wat die segmentgrootte werklik verander
Segmentgrootte verander hoeveel syferteks per stap teruggevoer word en hoeveel gewone teks elke stap kan dra. Dit verander ook foutvoortplanting en bufferingsgedrag, wat saak maak vir stroomagtige gebruik. Grepgerigte segmente pas by buffers, bisgerigte nie.
In die praktyk kies die protokol die modus, nie die operateur nie. 'n VPN-datakanaal gebruik die konstruksie wat sy protokol voorskryf, met sy eie integriteitsbeskerming, en 'n biblioteeklys sê net watter name bestaan.
Om 'n ongekwalifiseerde CFB-etiket te lees
'n Ongekwalifiseerde CFB-etiket het sy implementeringskonteks nodig. In die OpenSSL 1.0.2-koptekste is EVP_aes_128_cfb 'n makro vir EVP_aes_128_cfb128, met passende aliasse vir sleutels van 192 en 256 bis. Dit is 'n API-naamkonvensie uit een tak, nie 'n bewering dat elke biblioteek, lêerformaat of GUI die afkorting dieselfde uitbrei nie. Kyk na die kopteks of dokumentasie van die weergawe voor jou.
As 'n ou profiel CFB sê en die eweknie aanvaar dit, word die bedingde parameters iewers aangeteken: in 'n log, 'n konfigurasie-uitskrif, 'n API-antwoord. Lees dit eerder as om die segmentgrootte uit 'n verto-string af te lei.
Wat 'n modusnaam jou nie vertel nie
Die naam beskryf enkripsiegedrag en niks anders nie. 'n VPN het steeds integriteitsbeskerming, sleutelafleiding en eweknie-verifikasie nodig, en CFB lewer nie een daarvan nie. Om CFB8 vir CFB1 te ruil is ook nie 'n kosmetiese verandering nie: die gedrag oor die draad verskil en beide partye moet dieselfde konstruksie ondersteun. 'n Naam in 'n biblioteek bewys ook nie dat die ontplooide poort dit vir sy datakanaal aanvaar nie.
Vir enigiets wat onderhou word, gebruik die protokol se volledige beskermingsreëling en die operateur se beleid, en teken biblioteek- en poortweergawes, die presiese opsie en die bedingde resultaat aan. Die ou naam verduidelik wat jy lees; dit regverdig nie die herlewing van die konfigurasie nie.