PGP (GnuPG) - яким було оригінальне ім'я файлу?


11

Джон хоче послати 1.txtдо Павла.

Він зашифровує його. Тепер файл називається myFile.pgp, і він надсилає його Полу.

Пол отримує файл.

Як (якщо можливо) Пол може знати, що було початковим ім'ям файлу ( 1.txt)? Чи є параметр ( --xxx) для перегляду імені файлу?

Я використовую GNU PGP (GnuPG) в консольному режимі.

Відповіді:


17

З GnuPG оригінальне ім'я файлу можна побачити в gpg --list-packets.

$ gpg --list-пакети test.gpg
: пакети pubkey enc: версія 3, algo 1, keyid CE7B5510340F19EF
    дані: [4095 біт]
: зашифрований пакет даних:
    довжина: 67
    mdc_method: 2
gpg: зашифровано 4096-бітним ключем RSA, ID CE7B5510340F19EF, створено 2009-10-31
      "Mantas Mikulėnas <grawity@gmail.com>"
: стислий пакет: algo = 2
: буквальний пакет даних:
    режим b (62), створений 1356362981, name = "passwords.txt",
    необроблені дані: 8 байт

(Примітка. Весь пакет даних з буквальною лінією, включаючи ім'я файлу, зашифрований. Якщо у вас немає приватного ключа, ви також не зможете побачити ім'я.)


Крім того, ви можете використовувати --decryptразом із --verbose(або -v -dкоротко):

$ gpg --verbose --decrypt test.gpg> NUL
gpg: відкритий ключ - CE7B5510340F19EF
gpg: використання підрозділу CE7B5510340F19EF замість первинного ключа D24F6CB2C1B52632
4096-розрядний ключ RSA, ID CE7B5510340F19EF, створений 2009-10-31
         (підрозділ основного ключа ID D24F6CB2C1B52632)
gpg: зашифровано 4096-бітним ключем RSA, ID CE7B5510340F19EF, створено 2009-10-31
      "Mantas Mikulėnas <grawity@gmail.com>"
gpg: зашифровані дані AES256
gpg: оригінальне ім'я файлу = 'passwords.txt'

(В Linux використовуйте > /dev/nullзамість цього.)


Якщо ви хочете розшифрувати та зберегти весь файл, скористайтеся --use-embedded-filenameопцією:

$ gpg -v - використання вбудованого файлу test.gpg
 … нудне виведення…
gpg: оригінальне ім'я файлу = 'passwords.txt'
Файл `passwords.txt 'існує. Переписати? (у / н) н

(Примітка. Не слід використовувати -dабо --decryptз цим параметром, оскільки він ніколи не використовує вбудоване ім'я файлу. Натомість використовуйте дію "за замовчуванням".)


Не забувайте, що не всі файли мають імена. У Linux gpgчасто використовується для шифрування результатів іншої програми безпосередньо, не зберігаючи її у файлі. Потім він відображатиметься як:

$ echo Тестування | gpg --магазин | gpg --list-пакети
: стислий пакет: algo = 1
: буквальний пакет даних:
    режим b (62), створений 1356362394, name = "" ,
    необроблені дані: 8 байт

Під час шифрування (або просто зберігання) вбудоване ім'я файлу можна змінити --set-filename.

$ echo Тестування | gpg --store --set-filename "test.txt" | gpg --list-пакети
: стислий пакет: algo = 1
: буквальний пакет даних:
    режим b (62), створений 1356362790, name = "test.txt",
    необроблені дані: 8 байт

--list-packetsне одержує. просто відобразити ... (так?)
Рой Намір

1
@RoyiNamir: Правильно. Але це робить розшифровувати, оскільки деякі пакети ( в тому числі вихідного файлу) шифруються.
користувач1686

що таке -v. це не з'являється вgpg -?
Royi Namir

@RoyiNamir: Це коротка форма --verbose. (Так само , як -?і -dв короткі форми --helpі --decrypt.) Моя версія GnuPG робить показати , як: «-V, --verbose» в розділі «Параметри».
користувач1686

Я не розумію: навіщо gpg -v --use-embedded-filename bbb.gpgвитягувати файл?
Рой Намір
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.