Xifrat de flux contra Xifrat de blocs | Xifrat d'estat vs xifrat de bloc
En criptografia, els xifratge de flux i els xifratge de bloc són dos algorismes de xifratge/desxifrat que pertanyen a la família de xifratge de clau simètrica. Normalment, un xifrat pren un text sense format com a entrada i produeix un text xifrat com a sortida. El xifratge de blocs xifra un bloc de bits de longitud fixa mitjançant una transformació invariable. Els xifrats de flux encripten fluxos de bits amb longitud variable i utilitzen transformacions diferents a cada bit.
Què és un xifrat de flux?
Els xifratge de flux pertanyen a la família de xifratge de clau simètrica. Els xifrats de flux combinen bits de text sense format amb un flux de bits de xifratge pseudoaleatori amb l'ús de l'operació XOR (o exclusiva). Els xifrats de flux xifren els dígits de text sense format un a la vegada amb transformacions diferents per a dígits successius. Com que el xifratge de cada dígit depèn de l'estat actual del motor de xifratge, els xifratge de flux també es coneixen com a xifratge d'estat. Normalment, s'utilitzen bits/mossegades individuals com a dígits individuals. Per evitar problemes de seguretat, s'ha d'assegurar que el mateix estat inicial no s'utilitza més d'una vegada. El xifratge de flux més utilitzat és RC4.
Què és un xifrat de blocs?
Un xifratge de blocs és un altre xifratge de clau simètrica. Els xifrats de blocs funcionen amb blocs (grups de bits) amb longitud fixa. Els xifrats de bloc utilitzen una transformació fixa (invariable) per a tots els dígits del bloc. Per exemple, quan es proporciona un text sense format de bloc de x bits (juntament amb una clau secreta) com a entrada al motor de xifratge de blocs, produeix el bloc de text xifrat de x bits corresponent. La transformació real depèn de la clau secreta. De la mateixa manera, l'algoritme de desxifrat recupera el bloc de x bits original de text pla utilitzant el bloc de x bits de text xifrat i la clau secreta anterior com a entrada. En cas que el missatge d'entrada sigui massa llarg en comparació amb la mida del bloc, es dividirà en blocs i aquests blocs es xifraran (individualment) amb la mateixa clau. Tanmateix, com que s'utilitza la mateixa clau, cada seqüència repetida en el text sense format es converteix en la mateixa seqüència repetida en el text xifrat, i això podria causar problemes de seguretat. Els xifratge de blocs populars són DES (estàndard de xifrat de dades) i AES (estàndard de xifratge avançat).
Quina diferència hi ha entre un xifrat de flux i un xifrat de bloc?
Tot i que tant els xifratge de flux com els de bloc pertanyen a la família de xifratge simètric, hi ha algunes diferències clau. Els xifrats de blocs xifren blocs de bits de longitud fixa, mentre que els xifrats de flux combinen bits de text sense format amb un flux de bits de xifratge pseudoaleatori mitjançant l'operació XOR. Tot i que els xifrats de blocs fan servir la mateixa transformació, els xifrats de flux utilitzen transformacions diferents segons l'estat del motor. Els xifrats de flux normalment s'executen més ràpidament que els xifrats de blocs. Pel que fa a la complexitat del maquinari, els xifrats de flux són relativament menys complexos. Els xifrats de flux són la preferència típica sobre els xifrats de bloc quan el text sense format està disponible en quantitats variables (per exemple, una connexió wifi segura), perquè els xifrats de blocs no poden funcionar directament en blocs més curts que la mida del bloc. Però de vegades, la diferència entre xifratge de flux i xifrat de bloc no és molt clara. El motiu és que, quan s'utilitzen determinats modes d'operació, es pot utilitzar un xifrat de blocs per actuar com a xifrat de flux, permetent-li xifrar la unitat de dades més petita disponible.