Хеші/крипто

PGP/GPG Encrypt/Decrypt

Генерація PGP-ключів, шифрування й розшифрування повідомлень (OpenPGP, RFC 4880) через бібліотеку openpgp.js.


                        

                        

PGP/OpenPGP (RFC 4880) використовує пару ключів — публічний і приватний — для наскрізного шифрування повідомлень і цифрових підписів. Інструмент генерує ключі, шифрує й розшифровує повідомлення через бібліотеку openpgp.js прямо в браузері.

Як користуватися

Типові сценарії

Що варто памʼятати

Публічний ключ можна вільно поширювати — саме він потрібен іншим, щоб зашифрувати повідомлення для вас; приватний ключ ніколи не можна передавати нікому.

Втрата приватного ключа без резервної копії означає неможливість розшифрувати старі повідомлення — саме тому одразу після генерації ключа варто створити сертифікат відкликання (revocation certificate).

Стаття про цей інструмент: PGP: як працює шифрування з відкритим і приватним ключем

Часті запитання

Чим відрізняються шифрування і підписання в PGP?

Шифрування перетворює повідомлення так, щоб прочитати його міг лише власник приватного ключа отримувача, використовуючи його публічний ключ. Підписання робить навпаки — використовує ваш приватний ключ, щоб довести, що повідомлення від вас і не змінене, а перевірити це може будь-хто за вашим публічним ключем.

Чи потрібно довіряти цьому інструменту свій приватний ключ?

Уся генерація ключів, шифрування, розшифрування й підписання відбуваються повністю у вашому браузері — приватний ключ ніколи не надсилається на сервер. Тим не менш, ставтеся до будь-якого вставленого сюди приватного ключа з такою ж обережністю, як і завжди.

Чим відрізняються ключі RSA та ECC тут?

RSA — старіший, ширше підтримуваний варіант, який зазвичай потребує довших ключів (2048+ біт) для еквівалентної безпеки. ECC (еліптичні криві) досягає подібної безпеки набагато коротшими ключами, що робить його швидшим, хоча трохи менш універсально підтримуваним старішим ПЗ.

Що таке Web of Trust і чим воно відрізняється від X.509?

На відміну від X.509, де довіру гарантує централізований центр сертифікації, PGP покладається на «павутину довіри»: користувачі самі підписують публічні ключі одне одного, підтверджуючи особисту перевірку належності ключа. Довіра до незнайомого ключа виникає через ланцюжок підписів людей, яким ви вже довіряєте.

Що станеться, якщо загубити приватний ключ?

Без приватного ключа неможливо розшифрувати повідомлення, зашифровані для вас, або поставити підпис від свого імені — відновити ключ неможливо, якщо немає резервної копії. Саме тому створення сертифіката відкликання (revocation certificate) одразу після генерації ключа — важлива практика.

Статті: Хеші/крипто

Hash Generator: чим MD5, SHA-1 і SHA-256 відрізняються одна від одної

Чому MD5 досі використовують для перевірки цілісності файлів, але не для паролів.

Checksum Verifier: як перевірити, що файл не пошкоджено

Чому збіг контрольної суми підтверджує цілісність файлу, але не те, хто його створив.

HMAC: чим хеш з ключем відрізняється від звичайного хешу

Чому звичайний SHA-256 не захищає від підробки повідомлення, а HMAC — захищає.

Bcrypt: чому паролі хешують повільно, а не швидко

Чому швидкий SHA-256 — погана ідея для паролів, а повільний bcrypt — правильна.

UUID: як генерують ідентифікатори, що майже ніколи не повторюються

Чому UUID v4 можна генерувати незалежно на мільйонах машин без ризику колізій.

Генератор паролів: що насправді робить пароль стійким

Чому довгий пароль зі словника надійніший за короткий з символами й цифрами.

AES: як працює симетричне шифрування

Чому той самий ключ шифрує і розшифровує дані в AES, і чим це відрізняється від асиметричного шифрування.

Argon2: чому цей алгоритм переміг конкурс на хешування паролів

Чим Argon2 краще захищає від атак на відеокартах, ніж старіші алгоритми хешування паролів.

Scrypt: навіщо алгоритму потрібно багато пам'яті

Чому scrypt навмисно вимагає багато пам'яті, щоб ускладнити перебір на ASIC-пристроях.

TOTP: як працюють одноразові коди в застосунках-автентифікаторах

Чому код у Google Authenticator працює без інтернету і синхронізується із сервером лише за часом.

PBKDF2: найстаріший стандарт розтягування ключів

Чому рекомендована кількість ітерацій PBKDF2 зростає з кожним роком.

X.509: що всередині SSL-сертифіката

Що саме браузер перевіряє в сертифікаті сайту, перш ніж показати зелений замочок.