GNU/Linux >> Znalost Linux >  >> Linux

Jak zašifrovat a dešifrovat soubor pomocí GnuPG v Linuxu

Pomocí příkazu GnuPG gpg můžete generovat veřejné a soukromé klíče. V tomto tutoriálu použijeme klíče generované příkazem gpg k odesílání a přijímání zašifrovaných souborů a digitálnímu podepisování souboru.

Zašifrujte soubor a odešlete jej příteli

1. Importujte veřejný klíč svého přítele

Když chcete svému příteli poslat tajný soubor, první věcí, kterou musíte udělat, je importovat veřejný klíč vašeho přítele. Veřejný klíč svých přátel můžete importovat ze „serveru klíčů“, pokud vyexportovali svůj veřejný klíč na server klíčů.

Informace o tom, jak exportovat veřejný klíč na server klíčů, najdete v části „Export vašich veřejných klíčů“ v našem článku Základy GnuPG.

Chcete-li importovat veřejný klíč ze serveru klíčů, proveďte následující. Import můžete provést některou z výše uvedených metod. Pro správný import klíčů zadejte ID klíče nebo e-mailové ID vašeho přítele nebo skutečné jméno.

$ gpg --search-keys --keyserver keyserver.ubuntu.com 'KEY-ID'

or

$ gpg --search-keys --keyserver keyserver.ubuntu.com 'E-Mail ID'

or

$ gpg --search-keys --keyserver keyserver.ubuntu.com 'Real Name'

Chcete-li importovat veřejný klíč ze souboru, postupujte takto. Pokud vám váš přítel poslal e-mailem svůj veřejný klíč, můžete tyto klíče importovat pomocí následujícího příkazu

$ gpg --import myfriends_pub_key.gpg

2. Ověřte importovaný server klíčů

Zda jste úspěšně importovali veřejný klíč vašeho přítele, můžete ověřit pomocí volby –list-keys

$ gpg --list-keys

/home/lakshmanan/.gnupg/pubring.gpg
-----------------------------------
pub   2048R/A7344E7D 2012-10-12
uid                  lakshmanan (My test GPG keys)
sub   2048R/96F8EF9B 2012-10-12

pub   2048R/FB2744A8 2012-12-03
uid                  raman (Ram's test ID)
sub   2048R/88EF55EE 2012-12-03

Nyní jsem importoval veřejný klíč mého přítele Ramana.

3. Zašifrujte tajný soubor pomocí veřejného klíče vašeho přítele

Nyní, když máte veřejný klíč svého přítele, můžete mu poslat soubor, který je zašifrován pomocí „Veřejného klíče vašeho přítele“, takže jej může dešifrovat pouze váš přítel (který má soukromý klíč).

$ gpg --encrypt --recipient raman a.txt

gpg: 88EF55EE: There is no assurance this key belongs to the named user

pub  2048R/88EF55EE 2012-12-03 raman (Ram's test ID)
 Primary key fingerprint: FF32 7764 A0AE 1E85 AC4B  CF17 8AED B292 FB27 44A8
      Subkey fingerprint: D6A5 7107 77C8 6845 2F86  765C EEED DD85 88EF 55EE

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Use this key anyway? (y/N) y

Všimněte si, že existuje varování, které říká, že neexistuje žádná záruka, že „veřejný klíč“ patří vašemu příteli. Až to čas dovolí, podíváme se na to zpět. Od nynějška, protože svému smaženému důvěřuji, dal jsem k použití klíče „Ano“.

Vytvoří soubor s názvem „a.txt.pgp“, při otevření pomocí editoru bude mít nějaká binární data. Pošlete tento soubor svému příteli jakýmkoli způsobem.

Pokud nechcete posílat binární obsah nebo se při odesílání binárního obsahu vyskytly problémy, můžete použít volbu –armor, která vytvoří soubor ASCII, jak je uvedeno níže.

$ gpg --encrypt --armor --recipient raman a.txt

Dešifrovat soubor

Nyní by váš přítel obdržel váš zašifrovaný soubor. Aby mohl zobrazit obsah souboru, musí soubor dešifrovat. Vzhledem k tomu, že operace dešifrování bude provedena pomocí soukromého klíče vašeho přítele, bude při vytváření klíčů vyžadovat heslo poskytnuté vaším přítelem.

$ gpg --decrypt a.txt.gpg > secret.txt

Nyní bude soubor secret.txt obsahovat skutečný napsaný text.

Odeslat zašifrovaný soubor více příjemcům

Soubor můžete také odeslat více příjemcům pomocí –recipient nebo -r

$ gpg -r raman -r steve -r gopi --encrypt a.txt

Jakmile je zadán výše uvedený příkaz, gpg použije veřejný klíč všech příjemců k zašifrování dat takovým způsobem, aby je mohl dešifrovat kterýkoli z jejich soukromých klíčů.

V našem dalším článku této série vysvětlíme, jak podepsat zprávu s daty a časovým razítkem.


Linux
  1. Jak dekomprimovat formát souboru .xz v Linuxu pomocí nástrojů tar a xz?

  2. Jak převést soubor PPK na klíče OpenSSH a přihlásit se pomocí SSH v Linuxu?

  3. Jak digitálně podepsat soubor v Linuxu pomocí GnuPg (digitální podpisy)

  1. Šifrujte a dešifrujte soubory pomocí přístupové fráze v systému Linux

  2. Jak komprimovat a dekomprimovat soubory .bz2 v Linuxu pomocí příkazu bzip2

  3. Jak určit soukromý klíč při dešifrování souboru pomocí GnuPG?

  1. Jak šifrovat a dešifrovat soubory a adresáře pomocí Tar a OpenSSL

  2. Použití GPG k šifrování a dešifrování souborů v systému Linux [Hands-on pro začátečníky]

  3. Jak šifrovat a dešifrovat soubory/složky v Linuxu pomocí GnuPG