Kryptera enkelt stora filer med OpenSSL

Generera krypteringsnycklar

Först kommer vi att generera de krypteringsnycklar som dokumenten kommer att krypteras med. För att göra detta kör vi en terminal från Linux och skriver:

openssl genrsa -out clave.pem 2048

Med detta steg har vi redan skapat en offentlig och privat nyckel i samma fil. Nyckeln kommer att vara 2048 bitar, att kunna modifiera denna parameter med det värde som vi vill skydda vår fil med.

Därefter extraherar vi den offentliga nyckeln från den föregående filen genom att skriva:

openssl rsa -in clave.pem -out clave.pub.pem -outform PEM -pubout

Med detta har vi redan den publika nyckeln i en separat fil.

Kryptera en fil med OpenSSL-nyckeln

Det offentliga och privata nyckelsystemet kan inte kryptera stora filer, så det finns en omväg för att kryptera filer. För att kryptera en stor fil med denna metod måste vi först kryptera filen med symmetrisk kryptering. Den symmetriska krypteringsnyckeln kommer att beräknas slumpmässigt med OpenSSL och det kommer att vara denna nyckel som vi kommer att kryptera med den tidigare beräknade publika nyckeln.

För att dekryptera en fil måste vi utföra föregående process. Först måste vi dekryptera den slumpmässiga nyckeln med vår publika nyckel och när vi har den slumpmässiga nyckeln, applicera den på den tidigare krypterade filen.

Först skapar vi en slumpmässig nyckel för att kryptera filen.

openssl rand -base64 48 -out key.txt

När nyckeln har skapats kommer vi att kryptera filen med den tidigare beräknade slumpmässiga nyckeln.

openssl enc -aes-256-cbc -pass file:key.txt -in [archivo original] -ut [archivo cifrado].krypterad

Slutligen kommer vi att kryptera den slumpmässiga nyckeln med vilken vi krypterade den föregående filen med den publika nyckeln som genererades tidigare.

openssl rsautl -kryptera -in nyckel.txt -ut nyckel.enc -innyckel clave.pub.pem -pubin

Med dessa steg kommer vi att ha 2 krypterade filer och en nyckel. Krypteringsstrukturen skulle likna följande:

Originalfil > Random Key > Public Key

Vi kan se hur vi nu kommer att ha flera filer. De vi behöver spara är:

  • fil.krypterad
  • key.enc
  • key.pem

Dekryptera filer krypterade med OpenSSL

Dekrypteringsprocessen är det omvända till krypteringsprocessen, som vi förklarade i föregående avsnitt.

Först måste vi dekryptera filen “key.enc” som innehåller den slumpmässiga nyckeln. För att göra detta skriver vi:

openssl rsautl -dekryptera -inkey ./clave.pem -in key.enc -out key.txt

Med denna process får vi key.txt-filen som innehåller den slumpmässiga nyckel som filen krypterades med. Därefter kommer vi att dekryptera filen med:

openssl enc -aes-256-cbc -d -pass file:key.txt -in [archivo cifrado].krypterad -ut [archivo original]

Denna process kommer att återställa vår fil till dess ursprungliga form så att vi kan arbeta med den igen.

Relaterade Artiklar

Back to top button