AES-256-GCM.
Замок на каждой записке. 256-битный ключ и печать, которая заметно ломается, если кто-то трогает содержимое.
AES-256-GCM — это Advanced Encryption Standard с 256-битным ключом в режиме Galois/Counter — аутентифицированное шифрование, которое скрывает открытый текст и обнаруживает любое изменение шифротекста. BurnPony использует его с 12-байтовым nonce и 16-байтовым тегом аутентификации.
Что это
Аутентификация GCM — это тихо важная половина. Одно лишь шифрование перемешивает данные; аутентифицированное шифрование вдобавок доказывает, что никто не перевернул ни бита при передаче или в хранилище. Подделанный конверт BurnPony не расшифровывается в чуть неверный текст — он вовсе отказывается расшифровываться.
Почему это важно
Это к тому же самый проверенный симметричный вариант из доступных: аппаратно ускорен на телефонах, встроен в WebCrypto каждого браузера и стандартизирован уже два десятилетия. Криптография BurnPony намеренно скучна; интересно то, куда путешествует ключ, а не как устроен замок.
Связанные термины
Частые вопросы.
Почему AES-256-GCM, а не что-то экзотическое?
Потому что записки заслуживают самого исследованного примитива из доступных, а не самого модного. AES-GCM стандартизирован, аппаратно ускорен и реализован нативно и в CryptoKit из Swift, и в WebCrypto каждого браузера — что позволяет просмотрщику оставаться маленькой, поддающейся аудиту страницей.
Для чего нужны nonce и тег?
12-байтовый nonce делает каждое шифрование уникальным даже под одним и тем же ключом; 16-байтовый тег — это печать от подмены. Если шифротекст, nonce или тег где-либо изменены, расшифровка попросту не удаётся.
Установите BurnPony
Бесплатные самоуничтожающиеся зашифрованные записки для iPhone и Android. Получателям нужен только браузер. Без аккаунтов, без слежки.