PGP (GnuPG) - tên tệp gốc là gì?


11

John muốn gửi 1.txtđến Paul.

Anh ta mã hóa nó. Bây giờ tập tin được đặt tên myFile.pgp, và anh ấy gửi nó cho Paul.

Paul nhận được tập tin.

Làm thế nào (nếu có thể) Paul có thể biết tên tệp gốc ( 1.txt) là gì? Có một tham số ( --xxx) để xem tên tệp?

Tôi đang sử dụng GNU PGP (GnuPG) trong chế độ bảng điều khiển .

Câu trả lời:


17

Với GnuPG, tên tệp gốc có thể được nhìn thấy gpg --list-packets.

$ gpg --list-gói test.gpg
: gói pubkey enc: phiên bản 3, algo 1, keyid CE7B5510340F19EF
    dữ liệu: [4095 bit]
: gói dữ liệu được mã hóa:
    chiều dài: 67
    mdc_method: 2
gpg: được mã hóa bằng khóa RSA 4096 bit, ID CE7B5510340F19EF, được tạo 2009-10-31
      "Thần chú Mikulėnas <grawity @ gmail>"
: gói nén: algo = 2
: gói dữ liệu bằng chữ:
    chế độ b (62), đã tạo 1356362981, name = "Mật khẩu.txt",
    dữ liệu thô: 8 byte

(Lưu ý: Toàn bộ gói dữ liệu bằng chữ, bao gồm tên tệp, được mã hóa. Nếu bạn không có khóa riêng, bạn cũng không thể thấy tên.)


Ngoài ra, bạn có thể sử dụng --decryptcùng với --verbose(hoặc -v -dviết tắt):

$ gpg --verbose --decrypt test.gpg> NUL
gpg: khóa công khai là CE7B5510340F19EF
gpg: sử dụng khóa con CE7B5510340F19EF thay vì khóa chính D24F6CB2C1B52632
Khóa RSA 4096 bit, ID CE7B5510340F19EF, được tạo 2009-10-31
         (khóa con trên ID khóa chính D24F6CB2C1B52632)
gpg: được mã hóa bằng khóa RSA 4096 bit, ID CE7B5510340F19EF, được tạo 2009-10-31
      "Thần chú Mikulėnas <grawity @ gmail>"
gpg: dữ liệu được mã hóa AES256
gpg: tên tệp gốc = 'Mật khẩu.txt'

(Trong Linux, sử dụng > /dev/nullthay thế.)


Nếu bạn muốn giải mã và lưu toàn bộ tệp, hãy sử dụng --use-embedded-filenametùy chọn:

$ Gpg -v --Sử dụng nhúng-filename test.gpg
 ... nhàm chán đầu ra ...
gpg: tên tệp gốc = 'Mật khẩu.txt'
Tệp `password.txt 'tồn tại. Ghi đè? (y / N) n

(Lưu ý: Bạn không nên sử dụng -dhoặc --decryptvới tùy chọn này, vì nó không bao giờ sử dụng tên tệp được nhúng. Thay vào đó, hãy sử dụng hành động "mặc định".)


Đừng quên rằng không phải tất cả các tệp đều có tên. Trong Linux, gpgthường được sử dụng để mã hóa trực tiếp đầu ra của chương trình khác mà không lưu nó trong một tệp. Sau đó nó sẽ hiển thị như:

$ Kiểm tra tiếng vang | gpg - cửa hàng | gpg --list-gói
: gói nén: algo = 1
: gói dữ liệu bằng chữ:
    chế độ b (62), đã tạo 1356362394, name = "" ,
    dữ liệu thô: 8 byte

Khi mã hóa (hoặc chỉ lưu trữ), tên tệp được nhúng có thể được thay đổi bằng --set-filename.

$ Kiểm tra tiếng vang | gpg --store --set-filename "test.txt" | gpg --list-gói
: gói nén: algo = 1
: gói dữ liệu bằng chữ:
    chế độ b (62), đã tạo 1356362790, name = "test.txt",
    dữ liệu thô: 8 byte

những --list-packetskhông giải nén. chỉ hiển thị ... (phải không?)
Royi Namir

1
@RoyiNamir: Phải. Nhưng nó không giải mã, vì một số gói (bao gồm cả tên tập tin gốc) được mã hóa.
dùng1686

là những gì -v. nó không xuất hiện tronggpg -?
Royi Namir

@RoyiNamir: Đây là hình thức ngắn --verbose. (Giống như -?-dlà các dạng ngắn của --help--decrypt.) Phiên bản GnuPG của tôi hiển thị dưới dạng: "-v, --verbose" trong phần "Tùy chọn".
dùng1686

Tôi không hiểu: tại sao gpg -v --use-embedded-filename bbb.gpggiải nén tập tin?
Royi Namir
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.