aes 명령


The AES(Advanced Encryption Standard)는 미국 NIST에서 만든 데이터 암호화 스펙으로 DES를 대신하는 표준으로 사용되고 있습니다. AES는 암호화 방식은 ECB와 CBC 2가지 방법이 있습니다.

다음은 ECB 방식의 암호화/복호화 방법에 대한 설명입입니다.

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

인수 설명
enc/dec enc - 암호화
dec - 복호화
$ecb_key ECB 암호화/복호화에 사용되는 128/192/256 비트 키


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

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


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

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

인수 설명
$enc/dec enc - 암호화
dec - 복호화
$cbc_key CBC 암호화/복호화에 사용되는 128/192/256 비트 키
$iv 128비트 initialization vector


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

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


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

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