Хеширование и подписи
Проверка целостности данных (SHA-256) и основы блокчейна. Необратимые преобразования для верификации.
Хеширование и подписи
SHA (Secure Hash Algorithm)
Семейство криптографических хеш-функций NSA. SHA-1 (160 бит, устарел, коллизии 2017). SHA-2 (SHA-256, SHA-512, стандарт сейчас). SHA-3 (2015, алгоритм Keccak). Применение: контрольные суммы, подписи, blockchain.
MD5 (Message Digest 5)
Хеш-функция 128 бит (Ривест, 1991). Уязвима к коллизиям с 2004 года. Не рекомендуется для криптографии, но используется для контрольных сумм файлов (не для безопасности). Заменена на SHA-2.
HMAC — аутентификация сообщений
Hash-based Message Authentication Code. Комбинация хеш-функции и секретного ключа. Проверка целостности и подлинности сообщения. Формула: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m)). Используется в JWT, TLS.
Цифровые подписи — принципы
Асимметричная криптография для подтверждения авторства и целостности. Подпись создаётся приватным ключом, проверяется публичным. Алгоритмы: RSA, DSA, ECDSA. Применение: документы, сертификаты, транзакции.
Дерево Меркла (Merkle Tree)
Дерево хешей для эффективной проверки целостности данных. Листья — хеши блоков, узлы — хеши пар детей. Корень (Merkle root) — единая контрольная сумма. Используется в Bitcoin, Git, P2P сетях. Ральф Меркл, 1979.