Хеші/крипто
AES Encrypt/Decrypt
Шифрування й розшифрування тексту через AES-GCM або AES-CBC із паролем (ключ похідний через PBKDF2).
AES — стандарт симетричного шифрування: той самий пароль використовується і для шифрування, і для розшифрування. Інструмент виводить ключ шифрування з пароля через PBKDF2 і шифрує текст режимом AES-GCM або AES-CBC — усе локально в браузері.
Як користуватися
- Шифрування: введіть текст і пароль, оберіть режим (GCM чи CBC) — отримаєте зашифрований результат разом із параметрами (сіль, IV), потрібними для розшифрування.
- Розшифрування: вставте зашифрований текст і той самий пароль, щоб отримати оригінал назад.
- AES-GCM рекомендований за замовчуванням: він одночасно шифрує й перевіряє цілісність даних (autenticated encryption).
Типові сценарії
- Шифрування чутливого тексту перед збереженням чи передачею через ненадійний канал.
- Перевірка сумісності реалізації AES-шифрування між різними мовами програмування чи бібліотеками.
- Навчальний приклад для розуміння різниці між режимами шифрування GCM і CBC.
Що варто памʼятати
IV (вектор ініціалізації) має бути унікальним для кожного шифрування з тим самим ключем — повторне використання пари ключ+IV в GCM повністю руйнує безпеку шифрування.
AES-CBC без окремої перевірки цілісності (MAC) вразливий до атак на модифікацію шифротексту — тому GCM, що поєднує шифрування й автентифікацію в одному режимі, є безпечнішим вибором за замовчуванням.
Стаття про цей інструмент: AES: як працює симетричне шифрування
Часті запитання
Які розміри ключів підтримує AES і який обрати?
AES підтримує ключі 128, 192 та 256 біт. AES-256 — типова рекомендація для нових застосунків: 128 біт вже вважається безпечним, але 256 дає додатковий запас практично без вартості.
Чим відрізняються режими шифрування (наприклад, CBC, GCM)?
GCM автентифікує шифротекст під час шифрування, тому також виявляє підробку — це рекомендований варіант за замовчуванням. CBC лише шифрує і потребує окремого MAC для цілісності, а також випадкового IV при кожному шифруванні.
Чи надсилається мій ключ або відкритий текст кудись?
Ні. Усе шифрування й розшифрування виконується локально у вашому браузері через Web Crypto API — нічого не надсилається на сервер.
Чому не варто використовувати режим ECB?
ECB шифрує кожен блок незалежно й однаково, тому однакові блоки відкритого тексту дають однакові блоки шифротексту — це видає структуру даних (наприклад, повторювані патерни в зображенні лишаються видимими навіть у зашифрованому вигляді). CBC чи GCM з унікальним IV усувають цю проблему.
Що станеться, якщо повторно використати той самий IV з тим самим ключем?
Для GCM це критична помилка — повторне використання пари ключ+IV повністю компрометує конфіденційність і автентичність шифрування. IV завжди повинен бути унікальним для кожного шифрування з тим самим ключем.