GPG

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

Vad är GPG?

GPG, eller GNU Privacy Guard, är ett verktyg för kryptografi som följer OpenPGP-standarderna. Det erbjuder användare gratis och användarvänlig filkryptering och möjliggör integration av kryptering med e-post och operativsystem som Linux via en grafisk användargränssnitt (GUI) eller kommandorad. GPG hjälper till att hantera offentliga och privata nycklar och utför kryptering, dekryptering, signering och verifiering av operationer. Det är en öppen källkods-version av PGP (Pretty Good Privacy) och inkluderar grundläggande nyckelhantering, symmetrisk och asymmetrisk kryptering, dekryptering, signering av meddelanden och verifiering av signaturer.

GnuPG är ett program för hybridkryptering eftersom det använder en kombination av konventionell symmetrisk nyckelkryptografi för hastighet, och asymmetrisk kryptografi (publik och privat nyckel) för att underlätta en säker nyckelutbyte. Vanligtvis används mottagarens offentliga nyckel för att kryptera en sessionsnyckel, som bara används en gång. Detta sätt att operera är en del av OpenPGP-standarden och har varit en del av PGP sedan dess första version

PGP använder en "web of trust" för att etablera äktheten av sambandet mellan en offentlig nyckel och dess ägare. Detta decentraliserade förtroendemodell är ett alternativ till det centraliserade förtroendemodellen av en public key infrastructure (PKI), som förlitar sig uteslutande på en certifieringsmyndighet. Användare kan själva välja att lita på en nyckel och kan signera en annans användares offentliga nyckel för att bekräfta dess äkthet, vilket bidrar till förtroendet för den nyckeln i nätverket.

Vid kryptering genererar PGP först en slumpmässig sessionsnyckel med hjälp av en av två huvudalgoritmer. Denna nyckel är ett stort tal som inte kan gissas och används bara en gång. Därefter krypteras denna sessionsnyckel med hjälp av mottagarens offentliga nyckel.

För att använda GPG (GNU Privacy Guard) följer du vanligtvis dessa steg:

1. Generera en GPG-nyckel:

Använd kommandot `gpg --full-generate-key` för att skFör att generera en GPG-nyckel i Linux använder du kommandot `gpg --full-generate-key`. Du kommer att gå igenom en serie frågor där du kan välja nyckeltyp, nyckelns giltighetstid, och ange användarinformation såsom namn och e-postadress. För de flesta användare är det tillräckligt att acceptera standardinställningarna. Efter att du har fyllt i den nödvändiga informationen kommer GPG att generera en nyckelpar bestående av en offentlig och en privat nyckel som är knutna till varandra med ett unikt ID ..apa ett par av GPG-nycklar, vilket består av en offentlig och en privat nyckel.

2. Kryptera file:

För att kryptera en fil, använd kommandot `gpg --encrypt --output file.gpg --recipient [email protected] fil`, där du byter ut `[email protected]` mot mottagarens e-post och `fil` mot namnet på filen du vill kryptera.

3. Dekryptera filer:

För att dekryptera en krypterad fil, använd `gpg --decrypt --output fil file.gpg`, där `file.gpg` är den krypterade filen och `fil` är namnet på utdatafilen för det dekrypterade innehållet.

4. Dela offentliga nycklar:

För att låta andra kryptera filer för dig, exportera din offentliga nyckel med `gpg --output key.gpg --export id` och dela filen `key.gpg` med mottagaren. De kan importera den med `gpg --import key.gpg`. Efter importering bör de signera nyckeln med `gpg --edit-key id` och `sign` för att lita på nyckeln.

Det här är en övergripande översikt; specifika detaljer och alternativ kan variera baserat på ditt system och den version av GPG du använder.

Installera GPG

För att installera GPG på en Linux-distribution följer du vanligtvis dessa steg:

1. Öppna terminalen.

2. Uppdatera ditt paketindex med kommandot `sudo apt update` (för Debian-baserade system) eller motsvarande för din distribution.

3. Installera GPG med kommandot `sudo apt install gnupg` för Debian-baserade system eller motsvarande pakethanteringskommando för din distribution (t.ex. `yum` för Red Hat-baserade eller `pacman` för Arch-baserade system).

Se till att anpassa kommandona efter din specifika Linux-distribution.

Skapa nyckel

För att generera en GPG-nyckel i Linux använder du kommandot `gpg --full-generate-key`. Du kommer att gå igenom en serie frågor där du kan välja nyckeltyp, nyckelns giltighetstid, och ange användarinformation såsom namn och e-postadress. För de flesta användare är det tillräckligt att acceptera standardinställningarna. Efter att du har fyllt i den nödvändiga informationen kommer GPG att generera en nyckelpar bestående av en offentlig och en privat nyckel som är knutna till varandra med ett unikt ID.

Vilka kryptografiska algoritmer stödjer gpg?

GPG (GNU Privacy Guard) använder ett antal kryptografiska algoritmer, både för symmetrisk och asymmetrisk kryptering samt för hashfunktioner och digitala signaturer. Här är några av de algoritmer som GPG stöder:

- Symmetriska algoritmer: AES (128, 192 och 256-bit), Twofish, 3DES, CAST5, Blowfish, CAMELLIA (128, 192, 256-bit), och flera andra【28†källa】.

Dessa symmetriska krypteringsalgoritmer används för att säkert kryptera innehållet i meddelanden. Användaren kan välja vilken av dessa algoritmer som ska användas för att kryptera datan.

För asymmetrisk kryptering (som innefattar nyckelgenerering och digitala signaturer) stödjer GPG bland annat:

- Asymmetriska algoritmer: RSA, DSA, ElGamal, ECDH, ECDSA, och EdDSA.

Hashfunktioner som SHA-256 och SHA-1 används för att skapa en unik hash av data, som kan användas för att verifiera integriteten hos meddelanden. För digitala signaturer kan RSA eller DSA användas för att skapa och verifiera signaturer.

Det är viktigt att notera att vissa av dessa algoritmer (som IDEA och 3DES) kan anses vara föråldrade och inte rekommenderas för hög säkerhet. Användare bör välja moderna, starka algoritmer som AES eller Twofish för symmetrisk kryptering, och RSA eller ECDSA för asymmetriska operationer och digitala signaturer.