2025-01-16
Blocks van vaste lengte van gegevens (zowel 128, 192 of 256 bits) worden getransformeerd als een reeks substituties, permutaties en mengoperaties worden toegepast om de gegevens te versleutelen en te decoderen.AES-encryptie gebruikt een symmetrische sleutel., wordt dezelfde gebruikt voor encryptie en decryptie.
Het proces verloopt in verschillende fasen:
1Sleutel uitbreidingDe initiële sleutel wordt uitgebreid tot 44, 52 of 60 32-bits woorden voor 128, 192 en 256-bits sleutels.De sleutel uitbreiding proces omvat het genereren van extra ronde sleutels van de oorspronkelijke sleutel.
2Eerste ronde.Het input- of plaintextblok wordt gemengd met de eerste ronde sleutel voordat de hoofdrondes van AES-versleuteling worden gevolgd.
3Elke ronde AES-codering bestaat uit vier transformaties.:
SubbytesElke byte in het blok wordt vervangen door de bijbehorende byte in een vooraf gedefinieerd vervangingsvak dat is ontworpen om bekende cryptografische aanvallen te weerstaan.
ShiftRows. Bytes in elke blokrij worden cyclisch naar links verschoven, met verschillende verschuivingen voor verschillende rijen.Deze stap zorgt ervoor dat elke kolom van de output staat van de ShiftRows-operatie is samengesteld uit bytes afkomstig van elke kolom van de input staat.
MixColumnsElke kolom wordt getransformeerd met behulp van een matrixvermenigvuldigingsoperatie, die diffusie biedt en de beveiliging van AES verbetert.
AddRoundKeyHet resulterende blok wordt gecombineerd met de ronde sleutel afgeleid van het sleutelschema.
4- Afsluiting.Na alle hoofdrondes wordt een laatste ronde uitgevoerd, inclusief alle stappen behalve MixColumns.
5. Output. De resulterende bits zijn de versleutelde tekst die overeenkomt met het ingevulde plaintextblok.
De decryptie wordt uitgevoerd met de omgekeerde bewerkingen in tegengestelde volgorde.
Rechtstreeks uw onderzoek naar verzend ons