DES(Data Encryption Standard) - это алгоритм для симметричного шифрования. Тройной DES дает более высокий уровень безопасности данных, поскольку выполняет операцию DES 3 раза. В DES существуют методы ECB и CBC.
Ниже приведен алгоритм шифрования/дешифрования данных ECB.
Данная команда предназначена для инициализации крипто-двигателя DES в PHPoC. Таким образом, эта команда должна быть выполенена до операции шифрования/дешифрования. Эта команда возвращает контекст, который использовался для шифрования/дешифрования.
Параметр | Описание |
---|---|
ecb/ede3_ecb | ecb - DES ECB ede3_ecb - 3DES ECB |
enc/dec | enc - encryption dec - decryption |
$ecb_key | 64 bits-key to be used during the ECB encryption and decryption |
Шифорование DES или дешифрование выполняется с помощью этой команды. Она возвращает данные, которые были зашифрованы или дешифрованы.
Параметр | Описание |
---|---|
$des | the context when the crypto engine was initialized |
$text | plain text to be encrypted or cipher text to be decrypted |
Ниже приведен пример DES шифрования и дешифрования на основе ECB.
// encryption
$des = system("des init ecb enc %1", $ecb_key); // initialize
$out = system("des crypt %1 %2", $des, $ecb_pt); // encryption
// decryption
$des = system("des init ecb dec %1", $ecb_key); // initialize
$out = system("des crypt %1 %2", $des, $ecb_ct); // decryption
Ниже приведен пример тройного шифрования и дешифрования DES на основе ECB.
// encryption
$des = system("des init ede3_ecb enc %1", $ecb_key);
$out = system("des crypt %1 %2", $des, $ecb_pt);
// decryption
$des = system("des init ede3_ecb dec %1", $ecb_key);
$out = system("des crypt %1 %2", $des, $ecb_ct);
Ниже приведен алгоритм CBC шифрования/дешифрования данных.
Данная команда предназначена для инициализации DES крипто-двигателя PHPoC. Таким образом, эта команда должна быть выполнена до операции шифрования/дешифрования. Команда возвращает контекст, который использовался для шифрования/дешифрования.
Параметр | Описание |
---|---|
cbc/ede3_cbc | cbc - DES CBC ede3_cbc - 3DES CBC |
enc/dec | enc - encryption dec - decryption |
$cbc_key | 64 bits-key to be used during the ECB encryption and decryption |
$iv | 64 bits initialization vector |
Шифрование DES или дешифрование выполняется при помощи этой команды. Команда возвращает данные, которые были зашифрованы или расшифрованы.
Параметр | Описание |
---|---|
$des | the context when the crypto engine was initialized |
$text | plain text to be encrypted or cipher text to be decrypted |
Ниже приведен пример DES шифрования/дешифрования на основе CBC.
// encryption
$des = system("des init cbc enc %1 %2", $cbc_key, $cbc_iv); // initialize
$out = system("des crypt %1 %2", $des, $cbc_pt); // encryption
// decryption
$des = system("des init cbc dec %1 %2", $cbc_key, $cbc_iv); // initialize
$out = system("des crypt %1 %2", $des, $cbc_ct); // decryption