PGP (GnuPG) - ชื่อไฟล์เดิมคืออะไร


11

John ต้องการส่ง1.txtถึง Paul

เขาเข้ารหัสมัน ตอนนี้ชื่อไฟล์myFile.pgpและเขาส่งให้พอล

พอลรับไฟล์

พอลจะรู้ได้อย่างไรว่าชื่อไฟล์ดั้งเดิม ( 1.txt) เป็นอย่างไร? มีพารามิเตอร์ ( --xxx) เพื่อดูชื่อไฟล์หรือไม่

ฉันใช้ GNU PGP (GnuPG) ในโหมดคอนโซล

คำตอบ:


17

ด้วย GnuPG gpg --list-packetsชื่อไฟล์เดิมสามารถเห็นได้ใน

$ gpg --list-packets test.gpg
: pubkey enc packet: เวอร์ชั่น 3, algo 1, keyid CE7B5510340F19EF
    ข้อมูล: [4095 บิต]
: แพ็คเก็ตข้อมูลที่เข้ารหัส:
    ความยาว: 67
    mdc_method: 2
gpg: เข้ารหัสด้วยคีย์ RSA 4096 บิต, ID CE7B5510340F19EF, สร้าง 2009-10-31
      "Mantas Mikulėnas <grawity@gmail.com>"
: แพ็กเก็ตที่ถูกบีบอัด: algo = 2
: แพ็คเก็ตข้อมูลที่แท้จริง:
    โหมด b (62), สร้าง 1356362981, name = "รหัสผ่าน.txt",
    ข้อมูลดิบ: 8 ไบต์

(หมายเหตุ: แพคเก็ตข้อมูลตัวอักษรทั้งหมดรวมถึงชื่อไฟล์นั้นถูกเข้ารหัสหากคุณไม่มีไพรเวตคีย์คุณจะไม่เห็นชื่อเช่นกัน)


หรือคุณสามารถใช้--decryptพร้อมกับ--verbose(หรือ-v -dสั้น ๆ ):

$ gpg --verbose --decrypt test.gpg> NUL
gpg: รหัสสาธารณะคือ CE7B5510340F19EF
gpg: การใช้คีย์ย่อย CE7B5510340F19EF แทนคีย์หลัก D24F6CB2C1B52632
คีย์ RSA 4096 บิต ID CE7B5510340F19EF สร้าง 2009-10-31
         (คีย์ย่อยบนรหัสคีย์หลัก D24F6CB2C1B52632)
gpg: เข้ารหัสด้วยคีย์ RSA 4096 บิต, ID CE7B5510340F19EF, สร้าง 2009-10-31
      "Mantas Mikulėnas <grawity@gmail.com>"
gpg: ข้อมูลที่เข้ารหัส AES256
gpg: ชื่อไฟล์ดั้งเดิม = 'รหัสผ่าน.txt'

(ใน Linux ให้ใช้> /dev/nullแทน)


หากคุณต้องการถอดรหัสและบันทึกไฟล์ทั้งหมดให้ใช้--use-embedded-filenameตัวเลือก:

$ gpg -v --use-embedded-filename test.gpg
 …ผลลัพธ์ที่น่าเบื่อ…
gpg: ชื่อไฟล์ดั้งเดิม = 'รหัสผ่าน.txt'
มีไฟล์ `password.txt 'อยู่ เขียนทับ? (y / N) n

(หมายเหตุ: คุณไม่ควรใช้-dหรือใช้--decryptตัวเลือกนี้เนื่องจากจะไม่ใช้ชื่อไฟล์ที่ฝังแทนให้ใช้การกระทำ "เริ่มต้น" แทน)


อย่าลืมว่าไม่ใช่ทุกไฟล์ที่มีชื่อ ใน Linux gpgมักใช้เพื่อเข้ารหัสเอาต์พุตของโปรแกรมอื่นโดยตรงโดยไม่บันทึกลงในไฟล์ จากนั้นจะปรากฏเป็น:

$ echo การทดสอบ | gpg --store | gpg - รายการแพ็คเก็ต
: แพ็กเก็ตที่ถูกบีบอัด: algo = 1
: แพ็คเก็ตข้อมูลที่แท้จริง:
    โหมด b (62), สร้าง 1356362394, name = "" ,
    ข้อมูลดิบ: 8 ไบต์

เมื่อการเข้ารหัส (หรือเพียงแค่การจัดเก็บ) --set-filenameชื่อไฟล์ที่ฝังตัวสามารถเปลี่ยนแปลงได้ด้วย

$ echo การทดสอบ | gpg --store --set-filename "test.txt" | gpg - รายการแพ็คเก็ต
: แพ็กเก็ตที่ถูกบีบอัด: algo = 1
: แพ็คเก็ตข้อมูลที่แท้จริง:
    โหมด b (62), สร้าง 1356362790, name = "test.txt",
    ข้อมูลดิบ: 8 ไบต์

--list-packetsไม่ดึง เพียงแสดง ... (ใช่ไหม)
Royi Namir

1
@RoyiNamir: ใช่ แต่มันจะถอดรหัสเนื่องจากแพ็คเก็ตบางส่วน (รวมถึงชื่อไฟล์ต้นฉบับ) จะถูกเข้ารหัส
user1686

-vสิ่งที่เป็น มันไม่ปรากฏในgpg -?
Royi Namir

@RoyiNamir: มันเป็นรูปแบบสั้น --verboseๆ (เช่นเดียวกับ-?และ-dเป็นรูปแบบที่สั้น--helpและ--decrypt.) รุ่นของฉัน GnuPG ไม่แสดงว่ามันเป็น "-v, --verbose" ภายใต้ "ตัวเลือก" ส่วน
user1686

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