หมายเลขมายากลที่ไม่ดีในการถอดรหัส


12

ในเดือนเมษายนฉันเข้ารหัสไฟล์โดยใช้คำสั่ง

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

แต่ฉันได้รับหมายเลขเวทย์มนตร์ที่ไม่ดี

ไฟล์ที่เข้ารหัสเมื่อวานนี้ด้วยพารามิเตอร์เดียวกันถอดรหัสตกลง

อาจเกิดอะไรขึ้น และมีอยู่แล้วฉันสามารถดึงไฟล์ที่เก็บถาวรนี้ได้หรือไม่

คำตอบ:


6

หากคุณเข้ารหัสด้วย OpenSSL <= 1.0.2 และคุณกำลังถอดรหัสด้วย OpenSSL 1.1.0 แสดงว่าเป็นไปได้:

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

แฮชเริ่มต้นที่ใช้ในการสร้างคีย์จากรหัสผ่านมีการเปลี่ยนแปลงระหว่าง 1.0.2 ถึง 1.1.0 ลองเพิ่ม-md md5ลงในคำสั่งถอดรหัสของคุณ


1
ขอบคุณฉันกลัวว่ามันอาจจะเป็นแบบนี้ ฉันจะลองดูนะ
KathyHH

1
ความไม่ตรงกันใน pbe-hash ที่ผิดค่าเริ่มต้น (หรือการระบุแฮชผิดหรือเพียงแค่รหัสผ่านผิด) จะทำให้เกิดการถอดรหัสขยะซึ่งสำหรับ cipher โหมด CBC (ที่นี่) จะถูกตรวจพบว่าเป็น 06065064 'ถอดรหัสไม่ดี' - แต่ไม่ใช่ ' หมายเลขเวทย์มนตร์ไม่ดี ' ไฟล์ที่เสียหายเท่านั้นหรือไฟล์ที่เข้ารหัสด้วย-nosaltหรือOpenSSL ที่เก่าแก่จริงๆ (ก่อน 0.9.6 เป็นอย่างมาก) ทำเช่นนั้น
dave_thompson_085

1

คำสั่งด้านล่างทำให้ฉันเจ็บปวด:

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:

7
ในคำสั่งที่สองคุณไม่ได้ถอดรหัส ( -d) ...
dangonfast

1

สาเหตุทั่วไปสำหรับข้อผิดพลาดนี้คือคีย์ที่คำนวณโดย OpenSSL จากรหัสผ่านไม่ถูกต้องซึ่งหมายความว่าไม่เหมือนกับคีย์ที่เข้ารหัสข้อมูล

เหตุผลหนึ่งที่ข้อผิดพลาดนี้สามารถปรากฏขึ้นได้ในสถานการณ์ที่แตกต่างจากคำถามเดิมคือถ้าคุณกำลังเข้ารหัสโดยใช้เครื่องมืออื่นนอกเหนือจาก OpenSSL ตัวอย่างเช่นการเข้ารหัสใน Java และการถอดรหัสโดยใช้ SSL

ดูวิธีแก้ปัญหาที่นี่สำหรับ Java: /programming/22610761/aes-simple-encrypt-in-java-decrypt-with-openssl/55884564#55884564

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.