Score:1

ถอดรหัสรหัส RSA บางส่วนที่เข้ารหัส AES-128-CBC

ธง cn

ฉันได้รับคีย์ RSA ส่วนตัว ซึ่งส่วนหัวระบุว่ามีการเข้ารหัส AES-128-CBC โปรดทราบว่าสิบบรรทัดสุดท้ายของคีย์หายไป (นี่เป็นส่วนหนึ่งของงานการศึกษา)

----- เริ่มต้นรหัสส่วนตัว RSA -----
Proc-ประเภท: 4,ENCRYPTED
ข้อมูล DEK: AES-128-CBC,8B7CE35DB731727CEABA217FAE404DB8

... 37 บรรทัดครึ่ง บรรทัดละ 64 ตัวอักษร

ภารกิจคือค้นหาข้อความรหัสผ่านของคีย์ (เป็นที่ทราบกันดีว่าเป็นตัวเลขสี่หลัก) ฉันบรรลุกลไกการแคร็กทั่วไปโดยใช้ John The Ripper และเพิ่มข้อบังคับแล้ว ----- สิ้นสุดรหัสส่วนตัว RSA ----- ไปที่ส่วนท้ายของคีย์บางส่วน แต่จนถึงตอนนี้ คีย์นั้นไม่สามารถถอดรหัสได้ ซึ่งอาจเกี่ยวข้องกับความจริงที่ว่าคีย์สองสามบรรทัดสุดท้ายหายไป (เนื่องจาก CBC เกี่ยวข้องกับบล็อกทั้งหมดของไฟล์) ฉันพยายามลดความยาวของเนื้อหาหลักเป็น 128 บิตหลายเท่าและถอดรหัสแล้ว แต่นั่นไม่ได้เปลี่ยนแปลงอะไรเลย เพื่อหาวิธีที่เหมาะสมในการยังคงสามารถถอดรหัสคีย์ได้ ฉันจำเป็นต้องเข้าใจกระบวนการถอดรหัสเพิ่มเติม

กระบวนการถอดรหัสทำงานอย่างไร และวลีรหัสผ่านของคีย์เกี่ยวข้องกับสิ่งนี้อย่างไร ฉันค้นหาหน้าเว็บบางหน้าที่มีวิกิพีเดียเกี่ยวกับการเข้ารหัส CBC โดยทั่วไปแล้ว แต่ฉันไม่สามารถเข้าใจได้ว่ากระบวนการถอดรหัสที่เกิดขึ้นจริงเกิดขึ้นอย่างไรกับข้อความรหัสผ่านของคีย์

ขอขอบคุณล่วงหน้าสำหรับคำอธิบายหรือคำแนะนำทั้งหมดเกี่ยวกับวิธีการเข้าถึงงานนี้

Maarten Bodewes avatar
in flag
คุณควรค้นหาวิธีการเข้ารหัสไฟล์จริง (เช่น เกี่ยวกับวิธีการรับคีย์และการใช้ IV) จากนั้นคุณควร *ฐาน 64 ถอดรหัสบรรทัด* ที่คุณได้รับ และพยายามถอดรหัสนั้นโดยใช้ AES-CBC โดยตรง (โดยใช้ "ไม่มีช่องว่างภายใน" เนื่องจากการคลายช่องว่างจะล้มเหลว) โปรดทราบว่าส่วนหัว DER ของคีย์ส่วนตัวนั้นแยกแยะได้ง่ายจากข้อความสุ่ม
Maarten Bodewes avatar
in flag
น่าสนใจ ฉันไม่พบ KDF ที่ใช้ในการรับรหัส อาจเป็น `EVP_BytesToKey` เฉพาะของ OpenSSL แต่ฉันจะงงถ้าฉันสามารถหาวิธีที่ถูกต้องในการเปลี่ยนจาก PIN เป็นคีย์ คุณมีข้อมูลเพิ่มเติมเกี่ยวกับ PIN/คีย์ หรือไม่
BenjyTec avatar
cn flag
@MaartenBodewes ขอบคุณสำหรับความช่วยเหลือของคุณ ไม่ น่าเสียดายที่ไม่มีข้อมูลเพิ่มเติมเกี่ยวกับ PIN หรือรหัสที่ให้ไว้ สิ่งที่เพิ่มเติมเพียงอย่างเดียวคือไฟล์ที่เข้ารหัสซึ่งจะถูกถอดรหัสโดยคีย์ที่กู้คืนในภายหลัง แต่ฉันคิดว่าสิ่งนี้ไม่ได้ช่วยอะไรในตอนนี้
Score:4

