Hvordan fungerer AES?

Grundlæggende betjening

AES kan beskrives som en iterativ og symmetrisk krypteret blok. AES bruger en loop-struktur til gentagne gange at omordne data eller permutationer. Sløjfen erstatter en enhed data med en anden for inputdata. Krypteringsrutinen bruger den samme nøgle til at kryptere og dekryptere dataene og anvende denne nøgle på datablokke med fast længde.

Nøgelprogram

AES-krypteringsrutinen gemmer den primære krypteringsnøgle i en matrix. En matrix er en gruppe af objekter med de samme attributter, der kan adresseres individuelt. Matrixen består af fire rækker, der hver indeholder fire, seks eller otte byte, afhængigt af nøglens størrelse. Bag kulisserne bruger krypteringsrutinen denne matrix til at generere en tabel, kendt som et nøgelprogram, der indeholder flere taster. Disse taster kaldes runde taster for at skelne dem fra den originale hovednøgle.

Tilstandsmatrix

AES bruger en krypteringsnøgle, der kan være 128, 192 eller 256 bit lang, og anvendes i dataenheder, kaldet blokke, som hver er 128 bit lange. AES-algoritmen begynder med at kopiere hver 16-bit-blok til en to-dimensionel matrix kaldet staten for at skabe en 4x4-byte-array. Algoritmen udfører en eksklusiv "O" -operation, der returnerer "sand", hvis en eller anden af ​​dens operander er sand. Dette kaldes "AddRoundKey" og er blandt de første fire rækker i nøgelprogrammet og statsmatrixen.

Matematiske operationer

Efter den eksklusive indledende operation "O" går AES-krypteringsalgoritmen ind i sin hovedsløjfe, hvor den gentagne gange udfører fire forskellige matematiske operationer i tilstandsmatrixen: "SubBytes", "ShiftRows", "MixColumns" og "AddRoundKey" . Disse operationer bruger en kombination af tilføjelse, multiplikation, rotation og substitution for at kryptere hver byte i statsmatrixen. Hovedsløjfen udføres 10, 12 eller 14 gange afhængigt af størrelsen på krypteringsnøglen. Når udførelsen er afsluttet, kopierer algoritmen statusmatrixen til dens output i form af krypteret tekst.

Interessante Artikler