Förstå och genomföra es: en praktisk guide med exempelberäkningar
Advanced Encryption Standard (AES) är en allmänt använda krypteringsalgoritm som säkerställer datasäkerhet. Det används i olika applikationer, från att säkra kommunikation för att skydda lagrade data. Denna artikel ger en praktisk översikt över AES, inklusive exempel beräkningar för att hjälpa till att förstå dess verksamhet.
Grunderna för AES
AES är en symmetrisk nyckel krypteringsalgoritm, vilket betyder att samma nyckel används för både kryptering och dekryptering. Det fungerar på fast storlek block av data, vanligtvis 128 bitar och stöder nyckelstorlekar på 128, 192 eller 256 bitar. Krypteringsprocessen innebär flera omgångar av substitution, permutation och blandning av data för att producera en säker chiffertext.
Krypteringsprocess
AES-krypteringsprocessen består av flera steg:
- ]SubBytes: Bytesersättning med en fördefinierad S-box.
- ]ShiftRows: Cykliskt skiftar rader av statens array.
- ]MixColumns:[] Blandar kolumnerna för att diffusa data.
- ][] kombinerar staten med en rund nyckel som härrör från huvudnyckeln.
Denna sekvens upprepas för ett antal rundor beroende på nyckelstorleken, med den sista rundan utelämnar MixColumns steg.
Exempel Beräkning
Överväg att kryptera ett enkelt 128-bitars block med en 128-bitars nyckel. Den första plaintexten representeras i hexadecimal som 00112233445566778899aabbccddeeff. Nyckeln är 0001020304050708090a0b0c0d0e0f. Det första steget innebär att lägga till den runda nyckeln till klartexten, vilket resulterar i ett nytt tillstånd. Efterföljande rundor tillämpar substitutionen, skiftningen, blandningen och viktiga tilläggssteg, omvandla data till chiffertext.
Till exempel, efter den första AddRoundKey operationen, blir staten:
Plaintext: 00112233445566778899aabbccddeeff
Rundnyckel: 0001020304050708090a0b0c0d0e0f
Resultatstat (hex): 00102030405060708090a0b0c0d0e0f
Denna process fortsätter genom alla rundor, vilket i slutändan producerar krypterad chiffertext.