концепції / asymmetric-encryption
Асиметричне шифрування
За словами каналу, «одна концепція пари ключів, що пояснює половину сучасної безпеки»: пара публічного/приватного ключів, де — на відміну від єдиного спільного секрету в симетричній криптографії — приватний ключ ніколи не треба нікому передавати. У присвяченому відео (асиметричне шифрування і цифрові підписи) Віктор на робочих демо з Node.js crypto показує, як ця одна ідея лежить в основі HTTPS, SSH-ключів, PGP, підписування JWT, блокчейн-гаманців і навіть Google Authenticator. В алгебрі він точний: у RSA два ключі взаємозамінні за своїми математичними властивостями, тоді як на еліптичних кривих ролі публічного і приватного зафіксовані — EC дає обмін ключами Діффі—Геллмана і підписи, але не пряме шифрування в стилі RSA.
Ключовий практичний момент, який він наголошує: асиметрична криптографія приблизно в 100–1000 разів повільніша за симетричну, тому реальні системи використовують її лише для обміну симетричним ключем, а далі переходять на AES/ChaCha20 для самих даних — саме так працює TLS. І незмінне попередження, через цитату Брюса Шнаєра: ніколи не пишіть власну криптографію. У 3 речах, які роблять програміста кращим він доводить: навіть розуміння публічних/приватних ключів на рівні абетки — саме те, що щеплює розробників від класичних хибних уявлень «JWT зашифрований» і «Basic Auth безпечний».
Розібрано у відео
- Що захищає твої дані й гроші від хакерів? Асиметричне шифрування та цифровий підпис
головне відео: пари ключів, RSA проти еліптичних кривих, чому асиметрія лише бутстрапить симетричний ключ, демо на Node.js, попередження Шнаєра
- Хешування, кодування, шифрування — у чому різниця?
представлене як двоключовий варіант (RSA, еліптичні криві), що працює в обидва боки — а саме це й уможливлює цифрові підписи
- 3 речі, які роблять програміста кращим
розуміння пари ключів на рівні абетки як протиотрута від хибних уявлень про JWT/Basic Auth
Повʼязане
Шифрування — симетрична половина картини (один спільний ключ, швидко). Цифрові підписи — друга можливість, яку відкриває пара ключів. Автентифікація за SSH-ключами, JWT, HTTPS і TLS, Холодні криптогаманці — застосування, які канал виводить з цієї однієї концепції. Хешування — підпис обчислюється над хешем документа.