Utilia

Шифроване на текст с парола

Шифровайте и дешифрирайте текст с парола във вашия браузър с AES-256-GCM и PBKDF2 с 600 000 итерации. Нищо не се качва. Честно обяснени ограничения.

Използвайте дълга парола, например пет или повече случайни думи. Забравена парола не може да бъде възстановена, а шифрованият текст е толкова силен, колкото е тя.

Как да шифровате и дешифрирате текст

  1. Въведете или поставете съобщението си в първото поле или щракнете върху Отвори .txt файл.
  2. Въведете Парола и същата отново в Потвърдете паролата (за шифроване). Отбележете Покажи паролите, за да проверите какво сте написали. Редът за сила дава груба представа колко трудно се налучква паролата.
  3. Щракнете върху Шифровай. Извеждането на ключа отнема около секунда нарочно (вижте по-долу). Резултат е блок текст, който започва с BEGIN ENCRYPTED TEXT. Копирай го в имейл, чат или бележка или Изтегли .txt, за да го запазите като файл.
  4. За да го прочетете отново, поставете целия блок (или отворете .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 и клавиатурната подредба (БДС, фонетична или QWERTY) и се уверете, че целият блок е копиран – от BEGIN до END. Отрязан или променен блок дава същата грешка като грешна парола, по замисъл.

Можете ли да дешифрирате текста ми, ако загубя паролата?

Не. Никой не може: паролата не се съхранява никъде, а да се опитат всички възможности е точно това, което дизайнът прави непрактично.

Мога ли да дешифрирам блока с друга програма?

Форматът е документиран на страницата и използва стандартни примитиви: 1 байт версия, 4 байта брой итерации, солта от 16 байта, IV от 12 байта, после шифротекстът на AES-GCM и неговият етикет от 16 байта, всичко в Base64; заглавието от 33 байта се подава като допълнителни удостоверени данни. Програмист може да го дешифрира с няколко реда код с OpenSSL, пакета cryptography на Python или Web Crypto.

По-добро ли е от шифъра на Цезар или ROT13?

Напълно различно: те само прикриват буквите и се разбиват за секунди. AES-GCM със силна парола е съвременна криптография, която не може да бъде разбита чрез пробване на отмествания или поглед към честотата на буквите.