Шифрування тексту з паролем
Шифруйте й розшифровуйте текст парольною фразою у браузері: AES-256-GCM і PBKDF2 із 600 000 ітерацій. Нічого не надсилається на сервер. Чесні обмеження.
Використовуйте довгу парольну фразу, наприклад із п’яти й більше випадкових слів. Забуту парольну фразу ніхто не зможе відновити, а зашифрований текст надійний рівно настільки, наскільки вона.
Як зашифрувати й розшифрувати текст
- Введіть або вставте повідомлення в перше поле чи натисніть Відкрити файл .txt.
- Введіть Парольну фразу й ту саму ще раз у Підтвердьте парольну фразу (для шифрування). Позначте Показати парольні фрази, щоб перевірити введене. Рядок надійності дає приблизне уявлення про те, наскільки важко підібрати парольну фразу.
- Натисніть Зашифрувати. Обчислення ключа навмисно триває близько секунди (див. нижче). Результат – це блок тексту, що починається з BEGIN ENCRYPTED TEXT. Скористайтеся Копіювати, щоб вставити його в лист, чат чи нотатку, або Завантажити .txt, щоб зберегти його як файл.
- Щоб прочитати його назад, вставте весь блок (або відкрийте файл .txt) у перше поле, введіть парольну фразу й натисніть Розшифрувати. Поле підтвердження для розшифрування не потрібне.
Якщо парольна фраза неправильна або навіть один символ блоку змінено, ви отримаєте зрозумілу помилку замість перекрученого тексту.
Що відбувається з вашим текстом
Усе виконується у вашому браузері за допомогою вбудованого Web Crypto API. Текст і парольна фраза ніколи нікуди не надсилаються. Інструмент використовує стандартні, добре перевірені будівельні блоки:
- Виведення ключа: PBKDF2 з HMAC-SHA-256 і 600 000 ітерацій – налаштування, яке рекомендує OWASP Password Storage Cheat Sheet для PBKDF2-HMAC-SHA256. Для кожного шифрування генерується нова випадкова сіль завдовжки 16 байтів, тому та сама парольна фраза щоразу дає інший ключ, а заздалегідь обчислені таблиці марні. 600 000 циклів роблять кожну спробу підібрати парольну фразу повільною для зловмисника й є причиною, чому шифрування займає мить.
- Шифрування: AES-256 у режимі GCM (NIST SP 800-38D) зі свіжим випадковим вектором ініціалізації (IV) завдовжки 12 байтів. GCM – це автентифіковане шифрування: 16-байтовий тег виявляє будь-яку зміну. Невеликий заголовок (версія формату, кількість ітерацій, сіль і IV) також автентифікується.
- Вивід: Base64 із заголовком. Блок указує версію формату, тож майбутні версії цього інструмента зможуть читати сьогоднішні повідомлення. Дворазове шифрування того самого тексту дає два різні блоки, і це очікувано.
Чесні обмеження
Цей інструмент призначений для побутової приватності: надіслати другові пароль від Wi-Fi, зберегти особисту нотатку нечитабельною для сторонніх очей або поділитися коротким секретом каналом, якому ви не до кінця довіряєте, передавши парольну фразу іншим способом (особисто чи по телефону).
- Парольна фраза – це все. Слабка ланка – не сам AES-256, а парольна фраза, яку легко вгадати. Коротку чи поширену можна зламати офлайн, попри 600 000 ітерацій, будь-кому, хто має зашифрований блок. Використовуйте п’ять і більше випадкових слів або довгий випадковий пароль із генератора. Оцінка надійності – лише підказка: вона не здатна розпізнати, що «Summer2024!» – поширений шаблон.
- Відновлення немає. Немає чорного ходу, скидання чи копії вашої парольної фрази. Забудете її – і текст втрачено назавжди.
- Ваш пристрій має бути надійним. Зловмисне ПЗ, розширення браузера чи хтось, хто дивиться через плече, можуть прочитати текст до шифрування.
- Метадані не приховано. Довжина блоку приблизно відповідає довжині повідомлення.
- Не заміна усталеним інструментам. Для файлів, резервних копій, довготривалих архівів чи всього чутливого (юридичні, медичні, комерційні таємниці) використовуйте перевірені інструменти, створені для цього: age, GnuPG (OpenPGP) або наскрізне шифрування месенджера на кшталт Signal.
Поширені запитання
Чи надійне це шифрування?
Алгоритми – ті самі, що використовують банки й уряди, застосовані рекомендованим способом (випадкова сіль і IV, автентифіковане шифрування). На практиці безпека дорівнює надійності вашої парольної фрази та пристрою, яким ви користуєтеся.
Чому моя парольна фраза «неправильна», хоча я впевнений, що вона правильна?
Парольні фрази чутливі до регістру, і пробіли враховуються. Перевірте Caps Lock і розкладку клавіатури (українська чи англійська) та переконайтеся, що весь блок скопійовано, від BEGIN до END. Обрізаний чи змінений блок за задумом дає ту саму помилку, що й неправильна парольна фраза.
Чи можете ви розшифрувати мій текст, якщо я втрачу парольну фразу?
Ні. Ніхто не може: парольна фраза ніде не зберігається, а перебір усіх варіантів – саме те, що задум робить непрактичним.
Чи можна розшифрувати блок іншою програмою?
Формат задокументовано на сторінці, і він використовує стандартні примітиви: 1 байт версії, 4-байтова кількість ітерацій, 16-байтова сіль, 12-байтовий IV, потім шифротекст AES-GCM і його 16-байтовий тег, усе в Base64; 33-байтовий заголовок передається як додаткові автентифіковані дані. Розробник може розшифрувати його кількома рядками коду з OpenSSL, пакетом cryptography для Python чи Web Crypto.
Чи краще це за шифр Цезаря або ROT13?
Це зовсім інше: вони лише маскують літери й ламаються за секунди. AES-GCM із надійною парольною фразою – сучасна криптографія, яку не зламати перебором зсувів чи аналізом частот літер.
Схожі інструменти
- Генератор паролів Безкоштовний генератор створює надійні випадкові паролі від 4 до 128 символів у вашому браузері із захищеним генератором. Нічого не зберігається.
- Генератор парольних фраз Створюйте надійні парольні фрази в стилі Diceware зі списку EFF або французького списку, з ентропією в бітах. Безпечна генерація у вашому браузері.
- Генератор хешів: MD5, SHA-256, SHA-512 Створюйте хеші MD5, SHA-1, SHA-256 та SHA-512 для тексту чи файлів будь-якого розміру й перевіряйте контрольні суми. Усе працює у вашому браузері.
- Шифр Цезаря та ROT13 Шифруйте й розшифровуйте текст шифром Цезаря, ROT13 чи ROT47, дивіться зсунутий алфавіт і підбирайте невідомий ключ, перебравши всі 25 зсувів.