PGP (GnuPG) - qual era o nome do arquivo original?

11

John quer enviar 1.txt para Paul.

Ele criptografa isso. Agora o arquivo é chamado myFile.pgp e ele envia para Paul.

Paul obtém o arquivo.

Como (se possível) Paulo pode saber qual era o nome do arquivo original ( 1.txt )? Existe um parâmetro ( --xxx ) para ver o nome do arquivo?

Estou usando o GNU PGP (GnuPG) no modo console .

    
por Eris 24.12.2012 / 09:12

1 resposta

17

Com o GnuPG, o nome do arquivo original pode ser visto em gpg --list-packets .

$ gpg --list-packets test.gpg
:pubkey enc packet: version 3, algo 1, keyid CE7B5510340F19EF
    data: [4095 bits]
:encrypted data packet:
    length: 67
    mdc_method: 2
gpg: encrypted with 4096-bit RSA key, ID CE7B5510340F19EF, created 2009-10-31
      "Mantas Mikulėnas <[email protected]>"
:compressed packet: algo=2
:literal data packet:
    mode b (62), created 1356362981, name="passwords.txt",
    raw data: 8 bytes

(Nota: Todo o pacote de dados literal, incluindo o nome do arquivo, é criptografado. Se você não tiver a chave privada, também não poderá ver o nome.)

Como alternativa, você pode usar --decrypt junto com --verbose (ou -v -d para breve):

$ gpg --verbose --decrypt test.gpg > NUL
gpg: public key is CE7B5510340F19EF
gpg: using subkey CE7B5510340F19EF instead of primary key D24F6CB2C1B52632
4096-bit RSA key, ID CE7B5510340F19EF, created 2009-10-31
         (subkey on main key ID D24F6CB2C1B52632)
gpg: encrypted with 4096-bit RSA key, ID CE7B5510340F19EF, created 2009-10-31
      "Mantas Mikulėnas <[email protected]>"
gpg: AES256 encrypted data
gpg: original file name='passwords.txt'

(No Linux, use > /dev/null .)

Se você quiser descriptografar e salvar o arquivo inteiro, use a opção --use-embedded-filename :

$ gpg -v --use-embedded-filename test.gpg
…boring output…
gpg: original file name='passwords.txt'
File 'passwords.txt' exists. Overwrite? (y/N) n

(Nota: Você não deve usar -d ou --decrypt com essa opção, pois nunca usa o nome do arquivo incorporado. Em vez disso, use a ação "padrão".)

Não esqueça que nem todos os arquivos possuem nomes. No Linux, gpg é freqüentemente usado para criptografar a saída de outro programa diretamente, sem salvá-lo em um arquivo. Em seguida, apareceria como:

$ echo Testing | gpg --store | gpg --list-packets
:compressed packet: algo=1
:literal data packet:
    mode b (62), created 1356362394, name="",
    raw data: 8 bytes

Quando criptografar (ou apenas armazenar), o nome do arquivo incorporado pode ser alterado com --set-filename .

$ echo Testing | gpg --store --set-filename "test.txt" | gpg --list-packets
:compressed packet: algo=1
:literal data packet:
    mode b (62), created 1356362790, name="test.txt",
    raw data: 8 bytes
    
por 24.12.2012 / 16:06

Tags