암호 해독시 잘못된 매직 넘버

4 월에 저는 다음 명령을 사용하여 파일을 암호화했습니다.

openssl enc -aes-256-cbc -salt -pass file:<passwordfile> < infile > outfil 

이제

openssl enc -d -aes-256-cbc -salt -pass file:<passwordfile> -in outfil -out infile2 

로 복호화하고 싶지만 잘못된 매직 넘버가 있습니다.

어제 동일한 매개 변수로 암호화 된 파일이 복호화됩니다. 알겠습니다.

무슨 일이 일어 났을까요? 이 보관 파일을 검색 할 수 있습니까?

답변

OpenSSL로 암호화 한 경우 < = 1.0.2이고 OpenSSL 1.1.0으로 복호화하는 경우 다음과 같습니다.

https://www.openssl.org/docs/faq.html#USER3

암호에서 키를 생성하는 데 사용되는 기본 해시는 1.0.2에서 1.1.0 사이로 변경되었습니다. 복호화 명령에 -md md5를 추가해보세요.

댓글

  • 감사합니다. 이렇게 우리는 이렇게 오래된 것을 복원하고 싶은 특이한 상황에 있습니다. 나는 이것을 시도 할 것이다
  • 기본 pbe-hash (또는 잘못된 해시 또는 잘못된 암호를 지정)의 불일치는 CBC 모드 암호 (여기에서와 같이)의 경우 거의 항상 가비지 해독을 유발합니다. 06065064 ' 잘못된 암호 해독 '으로 감지되지만 ' 잘못된 매직 넘버 '. 손상된 파일 또는 -nosalt 또는 정말 고대 OpenSSL (최대 0.9.6 이전)으로 암호화 된 파일 만 가능합니다.

답변

아래 명령은 저에게 고통을주었습니다.

openssl aes-256-cbc -d -in hotmama.tar.bz2.enc -out hotmama.tar.bz2 enter aes-256-cbc decryption password: bad magic number 

아래 명령으로 문제를 해결하고 즐거움을 얻었습니다.

openssl aes-256-cbc -md md5 -in hotmama.tar.bz2.enc -out hotmama.tar.bz2 enter aes-256-cbc encryption password: Verifying - enter aes-256-cbc encryption password: 

댓글

  • 두 번째 명령, 암호를 해독하지 않습니다 (-d) …

Answer

이 오류의 일반적인 원인은 암호에서 OpenSSL에 의해 계산 된 키가 잘못되어 데이터를 암호화 한 키와 동일하지 않기 때문입니다.

이 오류가 표시 될 수있는 한 가지 이유 원래 질문과는 다른 상황에서 예를 들어 Java로 암호화하고 SSL을 사용하여 복호화하는 것과 같이 OpenSSL이 아닌 다른 도구를 사용하여 암호화하는 경우입니다.

Java 용 솔루션보기 : https://stackoverflow.com/questions/22610761/aes-simple-encrypt-in-java-decrypt-with-openssl/55884564#55884564

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다