DES


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