OpenSSL을 사용하여 파일 암호 해독 문제: "16진수 문자열이 너무 짧습니다. 길이에 0바이트로 채워집니다."

OpenSSL을 사용하여 파일 암호 해독 문제: "16진수 문자열이 너무 짧습니다. 길이에 0바이트로 채워집니다."

Open SSL을 사용하여 파일의 암호를 해독하는 동안 문제가 발생했습니다. 강사가 제공 한 파일이 있는데 fc382Crypto.binCBC 모드에서 복어 알고리즘을 사용하여 이를 해독해야 합니다.

파일을 해독하는 데 사용하는 명령은 다음과 같습니다.

openssl enc -aes-128-cbc -d -in fc382Crypto.bin -out decrypted_output.txt -K 112233445566778899 -iv 0000000000000000

그러나 다음과 같은 오류가 계속 발생합니다.

hex string is too short, padding with zero bytes to length
hex string is too short, padding with zero bytes to length
bad decrypt

옵션 을 추가하여 명령을 조정해 보았지만 -nopad문제가 지속됩니다. 또한 fc382Crypto.bin파일이 손상되지 않았는지 확인하기 위해 파일 의 무결성을 확인했습니다 .

강사가 제공한 암호화 설정은 다음과 같습니다.

Algorithm: Blowfish
Mode: CBC
Key: 112233445566778899
IV: 0

이 오류가 발생한 이유나 해결 방법을 잘 모르겠습니다. 누군가 OpenSSL을 사용하여 이 파일을 올바르게 해독하는 방법에 대한 지침을 제공할 수 있습니까?

여기에 이미지 설명을 입력하세요

답변1

이 오류가 발생한 이유나 해결 방법을 잘 모르겠습니다.

128비트 암호화 알고리즘을 사용하고 있습니다. 따라서 암호화 키와 초기화 벡터(IV)의 길이는 128비트여야 합니다.

열쇠:0x00000000000000112233445566778899

IV: 0x000000000000000000000000000000000000000000000000000000000

AES-128 신호의 암호화 방법은 128비트 키, CBC(Cipher Block Chaining) 및 PKCS7(Public-Key Cryptography Standards #7)을 갖춘 AES(Advanced Encryption Standard) [AES_128]를 사용하여 미디어 세그먼트가 완전히 암호화되었음을 나타냅니다. 패딩 [RFC5652]. CBC는 초기화 벡터(IV) 속성 값 또는 미디어 시퀀스 번호를 IV로 사용하여 각 세그먼트 경계에서 다시 시작됩니다. 섹션 5.2를 참조하세요.

IV

값은 키와 함께 사용할 128비트 부호 없는 정수 초기화 벡터를 지정하는 16진수 시퀀스입니다. IV 특성을 사용하려면 호환성 버전 번호 2 이상이 필요합니다. IV 속성이 사용되는 경우 섹션 5.2를 참조하세요.

원천:https://www.rfc-editor.org/rfc/rfc8216#section-4.3.2.4

관련 정보