AES-256 bestandsencryptor
Beveilig elk bestand met een wachtwoord in een draagbare, met AES-256-GCM gecodeerde bundel en decodeer het later weer met hetzelfde wachtwoord, geheel offline.
Resultaat
Deze tool verandert elk bestand (een foto, een pdf, een zip-archief, wat dan ook) in een met een wachtwoord beveiligde, draagbare gecodeerde bundel die u op een USB-station kunt opslaan, naar uw eigen cloudopslag kunt uploaden of naar iemand anders kunt verzenden, en later opnieuw kunt decoderen met niets anders dan het wachtwoord. Elke byte van het werk gebeurt binnen uw browsertabblad met behulp van de native Web Crypto API; het bestand en het wachtwoord verlaten uw machine nooit.
De constructie is een standaard geauthenticeerd encryptieschema (AEAD), geen speelgoedcijfer: een nieuwe willekeurige salt van 16 bytes en een nieuwe willekeurige 12-byte IV worden gegenereerd bij elke afzonderlijke versleuteling, dus het tweemaal versleutelen van hetzelfde bestand met hetzelfde wachtwoord levert twee totaal verschillende, niet-gerelateerde uitvoer op. Het wachtwoord wordt uitgerekt tot een 256-bits sleutel met PBKDF2-HMAC-SHA256 in 250.000 iteraties – een echte, opzettelijk dure berekening, geen instant pass-through – voordat AES-256-GCM het bestand codeert en een eigen authenticatietag toevoegt.
Dit is een andere taak dan de gecodeerde kladblok-tool van deze site, die is gebouwd voor kort geplakte tekst die op de pagina wordt bewaard. Hier zijn de invoer en uitvoer willekeurige binaire bestanden: de salt-, IV- en cijfertekst worden samengevoegd tot één klein op zichzelf staand .enc-bestand met een korte header, zodat de bundel alles bevat wat nodig is om waar dan ook te worden gedecodeerd, door iedereen die het wachtwoord heeft - geen extern sleutelbestand, geen opzoeking op de server, geen metagegevens die zijn gelekt over welk algoritme of welke parameters zijn gebruikt, afgezien van wat de header zelf aangeeft.
Bij de decodering wordt de sleutel opnieuw afgeleid van het wachtwoord en de salt die is opgeslagen in de eigen header van het bestand, en wordt vervolgens de authenticatietag van AES-GCM zijn werk laten doen: als het wachtwoord verkeerd is of als het bestand zelfs maar met één byte is gewijzigd, mislukt de decodering netjes met een duidelijke fout in plaats van stilzwijgend afval terug te sturen. Er is geen herstelpad en geen achterdeur: als het wachtwoord verloren gaat, is het bestand verdwenen, wat het hele punt van echte codering is.