PGP – Pretty Good Privacy

PGP – Pretty Good Privacy hjälper dig att kryptera dina filer, dina meddelanden, dina epost.
Om du programmerar i PHP så finns det stöd för GnuPG (Öppen version av PGP) kryptering.

I den här texten får du en lista med kommandon hur du använder GnuPG på din dator.
Med GnuPG kan du kryptera dina texter och binärfiler för personligt bruk,
eller kryptera en kopia av din fil så bara en specifik mottagare kan dekryptera filen.

Alla kommandon kommer från den officiella GnuPG manualen.

Krypterad epost

Om du enbart vill ha krypterad epost, gå då direkt till guiden om PGP i Thunderbird.

Installera

I Ubuntu skriver du detta:

sudo apt-get install gnupg

I MacOS skriver du detta:

brew install gnupg

Kör du Windows så får du kolla på GnuPGs nedladdningssida för jag har ingen erfarenhet av Windows.

Skapa krypteringsnycklar

Först behöver du två krypteringsnycklar. Din privata och din publika. De genererar du så här:

gpg --gen-key

Du behöver ange ditt namn, din epostadress och en lösenordsfras.

Lista krypterinsgnycklar

Du kan lista dina nycklar och alla publika nycklar som du har importerat.

gpg --list-keys

Flytta nycklar till en annan dator

Enklast är att kopiera katalogen: ”.gnupg”

Ett annat alternativ är att importera den privata nyckelfilen

gpg --import {filename}.key

Kryptera och dekryptera egna filer

Om du vill kryptera dina egna filer för personligt bruk så kan du göra så här:

Kryptera en fil som bara du kan öppna

gpg --output {file_name}.gpg --symmetric {input_filename}

Skriv in din lösenordsfras.

Dekryptera en fil som du har krypterat

gpg --output {decrypted_filename} --decrypt {file_name}.gpg

Skicka krypterad fil till någon annan

När du vill skicka en krypterad fil till någon annan behöver du mottagarens publika nyckel, och mottagaren behöver din publika nyckel.
Eftersom nycklarna är just publika så kan ni skicka dem i epost till varandra. Det är i verifieringsfasen när du importerar någons publika nyckel som ni behöver prata med varandra.
Ett sätt att dela nycklar är genom ett central register, till exempel här: https://pgp.mit.edu/

Du kan skapa en fil av din publika nyckel så här:

Exportera en publik nyckel (Binärversion)

gpg –output {filnamn}.gpg –export {nyckel_id}
Filnamn är valbart, till exempel: mittnamn-pub.gpg
Nyckel_id är det långa nummer du ser när du listar alla nycklar.

Exportera en publik nyckel (Textversion)

Lämplig när du ska tejpa in din publika nyckel i ett epost eller annat textdokument.
Du kommer att få se den publika nyckeln som text på skärmen och kan då kopiera den.

gpg --armor --export {nyckel_id}

Generera ett återkallande av nyckel

Om du vill återkalla en publik nyckel så distribuerar du ett återkallande.

gpg --output revoke.asc --gen-revoke {nyckel_id}

Importera en publik binär nyckel

gpg --import {filnamn}.gpg

Importera en publik textversion av en nyckel

Kopiera in texten i en fil och importera precis som du gör med en binärfil.

gpg --import {filnamn}.gpg

Verifiera den importerade publika nyckeln

Lista nycklarna

gpg --list-keys

Kopiera nyckel_id på den nyckel du vill verifiera.

gpg --edit-key {nyckel_id}

Nu får du se information om den importerade nyckeln och du kommer in i ett speciellt kommando läge där du kan skriva kommandon.
Kommandot ”fpr” visar den publika nyckelns fingeravtryck.
Kontakta nu ägaren till den publika nyckeln och jämför att ni har samma fingeravtryck. Om fingeravtrycken är samma så kan du signera den publika nyckeln.
Kommandot ”sign” signerar den publika nyckeln.
Kommandot ”check” visar information om den publika nyckeln.
Kommandot ”quit” frågar om du vill spara ändringarna och avslutar sedan.
Om du listar nycklarna igen så ser du att uid har ändrats från [okänt] till [fullständigt] och då kan du använda mottagarens nyckel.

Skicka krypterat

Nu när du kan det här med att utbyta publika nycklar och verifiera nycklar, då kan du skicka ett meddelande till någon av dina signerade mottagare.

Kryptera ett meddelande (Du skickar till någon annan)

gpg --output {filnamn}.gpg --encrypt --recipient {email@address.com} filnamn

Du behöver ange filnamn på den utgående filen: hej.gpg
Du behöver ange mottagarens epostadress, den du såg bland dina listande nycklar.
Och namnet på själva filen som du vill skicka: minbild.jpg (vilken fil som helst)

Dekryptera ett meddelande (Någon skickar till dig)

gpg --output filnamn --decrypt {filnamn}.gpg

Signera en fil

När du signerar en fil så säger du att ”Jag intygar att checksumman av det här dokumentet är xxx”. Då kan mottagaren se att du är du och att dokumentet är orört sedan du granskade det.
Du kan signera vilken fil du vill och själva filen behöver inte vara krypterad. Det betyder att du kan eposta en bilaga precis som vanligt och lägga till din signering i en separat fil.

Skapa en separat signeringsfil

Du kan signera valfri fil. En separat signeringsfil skapas.

gpg --output {filnamn}.sig --detach-sig {filnamn_på_fil_du_vill_signera}

Verifiera en separat signeringsfil

gpg --verify {filnamn}.sig {filnamn_på_fil_du_vill_kontrollera_signeringen_på}

Det finns fler signeringsalternativ. Se handboken.

CharZam