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