Utilia

PGP-sleutels genereren en versleutelen

Genereer OpenPGP-sleutels (Curve25519 of RSA 4096) en versleutel, ontsleutel, onderteken en verifieer PGP-berichten in je browser, zonder iets te uploaden.

Sleutels, berichten en wachtzinnen blijven in je browser: deze tool draait OpenPGP lokaal en verstuurt nooit iets. Sluit de pagina als je klaar bent.

Actie

Zo gebruik je de PGP-sleutelgenerator

  1. Vul onder Sleutels genereren een Naam en/of een E-mail in, kies een Wachtzin (beschermt de privésleutel) en typ die nog eens bij Bevestig de wachtzin.
  2. Kies een Sleuteltype: ECC Curve25519 (aanbevolen), RSA 3072 bits of RSA 4096 bits, en klik op Sleutelpaar genereren. RSA-sleutels duren een paar seconden.
  3. Controleer de Gebruikers-ID, de Sleutel-ID en de Vingerafdruk, en gebruik daarna Publieke sleutel downloaden (.asc), Privésleutel downloaden (.asc) en Intrekkingscertificaat downloaden. Er wordt niets opgeslagen: bewaar de bestanden voordat je de pagina verlaat.
  4. Wil je een geheim bericht sturen, open dan Versleutelen, plak de Publieke sleutel(s) van de ontvanger (meerdere blokken mogen), typ het Bericht en klik op Versleutelen. Vink Ook ondertekenen met mijn privésleutel aan om te bewijzen dat jij het hebt geschreven.
  5. Wil je een bericht lezen dat aan jou is gestuurd, open dan Ontsleutelen, plak het Versleuteld bericht, Je privésleutel en de wachtzin, en klik op Ontsleutelen. Voeg de publieke sleutel van de afzender toe om de handtekening te controleren.
  6. Ondertekenen maakt een cleartext-handtekening die iedereen kan lezen; Verifiëren controleert die met de Publieke sleutel van de ondertekenaar.

Een vers gegenereerd sleutelpaar wordt ook in de andere tabbladen ingevuld, zodat je de hele cyclus in één keer kunt uitproberen.

Hoe PGP-versleuteling werkt

PGP (gestandaardiseerd als OpenPGP in RFC 4880 en de opvolger RFC 9580) gebruikt een sleutelpaar. De publieke sleutel mag je met iedereen delen: daarmee worden berichten aan jou versleuteld en jouw handtekeningen geverifieerd. De privésleutel houd je zelf: daarmee ontsleutel je die berichten en zet je handtekeningen. Elk bericht wordt in feite versleuteld met een willekeurige sessiesleutel (AES), en alleen die kleine sessiesleutel wordt versleuteld met de publieke sleutels van de ontvangers. Daarom kan één bericht aan meerdere mensen tegelijk gericht zijn.

De vingerafdruk is een hash van de publieke sleutel. Vergelijk hem via een ander kanaal met je correspondent (persoonlijk, telefonisch) voordat je een sleutel vertrouwt die je per e-mail hebt ontvangen: zo bescherm je je tegen een verwisselde sleutel. De Sleutel-ID is gewoon de laatste 16 hexadecimale tekens van de vingerafdruk.

Welk sleuteltype kies je?

  • ECC Curve25519 maakt een Ed25519-sleutel om te ondertekenen, met een Curve25519-subsleutel (X25519) om te versleutelen. De sleutels zijn klein, snel en even sterk als RSA 3072. Dit versie 4-formaat wordt ondersteund door GnuPG 2.2 en later, Thunderbird, Proton Mail en de andere actuele OpenPGP-programma’s.
  • RSA 3072 / 4096 is de keuze voor heel oude software die geen elliptische curves kent. 4096 bits geeft een kleine extra marge ten opzichte van 3072, ten koste van grotere sleutels en tragere bewerkingen.

Beveiligingstips en beperkingen

  • De tool draait de opensourcebibliotheek OpenPGP.js in je browser. Sleutels, berichten en wachtzinnen worden nooit geüpload, en de bibliotheek wordt pas geladen als je op een knop klikt.
  • Kies een lange wachtzin: het bestand met de privésleutel wordt ermee versleuteld, en hij is je laatste verdedigingslinie als het bestand wordt gekopieerd.
  • Bewaar het intrekkingscertificaat offline. Raak je je privésleutel kwijt of wordt hij gestolen, dan laat je met dat certificaat aan anderen weten dat de sleutel niet meer gebruikt mag worden.
  • Een browserpagina is handig, maar geen beveiligde omgeving: genereer sleutels voor langdurig en waardevol gebruik liever offline met GnuPG op een vertrouwde computer.
  • De tool werkt met tekstberichten. Hij beheert geen sleutelbos, geen sleutelservers, geen vervaldatums en versleutelt geen bestanden.

Veelgestelde vragen

Worden mijn privésleutel en berichten naar een server gestuurd?

Nee. Alles, ook het genereren van sleutels, gebeurt lokaal met JavaScript in je browser. Je kunt zelfs de internetverbinding verbreken nadat de pagina is geladen en de bibliotheek één keer is gebruikt.

Kan ik de sleutels gebruiken met GnuPG of Thunderbird?

Ja. De gedownloade .asc-bestanden zijn standaard OpenPGP-sleutels in ASCII-armor. Importeer ze met gpg --import bestand.asc of via het OpenPGP-sleutelbeheer van Thunderbird.

Wat gebeurt er als ik de wachtzin vergeet?

Dan kan de privésleutel niet meer worden ontgrendeld en zijn berichten die ermee versleuteld zijn niet meer te lezen. Herstel is onmogelijk: publiceer je intrekkingscertificaat en maak een nieuwe sleutel.

Waarom staat er bij het ontsleutelde bericht dat de handtekening niet is gecontroleerd?

Het bericht is ondertekend, maar de tool heeft de publieke sleutel van de afzender nodig om het te verifiëren. Plak die bij Publieke sleutel van de afzender en ontsleutel opnieuw.

Wat is het verschil tussen ondertekenen en versleutelen?

Versleutelen verbergt de inhoud, zodat alleen de ontvangers hem kunnen lezen. Een handtekening laat de tekst leesbaar, maar bewijst wie hem heeft geschreven en dat hij niet is gewijzigd. Met Versleutelen kun je beide tegelijk doen.