La seguretat dels xifratges de blocs es basa fonamentalment en l'aplicació iterativa de les operacions de confusió i difusió. Aquest concepte va ser formalitzat per primera vegada per Claude Shannon en el seu treball seminal sobre la teoria de la comunicació dels sistemes de secret, on va articular la necessitat tant de confusió com de difusió en sistemes criptogràfics per frustrar els atacs estadístics i estructurals. Comprendre per què es requereixen múltiples rondes d'aquestes operacions i com s'interrelacionen és fonamental per apreciar el disseny i la seguretat dels xifratges de blocs moderns com ara l'Estàndard de xifratge de dades (DES) i l'Estàndard avançat de xifratge (AES).
Confusió i difusió: definicions i rols
La confusió busca fer que la relació entre el text xifrat i la clau sigui el més complexa possible. Ho fa emmascarant l'estructura estadística del text clar, sovint mitjançant l'ús de substitucions no lineals (per exemple, caixes S en DES i AES). Com més no lineal i complex sigui aquest mapatge, més difícil serà per a un atacant deduir informació sobre la clau, fins i tot tenint accés a molts parells text clar-text xifrat.
La difusió, en canvi, pretén estendre la influència de cada bit de text clar a través de molts bits de text xifrat, de manera que un canvi en un sol bit d'entrada provoca canvis en molts bits de sortida. Aquesta propietat garanteix que les propietats estadístiques del text clar es dissipin a través del text xifrat, fent que sigui inviable que els atacants explotin patrons mitjançant l'anàlisi de freqüència o tècniques similars. La difusió s'aconsegueix normalment mitjançant operacions de barreja lineal, com ara permutacions, XOR bit a bit o multiplicacions de matrius (com en l'operació MixColumns d'AES).
Estructura dels xifratges de blocs iteratius
La majoria dels xifratges de blocs estan estructurats com a xifratges iterats, és a dir, apliquen una funció d'arrodoniment simple diverses vegades per aconseguir un alt nivell de seguretat. La funció d'arrodoniment normalment combina tant la confusió (per exemple, mitjançant aplicacions de caixa S) com la difusió (per exemple, mitjançant passos de permutació o barreja). La raó per la qual s'utilitzen múltiples rondes és que una sola aplicació de confusió i difusió és insuficient per ocultar totes les relacions estructurals entre text clar, text xifrat i clau. Cada ronda augmenta incrementalment la complexitat d'aquestes relacions, i només després de diverses rondes el xifratge aconsegueix el nivell de seguretat desitjat contra els atacs criptoanalítics coneguts.
Per exemple, considerant el xifratge AES, cada ronda de xifratge consta dels passos clau següents:
1. Subbytes (Confusió): Cada byte de la matriu d'estats es reemplaça per un altre segons una caixa S no lineal fixa, introduint no linealitat.
2. ShiftRows (Difusió): Les files de la matriu d'estat es desplacen cíclicament, movent bytes a diferents columnes i facilitant la barreja de valors.
3. MixColumns (Difusió): Les columnes de l'estat es barregen mitjançant la multiplicació de matrius en un camp finit, cosa que distribueix encara més la influència de cada byte d'entrada.
4. AddRoundKey (Confusió): La matriu d'estats es combina amb una subclau derivada de la clau principal, introduint dependència de clau a cada ronda.
L'efectivitat del xifratge no només depèn de la força de cada operació individual, sinó també del nombre de vegades que s'apliquen aquestes operacions. Els criptoanalistes han demostrat que reduir el nombre de rondes en un xifratge com ara AES o DES pot fer-lo vulnerable a atacs com la criptoanàlisi diferencial i lineal. Per exemple, mentre que l'AES-128 complet utilitza 10 rondes, les versions amb només 6 rondes són susceptibles a certes tècniques criptoanalítiques.
Necessitat de múltiples rondes
Per aclarir-ho encara més, considereu què passa si només s'aplica una única ronda de confusió i difusió. Fins i tot si s'utilitzen caixes S fortes i capes de barreja, les relacions i els patrons estadístics poden persistir. Els atacants podrien explotar aquests patrons residuals mitjançant atacs de text clar escollit o de text clar conegut. Múltiples rondes garanteixen que la influència de cada clau i bit de text clar es distribueixi completament per tot el text xifrat, cosa que fa inviable muntar aquests atacs.
El concepte de "l'efecte allau" és central aquí. Un xifratge fort garanteix que un petit canvi en el text clar (com ara invertir un sol bit) resulta en un canvi en aproximadament la meitat dels bits del text xifrat, i aquesta propietat només s'aconsegueix després de diverses rondes de confusió i difusió. L'estructura iterativa dels xifratges de blocs moderns està dissenyada específicament per amplificar aquest efecte, fent que el xifratge sigui resistent als atacs que es basen en el rastreig de les relacions entrada-sortida.
Exemples: DES i AES
El xifratge DES històric il·lustra bé aquest principi. DES utilitza 16 rondes a la seva estructura de xarxa Feistel, i cada ronda consisteix en expansió, substitució de caixa S (confusió) i permutació (difusió). Una criptoanàlisi exhaustiva ha demostrat que utilitzar menys de 16 rondes condueix a debilitats; la criptoanàlisi diferencial és efectiva contra versions amb menys rondes. Els dissenyadors van triar 16 rondes per proporcionar un marge de seguretat contra els avenços en criptoanàlisi, subratllant la importància de les iteracions múltiples.
L'AES, dissenyat dècades més tard, aplica 10, 12 o 14 rondes segons la mida de la clau (128, 192 o 256 bits, respectivament). Cada ronda incorpora els efectes combinats de confusió i difusió a través dels seus passos SubBytes, ShiftRows i MixColumns. El nombre de rondes es va triar acuradament en funció de les troballes criptoanalítiques per equilibrar la seguretat i el rendiment.
Modes de funcionament i la seva relació
Mentre que la seguretat interna dels xifratges de blocs està determinada per la confusió i la difusió repetides, el mode d'operació (per exemple, ECB, CBC, CFB, OFB, CTR) especifica com s'apliquen els xifratges de blocs a dades més grans que un sol bloc. Les propietats de seguretat d'un xifratge de blocs en un mode determinat depenen fonamentalment de la resistència del xifratge de blocs als atacs, que, al seu torn, és funció de la profunditat amb què s'aconsegueix la confusió i la difusió en múltiples rondes. Si el xifratge de blocs subjacent és feble (per exemple, amb massa poques rondes), cap mode d'operació pot compensar aquesta deficiència.
Atacs i rondes criptoanalítiques
Diversos atacs criptoanalítics exploten la confusió i la difusió insuficients en els xifratges de blocs. La criptoanàlisi diferencial, per exemple, estudia com les diferències en els textos clars afecten les diferències de text xifrat resultants. Si el xifratge no ha difós adequadament les diferències d'entrada, un atacant pot predir com es propaguen aquestes diferències i utilitzar aquest coneixement per recuperar la clau. De la mateixa manera, la criptoanàlisi lineal busca aproximacions lineals entre text clar, text xifrat i bits de clau. L'efectivitat d'aquests atacs disminueix a mesura que augmenta el nombre de rondes, sempre que cada ronda implementi eficaçment la confusió i la difusió.
Per il·lustrar, el DES amb 8 rondes (la meitat del nombre estàndard) és susceptible a la criptoanàlisi diferencial, però amb 16 rondes, la probabilitat de propagar un rastre diferencial útil a través de totes les rondes esdevé insignificant. Això demostra que l'estructura iterativa, i específicament el nombre de rondes, és fonamental per aconseguir una seguretat pràctica.
Compromisos de disseny
Els dissenyadors de xifratges han d'equilibrar el nombre de rondes amb els requisits de rendiment. Més rondes generalment signifiquen més seguretat, però també més cost computacional. El nombre de rondes normalment es tria per proporcionar un marge de seguretat per sobre dels atacs més coneguts en el moment del disseny, amb l'expectativa que els futurs avenços en criptoanàlisi puguin erosionar aquest marge. Aquest enfocament conservador garanteix que el xifratge es mantingui segur durant la seva vida útil prevista.
Justificació matemàtica
Des d'un punt de vista teòric, els dissenys de xifratge per blocs iterats es poden veure a través de la lent del model de "xifratge de producte iterat". Sota certes suposicions, s'ha demostrat que la composició de múltiples xifratges febles (cadascun implementant confusió i/o difusió febles) pot produir un xifratge global fort, sempre que els components siguin prou independents i el nombre de rondes sigui gran. Això justifica l'enfocament iteratiu de la confusió i la difusió en el disseny pràctic de xifratges.
Exemples pràctics
Un exemple instructiu és l'estructura de xarxa de substitució-permutació (SPN), utilitzada per AES. En una SPN, el text clar se sotmet a capes alternes de substitució (confusió) i permutació (difusió). Després de diverses rondes, cada bit de sortida depèn de cada bit d'entrada d'una manera altament no lineal. Aquesta propietat no s'aconsegueix amb una sola ronda; és l'efecte acumulatiu de múltiples rondes el que garanteix que cada bit del text xifrat sigui una funció complexa de cada bit del text clar i la clau, una propietat coneguda com a difusió completa.
La xarxa Feistel, tal com s'utilitza en DES, aconsegueix una seguretat similar aplicant iterativament una funció d'arrodoniment que combina la substitució i la permutació, amb la sortida de cada ronda alimentant la següent. La seguretat d'aquestes construccions augmenta exponencialment amb el nombre de rondes, assumint que la funció d'arrodoniment en si mateixa no és trivialment invertible o lineal.
Conclusió: Dependència de la seguretat en la iteració
La força dels xifratges de blocs està íntimament lligada a l'aplicació repetida d'operacions de confusió i difusió. Els xifratges moderns estan dissenyats amb un nombre suficient de rondes per garantir que s'eliminin qualsevol relació estadística residual del text clar o la clau, i que cada bit del text xifrat estigui influenciat per cada bit del text clar i la clau. Aquest procés iteratiu no és només un detall d'implementació, sinó un principi fonamental de la seguretat del xifratge. El nombre de rondes es tria en funció d'una criptoanàlisi extensa per proporcionar un marge de seguretat i es reavalua periòdicament a mesura que sorgeixen nous atacs. En tots els aspectes pràctics i teòrics, la seguretat dels xifratges de blocs depèn, de fet, de combinar les operacions de confusió i difusió moltes vegades.
Altres preguntes i respostes recents sobre Aplicacions dels xifrats de blocs:
- Què hauria d'incloure un xifratge per blocs segons Shannon?
- La difusió vol dir que els bits individuals de text xifrat estan influenciats per molts bits de text clar?
- El mode ECB divideix el text senzill d'entrada gran en blocs posteriors?
- Podem utilitzar un xifrat de blocs per crear una funció hash o MAC?
- Es pot utilitzar el mode OFB com a generadors de claus?
- Pot ser una encriptació determinista?
- Quins són els modes de funcionament?
- Què fa el mode ECB als xifrats de blocs simples
- Es pot fer PSRNG mitjançant xifratge de blocs?
- Es pot construir un MAC mitjançant xifratge de blocs?
Veure més preguntes i respostes a Aplicacions de xifratge de blocs

