AES-256 Шифрувальник файлів
Захистіть паролем будь-який файл у портативний AES-256-GCM зашифрований пакет і розшифруйте його пізніше тим самим паролем, повністю офлайн.
Результат
Цей інструмент перетворює будь-який файл — фото, PDF, zip-архів, що завгодно — на захищений паролем портативний зашифрований пакет, який можна зберегти на USB-накопичувачі, завантажити у власне хмарне сховище чи надіслати комусь іншому, а потім розшифрувати назад маючи лише пароль. Уся робота відбувається у вашій вкладці браузера через нативний Web Crypto API; файл і пароль ніколи не покидають ваш пристрій.
Конструкція — стандартна схема автентифікованого шифрування (AEAD), а не іграшковий шифр: свіжа випадкова 16-байтна сіль і свіжий випадковий 12-байтний IV генеруються при кожному окремому шифруванні, тож шифрування того самого файлу тим самим паролем двічі дає два абсолютно різні, непов'язані результати. Пароль розтягується у 256-бітний ключ через PBKDF2-HMAC-SHA256 за 250 000 ітерацій — реальне, свідомо витратне обчислення, а не миттєвий прохід — перш ніж AES-256-GCM шифрує файл і додає власний тег автентифікації.
Це окреме завдання порівняно з тулом encrypted-notepad на цьому сайті, який створений для короткого вставленого тексту, що зберігається всередині сторінки. Тут вхід і вихід — довільні бінарні файли: сіль, IV та шифротекст об'єднані в один невеликий самодостатній .enc файл із коротким заголовком, тож пакет несе все необхідне для розшифрування будь-де, будь-ким, хто має пароль — без зовнішнього файлу ключа, без серверного пошуку, без витоку метаданих про алгоритм чи параметри, окрім тих, що вказані в самому заголовку.
Розшифрування повторно виводить ключ з пароля та солі, збереженої у власному заголовку файлу, а потім дозволяє тегу автентифікації AES-GCM виконати свою роботу: якщо пароль неправильний або файл був змінений хоч на один байт, розшифрування чисто провалюється з чіткою помилкою замість тихого повернення сміття. Немає шляху відновлення і немає бекдору — якщо пароль втрачено, файл втрачено, і в цьому весь сенс справжнього шифрування.