Galois Counter Mode (GCM) Block Cipher using AES

Version 1.0.0 (6,04 KB) von David Hill
Encrypt/Decrypt a plaintext message using AES GCM.
136 Downloads
Aktualisiert 2. Dez 2021

Lizenz anzeigen

Galois Counter Mode (GCM) Block Cipher using AES-128,192,256 based on the key length. Implimentation is based on NIST Special Publication 800-38D.
Inputs: secretKey - AES secret key, hexidecimal (128,192, or 256 bits), iv - initialization vector (random 96-bit hexidecimal), plainTextInput - plaintext message of input that needs to be encrypted, aad - additional authenticated data (plaintext string).
Outputs: outputCipher - hexidecimal encrypted Cipher, authTag - authentication tag (hexidecimal).
The initialization vection is not generated by the code and must be provided. It is extremely important that the initialization vection be different for each encryption using the same secret key (see NIST publication for explanation).
Example:
key='44a74c1a57da2bf6d6838956cdca13f1b67cc6ad87d459bff544784083868171';
iv='4392367e62ef9aa706e3e801';
plainTextInput='I like to swim!';
aad= 'additional unencrypted instructions';
[C,T]=GCM_AE(key,iv,plainTextInput,aad)
C =
'6deb6e66165c0f8d85369aa4da0c1d'
T =
'1ec4fb95081845d94bca1c4d'
[P,A]=GCM_AD(key,iv,C,aad,T)
P =
'I like to swim!'
A =
logical
1

Zitieren als

David Hill (2024). Galois Counter Mode (GCM) Block Cipher using AES (https://www.mathworks.com/matlabcentral/fileexchange/102850-galois-counter-mode-gcm-block-cipher-using-aes), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2021a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Veröffentlicht Versionshinweise
1.0.0