2012-04-13 2 views
1

OpenSSL의 EVP_ * API를 사용하여 CBC 모드에서 AES 암호화를 구현하고 있습니다.OpenSSL 암호문 도용 구현

암호화 된 텍스트를 일반 텍스트와 동일한 길이로 유지하기 위해 암호 텍스트 도용을 구현하려고합니다. 패딩 (EVP_CIPHER_CTX_set_padding())을 해제하는 방법을 찾았지만 패딩 대신 암호문을 훔치는 것으로 전환하지 않는 것 같습니다.

누군가 암호문을 도용하는 방법을 모르는 사람이 있습니까?

+0

일반적으로 자신 만의 암호를 작성하는 것은 좋지 않지만 좋은 대답을 얻지 못하면 직접 구현하는 것이 좋습니다 (openssl 라이브러리에 포함되지 않았거나 말할 수없는 경우도 있음). 이러한 종류의 모드는 일반적으로 구현하기가 쉽습니다. 무결성 보호 기능이없는 암호 해독은 약간 위험하다는 점에 유의하십시오. –

+0

@owlstead : Wikipedia는 표준 CBC 엔진을 사용하여 암호문 도용을 구현하는 방법에 대해 언급하지만 가능한 경우 이미 자체 테스트를 작성한 것보다 이미 테스트 된 것을 사용하려고합니다. –

+0

물론 OpenSSL은 각 모드를 지원하는 것으로 알려져 있지 않으므로 인터넷에서 쉽게 찾을 수 없다면 대답을 얻지 못할 가능성이 큽니다. 대신 CTR 모드를 사용하고, 블록 암호 용 스트림 암호 모드이며, 패딩을 필요로하지 않습니다. –

답변

0

칩시 텍스트 도용을 구현 한 2007 년 OpenSSL에 대해 patch이 발견되었습니다. 포함되지 않았지만 응용 프로그램에 코드를 포함해도 아무런 문제가 없습니다.