Utilia

Tekstkryptering

Krypter og dekrypter tekst med en passfrase i nettleseren, med AES-256-GCM og PBKDF2 (600 000 iterasjoner). Ingenting lastes opp. Ærlige begrensninger forklart.

Bruk en lang passfrase, for eksempel fem eller flere tilfeldige ord. Ingen kan gjenopprette en glemt passfrase, og den krypterte teksten er bare så sterk som den.

Slik krypterer og dekrypterer du tekst

  1. Skriv eller lim inn meldingen i den første boksen, eller klikk Åpne en .txt-fil.
  2. Skriv inn en Passfrase, og den samme igjen i Bekreft passfrasen (for kryptering). Kryss av for Vis passfrasene for å kontrollere det du skrev. Styrkelinjen gir en grov idé om hvor vanskelig passfrasen er å gjette.
  3. Klikk Krypter. Å utlede nøkkelen tar omtrent ett sekund med vilje (se under). Resultat er en tekstblokk som begynner med BEGIN ENCRYPTED TEXT. Kopier den inn i en e-post, en chat eller et notat, eller Last ned .txt for å ta vare på den som en fil.
  4. For å lese den igjen limer du inn hele blokken (eller åpner .txt-filen) i den første boksen, skriver inn passfrasen og klikker Dekrypter. Bekreftelsesfeltet trengs ikke for dekryptering.

Hvis passfrasen er feil, eller selv ett tegn i blokken er endret, får du en tydelig feilmelding i stedet for rotete tekst.

Hva som skjer med teksten din

Alt kjører i nettleseren din med det innebygde Web Crypto API. Teksten og passfrasen sendes aldri noe sted. Verktøyet bruker standard, godt gjennomgåtte byggeklosser:

  • Nøkkelutledning: PBKDF2 med HMAC-SHA-256 og 600 000 iterasjoner, innstillingen OWASP Password Storage Cheat Sheet anbefaler for PBKDF2-HMAC-SHA256. Et nytt, tilfeldig salt på 16 byte genereres for hver kryptering, så den samme passfrasen gir en ny nøkkel hver gang, og forhåndsberegnede tabeller er ubrukelige. De 600 000 rundene gjør hver gjetning på passfrasen treg for en angriper, og er grunnen til at krypteringen tar et øyeblikk.
  • Kryptering: AES-256 i GCM-modus (NIST SP 800-38D) med en ny, tilfeldig IV på 12 byte. GCM er autentisert kryptering: en tagg på 16 byte oppdager enhver endring. Den lille overskriften (formatversjon, antall iterasjoner, salt og IV) er også autentisert.
  • Utdata: Base64 med en overskrift. Blokken oppgir formatversjonen, så fremtidige versjoner av dette verktøyet fortsatt kan lese dagens meldinger. Å kryptere den samme teksten to ganger gir to ulike blokker, og det er som forventet.

Ærlige begrensninger

Verktøyet er ment for hverdagslig personvern: å sende et Wi-Fi-passord til en venn, å gjøre et personlig notat uleselig for nysgjerrige blikk, eller å dele en kort hemmelighet over en kanal du ikke stoler helt på, med passfrasen gitt på en annen måte (ansikt til ansikt eller på telefon).

  • Passfrasen er alt. Selve AES-256 er ikke det svake leddet. Det er en gjettbar passfrase. En kort eller vanlig en kan knekkes frakoblet, til tross for de 600 000 iterasjonene, av alle som har den krypterte blokken. Bruk fem eller flere tilfeldige ord, eller et langt tilfeldig passord fra en generator. Styrkeanslaget er bare et hint: det kan ikke se at «Sommer2024!» er et vanlig mønster.
  • Ingen gjenoppretting. Det finnes ingen bakdør, ingen tilbakestilling og ingen kopi av passfrasen din. Glemmer du den, er teksten tapt for alltid.
  • Enheten din må være til å stole på. Skadevare, en nettleserutvidelse eller noen som ser deg over skulderen, kan lese teksten før den krypteres.
  • Metadata skjules ikke. Lengden på blokken avslører omtrent lengden på meldingen.
  • Ingen erstatning for etablerte verktøy. For filer, sikkerhetskopier, langtidsarkiver eller noe sensitivt (juridisk, medisinsk, forretningshemmeligheter) bruker du reviderte verktøy laget for det: age, GnuPG (OpenPGP), eller ende-til-ende-krypteringen i en meldingsapp som Signal.

Ofte stilte spørsmål

Er denne krypteringen sikker?

Algoritmene er de samme som banker og myndigheter bruker, brukt på den anbefalte måten (tilfeldig salt og IV, autentisert kryptering). I praksis er sikkerheten den samme som passfrasen din og enheten du bruker.

Hvorfor er passfrasen «feil» når jeg er sikker på at den er riktig?

Passfraser skiller mellom store og små bokstaver, og mellomrom teller. Sjekk Caps Lock og tastaturoppsettet, og kontroller at hele blokken ble kopiert, fra BEGIN til END. En avkortet eller endret blokk gir samme feil som en feil passfrase, med vilje.

Kan dere dekryptere teksten min hvis jeg mister passfrasen?

Nei. Ingen kan det: passfrasen lagres ingen steder, og å prøve alle muligheter er nettopp det designet gjør upraktisk.

Kan jeg dekryptere blokken med et annet program?

Formatet er dokumentert på siden og bruker standard byggeklosser: 1 versjonsbyte, et antall iterasjoner på 4 byte, saltet på 16 byte, IV-en på 12 byte, og så AES-GCM-chifferteksten og dens tagg på 16 byte, alt i Base64. Overskriften på 33 byte sendes inn som ekstra autentiserte data. En utvikler kan dekryptere den med noen få linjer kode ved hjelp av OpenSSL, Pythons cryptography-pakke eller Web Crypto.

Er det bedre enn en Caesar-chiffer eller ROT13?

Helt annerledes: de forkler bare bokstaver og brytes på sekunder. AES-GCM med en sterk passfrase er moderne kryptografi som ikke kan brytes ved å prøve forskyvninger eller se på bokstavhyppighet.