Ang Advanced Encryption Standard (AES) ay isang malawakang ginagamit na encryption algorithm na nagbibigay ng katiyakan sa seguridad ng datos. ito ay ginagamit sa iba't ibang mga aplikasyon, mula sa pag-aanyayag ng komunikasyon hanggang sa pagprotekta ng nakaimbak na datos. Ang artikulong ito ay nagbibigay ng praktikal na pag-iisip ng AES, kabilang ang mga halimbawang kalkulasyon upang makatulong sa pag-unawa ng operasyon nito.

Mga Saligang Bagay ng AES

Ang AES ay isang symmetric key encryption algorithm, na nangangahulugang ang parehong key ay ginagamit para sa parehong encryption at decryption. ito ay kumikilos sa mga nakapirmeng-size na bloke ng datos, karaniwang 128 bits, at sumusuporta sa mga susing sukat na 128, 192, o 256 bits. Ang encryption proseso ay kinasasangkutan ng maramihang mga round ng substitusyon, permutasyon, at paghahalo ng datos upang makagawa ng isang sekwensiyang ciphertext.

Proseso ng Pag - iyak

Ang proseso ng encryption ng AES ay binubuo ng ilang hakbang:

  • [SubBytes: Biyet substitution gamit ang pre-profice na S-box.
  • Mga [[[T:] Mga hanay ng pagbabago sa puso ng estado.
  • Mga mixColumn: Pinaghahalo ang mga kolumna upang ikalat ang mga datos.
  • [[[T:] Pinagsasama ang estado sa isang bilog na susi na hinango mula sa pangunahing susi.

Ang pagkakasunud-sunod na ito ay umuulit para sa ilang mga round depende sa susing sukat, na ang huling bilog na hindi pag-aalsa sa mga hakbang ng MixColumn.

Halimbawang Pagkalkula

Isaalang - alang ang encrypt isang simpleng 128-bit block na may 128-bit key. Ang panimulang clext ay kinakatawan sa hexadecimal bilang 001122335667777888899aabcddeeff. Ang susi ay 000102030405060708090a0bc0. Ang unang hakbang ay ang pagdaragdag ng bilog na key sa kapatagan, na nagbubunga ng bagong rounds rounds, pag-iba-palit, pag-iba-iba ng compost, pag-iba ng susi, pag-iba ng mga hakbang, at pagpapalit ng elekweekwebloheto.

Halimbawa, pagkatapos ng unang operasyon ng AdRoundKey, ang estado ay nagiging:

Plaintext: 00112233445566778899aabcddeeff

Round key: 0001020305060708090a0b0c0d0f

Nagdudulot na estado (hex): 00102030405060708090a0b0c0d0e0f

Ang prosesong ito ay nagpapatuloy sa lahat ng bilog, anupat sa wakas ay gumagawa ng naka - encrypted ciphertext.