การถ่ายโอนข้อมูลกุญแจสาธารณะของมนุษย์ที่สามารถอ่านได้ของ gpg


22

มีเครื่องมือในการเขียนเนื้อหาจริงของพับลิกคีย์ GnuPG ในแบบที่มนุษย์ไม่สามารถพูดได้หรือไม่? ฉันหมายถึงไม่เพียง แต่เกราะ ascii ที่มนุษย์สามารถอ่านและพิมพ์ได้ แต่สิ่งที่แยกย่อยข้อมูลออกเป็นตัวเลขทศนิยมขนาดใหญ่สำหรับส่วน crypto สตริงสำหรับ UID และอื่น ๆ ฉันอยากเห็นว่ามีอะไรในนั้น

แอปพลิเคชันจริงวันนี้: ฉันมีสองปุ่มจากบุคคลเดียวกันที่สร้างขึ้นในวันเดียวกัน แต่มีลายนิ้วมือแตกต่างกัน สมมติฐานคือว่าหนึ่งในนั้นถูกสร้างขึ้นจากที่อื่นโดยการแปลงบางประเภทอาจโดยการนำเข้าคีย์ที่เก่ากว่าเข้าไปใน keychaing โดยใช้ซอฟต์แวร์ล่าสุด ฉันต้องการที่จะเห็นสิ่งที่เปลี่ยนแปลงจริง บางทีมันอาจเป็นเพียงอัลกอริธึมการพิมพ์ลายนิ้วมือที่เปลี่ยนแปลง แต่อาจมีมากกว่านั้น


ฉันพบคำตอบที่แนะนำทั้งหมดก่อนจะมาที่คำถามนี้ น่าเสียดายที่สิ่งนี้ยังคงเป็น "มนุษย์อ่านได้" โดยเฉพาะอย่างยิ่งเมื่อคีย์มีลายเซ็นจำนวนมาก ฉันคาดหวังว่า gpg2 พร้อมที่จะให้ข้อมูลนี้ในรูปแบบshow-keyคำสั่งบางอย่าง:-(
Bluehorn

คำตอบ:


20

ลอง

gpg --list-packets --verbose < pubkey.asc

มันไม่ได้ถ่ายโอนข้อมูลที่สำคัญ แต่จะแสดงรายละเอียดอื่น ๆ ทั้งหมด ในการดัมพ์ส่วนข้อมูลดิบเพิ่มเติมที่คุณต้องใช้ในการดีบักแฟล็ก 2 ดังนั้นเพิ่ม--debug 0x02ซึ่งจะเป็นการดัมพ์คีย์และข้อมูลอื่นเป็นเลขฐานสิบหก ใช้งานได้ใน GPG เวอร์ชัน 1.2 และ 1.4 แต่น่าเศร้าที่ไม่อยู่ใน 2.0 เนื่องจากไม่รองรับการถ่ายโอนข้อมูล bignum (MPI) (ดูDBG_MPIในg10/parse-packet.c) ด้วยเหตุผลบางประการ

ลองpgpdump ด้วย :

pgpdump < pubkey.asc

ดูดี แต่ก็ยังคงละเว้นข้อมูลบางอย่างบางอย่างย่อ[1024 bits]หรือถูกใจ ฉันต้องการดูบิตเหล่านั้น ฉันรู้ว่าคุณเขียนว่าไม่รวมอยู่ด้วย
MvG

1
พบมัน debug flag 2, updated
mr.spuratic

การแก้ไขปัญหาการตั้งค่าสถานะนั้นไม่ทำงานสำหรับฉันด้วยเหตุผลบางอย่าง มันพิมพ์ข้อความเกี่ยวกับการตั้งค่าสถานะการใช้งาน แต่ไม่พิมพ์ข้อมูลการแก้จุดบกพร่องมัน อาจจะต้องขุดผ่านแหล่งต่างๆเพื่อค้นหาว่าทำไม ... @grawity: pgpdump ดูเหมือนจะเป็นอย่างที่ฉันคิดไว้ในใจขอบคุณ ด้วยเหตุผลใดก็ตามที่คุณเลือกที่จะแก้ไขคำตอบที่มีอยู่แทนที่จะโพสต์คำตอบใหม่ ท้ายที่สุดแล้วทั้งคู่ต่างก็มีข้อเสนอแนะต่างกันโดยแต่ละคนมีข้อดีและข้อเสียของตัวเองดังนั้นผู้ใช้อาจต้องการลงคะแนนอย่างอิสระ
MvG

3
ธงแก้ปัญหานี้มีไว้สำหรับการดีบัก MPI (bignum) ( DBG_MPI) ทำงานตามที่ระบุใน GPG 1.2 / 1.4 แต่ไม่รองรับอย่างถูกต้องใน GPG 2.0.x (แสดงความคิดเห็นในg10/parse-packet.c) ด้วย "FIXME" ข้าง ... @ grawity ขอบคุณสำหรับเคล็ดลับที่pgpdumpดูมีประโยชน์
mr.spuratic

4

ในขณะที่รอคำตอบฉันอ่านRFC4880 (OpenPGP)และคิดรหัสของตัวเองเพื่อแยกวิเคราะห์และพิมพ์ส่วนที่เกี่ยวข้องของสตรีมแพ็คเก็ตที่ส่งออก ไกลจากความสมบูรณ์ แต่อาจเป็นประโยชน์กับคนอื่นดังนั้นฉันโพสต์สิ่งนี้เช่นกัน ตอนนี้ฉันเห็นประโยชน์เล็กน้อยจาก pgpdump ที่เสนอโดย @grawity แต่ใครจะรู้ ...


2

ฉันใช้pgpdump มันทำงานได้ดีและแสดงผลลัพธ์ที่มนุษย์อ่านได้ดี ยังไม่ได้พิมพ์คีย์ Elliptic Curve แต่อย่างน้อยมันจะบอกคุณว่าเป็นรหัส EC หากคุณเลือกตัวเลือก "dump literals" มันจะแสดงข้อมูลคีย์ที่แท้จริง


pastebin.com/pRezWQfPเป็นตัวอย่างของผลลัพธ์โดยใช้กุญแจสาธารณะของฉัน
Brian Minton

1
ดูเหมือนว่าเว็บไซต์ที่จะหายไปเพียงแค่ไพน์วูดบางโดเมนมีตอนนี้ ...
npostavs

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