Proc-ประเภท: 4,ENCRYPTED แสดงว่าคีย์นั้นมาจากรหัสผ่านที่กำหนดโดย RFC 1421 §4.6.1.1 เอฟ. สำหรับความหมายของ DEK-ข้อมูล, RFC 1423 เก่ากว่า AES และฉันไม่ทราบข้อมูลอ้างอิงอื่นนอกจากซอร์สโค้ด OpenSSL

คีย์เข้ารหัสได้มาจากรหัสผ่านโดยใช้ PBKDF1-MD5 ตามที่ระบุ พีเคซีเอส#5. เกลือเป็นส่วนที่สองของ DEK-ข้อมูล ส่วนหัวและจำนวนการวนซ้ำคือ 1 (ใช่ มันอ่อนแออย่างน่าขัน เคยใช้รหัสผ่านเอนโทรปีสูงสำหรับการเข้ารหัส PEM เท่านั้น ไม่ใช่รหัสผ่านที่น่าจดจำจริงๆ!) อีกครั้ง การอ้างอิงเดียวที่ฉันรู้คือซอร์สโค้ด OpenSSL: pem_bytes_read_bio_flags โทร PEM_do_header ซึ่งโทร EVP_BytesToKey.

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

ในการตรวจสอบว่าการถอดรหัสของส่วนที่คุณมีนั้นถูกต้องหรือไม่ ให้ตรวจสอบว่าตรงกับรูปแบบของคีย์ส่วนตัว RSA ที่พบในไฟล์ PEM ดังกล่าวหรือไม่ รูปแบบนี้ระบุไว้ใน PKCS#1 §A.1.2. หากคุณไม่คุ้นเคยกับ ASN.1 ไพรเมอร์ Let's Encrypt ASN.1 น่าจะช่วยได้ และแน่นอนว่าคุณควรดูตัวอย่างคีย์ส่วนตัว RSA เริ่มต้นด้วย 0x30 (ตัวบ่งชี้ลำดับ) จากนั้นความยาว (โดยทั่วไปคือ 0x82 และอีกสองไบต์) ของทั้งหมด จากนั้น 0x02 0x01 0x00 (การเข้ารหัสเวอร์ชันเป็นจำนวนเต็ม ASN.1) จากนั้น (สำหรับ 2048 - เลขชี้กำลังบิต เป็นตัวอย่าง) 0x02 0x82 0x01 0x01 0x00 และ 256 ไบต์ของค่าเลขชี้กำลัง จากนั้น 0x02 0x03 0x01 0x00 0x01 สำหรับเลขชี้กำลังสาธารณะ 65537 เป็นต้น

dave_thompson_085 avatar
cn flag
โปรดทราบว่าส่วนประกอบ 3 รายการสุดท้าย (ไม่บังคับ หรือก่อน 2.1) ใน RSAPrivateKey ของ PKCS1 สามารถสร้างใหม่ได้เล็กน้อย และ p,q ยังสามารถสร้างใหม่ได้ค่อนข้างง่าย ดังนั้น OP (อ้างสิทธิ์) ประมาณ 1800 จาก 2280 ไบต์จึงมากเกินพอ แม้ว่าเครื่องมือมาตรฐาน ใช้งานไม่ได้และต้องแก้ไขหรือเปลี่ยนใหม่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา