des 명령


DES(Data Encryption Standard)는 symmetric-key 알고리즘을 사용하는 데이터 암호화 방법입니다. DES는 전수검사를 통해서 완전히 해독 되었기 때문에 민감한 정보 암호화 용으로는 적합하지 않습니다. 3번의 DES 암호화/복호화 과정을 수행하는 triple DES는 개선된 암호화 강도를 제공합니다. DES 암호화 방식은 ECB와 CBC 2가지 방법이 있습니다.

다음은 ECB 방식의 암호화/복호화 함수입니다.

DES 엔진을 초기화 하는 함수입니다. 암호화/복호화에 사용될 context를 반환합니다.

인수 설명
ecb/ede3_ecb ecb - DES ECB
ede3_ecb - 3DES ECB
enc/dec enc - 암호화
dec - 복호화
$ecb_key ECB 암호화/복호화에 사용되는 64비트 키


전에 실행된 초기화 함수의 설정에 따라서 암호화/복호화를 수행합니다. 암호화/복호화된 암호문 혹은 평문을 반환합니다.

인수 설명
$des 초기화시 반환받은 context
$text 암호화/복호화할 평문 혹은 암호문

다음은 ECB방식의 DES 암호화/복호화 예제입니다.

// 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

다음은 ECB방식의 Triple DES 암호화/복호화 예제입니다.

// 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 엔진을 초기화 하는 함수입니다. 암호화/복호화에 사용될 context를 반환합니다.

인수 설명
cbc/ede3_cbc cbc - DES CBC
ede3_cbc - 3DES CBC
enc/dec enc - 암호화
dec - 복호화
$cbc_key CBC 암호화/복호화에 사용되는 64비트 키
$iv 64비트 initialization vector


전에 실행된 초기화 함수에 따라서 암호화/복호화를 수행합니다. 암호화/복호화된 암호문 혹은 평문을 반환합니다.

인수 설명
$des 초기화시 반환받은 context
$text 암호화/복호화할 평문 혹은 암호문

다음은 CBC방식의 DES 암호화/복호화 예제입니다.

// 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