AES(Advanced Encryption Standard) - это широко используемая крипто-спецификация, составленная NIST. В AES существуют 2 метода, ECB и CBC.
Ниже приводится объяснение для шифрования/дешифрования данных с ECB.
Эта команда предназначена для инициализации крипто-двигателя AES в PHPoC. Таким образом, данная команда должна быть выполнена до шифрования/дешифрования. Команда возвращает контекст, который использовался для шифрования/дешшифрования.
Параметр | Описание |
---|---|
enc/dec | enc - encryption dec - decryption |
$ecb_key | the 128/192/256 bits key to be used encryption and decryption |
Шифрование AES и дешифрование осуществляется с помощью этой команды в соответствии с командой инициализации. Команда возвращает данные, которые были зашифрованы или расшифрованы.
Параметр | Описание |
---|---|
$aes | the context when the crypto engine was initialized |
$text | plain text to be encrypted or cipher text to be decrypted |
Ниже приводится объяснение для шифрования/дешифрования данных CBC.
Данная команда предназначена для инициализации крипто-двигателя AES в PHPoC. Таким образом, команда должна быть выполнена до шифрования/дешифрования. Команда возвращает контекст, который использовался для шифрования/дешифрования.
Параметр | Описание |
---|---|
$enc/dec | enc - encryption / dec - decryption |
$cbc_key | the 128/192/256 bits key to be used in encryption and decryption |
$iv | 128 bits initialization vector |
Шифрование AES и дешифрование выполняется в соответствии с командой инициализации. Команда возвращает данные, которые были зашифрованы или расшифрованы.
Параметр | Описание |
---|---|
$aes | the context when the crypto engine was initialized |
$text | plain text to be encrypted or cipher text to be decrypted |
Ниже приводится пример AES шифрования и дешифрования на основе CBC.
// encryption
$aes = system("aes init cbc enc %1 %2", $cbc_key, $cbc_iv);
$out = system("aes crypt %1 %2", $aes, $cbc_pt16);
// decryption
$aes = system("aes init cbc dec %1 %2", $cbc_key, $cbc_iv);
$out = system("aes crypt %1 %2", $aes, $cbc_ct16);