#Криптографія
1 нотатка
- ActiveRecord
- AmazonRedshift
- API
- AppleScript
- AWS
- AWSLambda
- Cadencia
- CGO
- Chezmoi
- CI
- Clojure
- Cloudflare
- CloudflarePages
- CloudWatch
- CssParser
- CтохастичнийТаймтрекер
- DNS
- Docker
- Dotfiles
- Fly.io
- GCP
- Git
- GitHub
- GitHubActions
- Go
- Golang
- GTD
- HomeAssistant
- Hugo
- I18next
- JavaScript
- Jira
- JSON
- Kafka
- MacMiniВДорозі
- MacOS
- Markdown
- Mastodon
- Obsidian
- ObsidianCanvas
- OmniWOPE
- OpenSearch
- Oura
- PagerDuty
- Ping
- Plausible
- PostgreSQL
- ReactNative
- Redis
- RSS
- Ruby
- RubyOnRails
- Sentry
- Sintra
- Slack
- SMTP
- SQL
- SQLite
- Svelte
- Swift
- SwiftData
- SwiftUI
- Telegram
- Terraform
- TLS
- TypeScript
- Vercel
- VPN
- WeightPlot
- WordPress
- XCode
- Адвент2024
- Бази Даних
- БДС
- Безпека
- Блокнот
- Вебтехнології
- ВолюІнформації
- Гаджети
- ДизайнМовПрограмування
- Ігри
- Інструменти
- ІнтеграційніТести
- Кава
- КеруваннняЗадачами
- Кодогенерація
- Криптографія
- Локалізація
- Маркетинг
- МетаПост
- МоїПроєкти
- Навігація
- Оптимізація
- ОсновиІнтернетБезпеки
- Помічник ШІ
- ПомічникШІ
- ПостПроПохід
- Програмування
- Продуктивність
- Проєкти
- Проза
- РДУГ
- Рівночасність
- РобочийКомп
- Розробка
- РозумнийБудинок
- СинПопросивПриготувати
- Сон
- СтохастичнийТаймтрекер
- Танці
- ХмарніТехнології
-
Шифрування на кожний день: AEAD
В криптографії я повний дилетант. Тому, коли постає задача “щось зашифрувати”, очі розбігаються від різних алгоритмів, режимів, жаргону і так далі.
Тому ділюся головним скороченням, яке треба знати: AEAD. Якщо вам потрібно “щось зашифрувати”, то оце воно. AEAD попросту значить, що окрім зашифрованого повідомлення, передається також і його підпис — за яким можна підтвердити, що дані не сфальсифіковані. (Цікавий факт: будь-які двійкові дані можна “розшифрувати” за алгоритмом та отримати якийсь відкритий текст. Так що підпис рятує не тільки від фальсифікації, а й просто втрати інформації.)
Але насправді навіть не потрібно знати, що там є підпис, бо його за вас зробить (та перевірить) бібліотека шифрування. (Правило шифрування №1 - не пиши нічого сам!) А от що від нас залежить, так це вибір нонса, який повинен бути унікальним в межах одного ключа. Якщо ви не плануєте одним ключем шифрувати мільярди посилок, то звичайний випадковий нонс влаштує.
Щодо конкретних алгоритмів, то є 2. Золота класика: AES256-GCM. Оптимізований на апаратному рівні, використовується у Wi-Fi, TLS, та багато де ще. Та новий модний ChaCha20-Poly1305 - більш безпечний (як каже інтернет), швидший на ARM, теж використовується у TLS, WireGuard тощо. Обидва алгоритми вас влаштують.
У JWE - це який JWT, але зашифрований — теж, до речі, AEAD.