Keccak | это... Что такое Keccak? (original) (raw)

Криптографическая хеш-функция
Название Keccak
Создан 2008
Опубликован 2008
Размер хеша 224, 256, 384, 512 (переменный, 0<d≤264-1)
Число раундов 18 (по умолчанию)
Тип хеш-функция

Keccak (произносится как «кетчак») — алгоритм хеширования переменной разрядности, разработанный группой авторов во главе с Йоаном Дайменом, соавтором Rijndael, автором шифров MMB, SHARK, Noekeon, SQUARE и BaseKing. Является победителем конкурса криптографических алгоритмов для стандарта SHA-3 (en:NIST hash function competition).[1]

Авторы заявляют о 12.5 циклах на байт при выполнении на ПК с процессором Intel Core 2. Keccak реализован на базе конструкции «sponge». Внутреннее состояние может быть длиной 25, 50, 100, 200, 400, 800 или 1600 бит. Заявленное число раундов, необходимое для защиты от предполагаемых атак — 18.

Хэш-алгоритм имеет два варианта реализации — 32-разрядный и 64-разрядный, который выиграл конкурс SHA-3.

Хеширование сообщений произвольной длины

Конструкция "губка"

Конструкция "губка", использованная в хеш-функции. pi - входные блоки, zj - выход алгоритма. Неиспользуемый для вывода набор битов c ("capacity") должен иметь значительный размер для достижения устойчивости к атакам collision и preimage attack.

Тестовые векторы

Значения разных вариантов хеша от пустой строки.

SHA3-224("") 0x f71837502ba8e10837bdd8d365adb85591895602fc552b48b7390abd SHA3-256("") 0x c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 SHA3-384("") 0x 2c23146a63a29acf99e73b88f8c24eaa7dc60aa771780ccc006afbfa8fe2479b2dd2b21362337441ac12b515911957ff SHA3-512("") 0x 0eab42de4c3ceb9235fc91acffe746b29c29a8c366b7c60e4e67c466f36a4304c00fa9caf9d87976ba469bcbe06713b435f091ef2769fb160cdab33d3670680e

Малое изменение сообщения приводит с большой вероятностью к значительным изменениям в значении хеш-функции благодаря лавинному эффекту (avalanche effect). К примеру, добавление точки к фразе:

SHA3-224("The quick brown fox jumps over the lazy dog") 0x 310aee6b30c47350576ac2873fa89fd190cdc488442f3ef654cf23fe SHA3-224("The quick brown fox jumps over the lazy dog.") 0x c59d4eaeac728671c635ff645014e2afa935bebffdb5fbd207ffdeab

SHA3-256("The quick brown fox jumps over the lazy dog") 0x 4d741b6f1eb29cb2a9b9911c82f56fa8d73b04959d3d9d222895df6c0b28aa15 SHA3-256("The quick brown fox jumps over the lazy dog.") 0x 578951e24efd62a3d63a86f7cd19aaa53c898fe287d2552133220370240b572d

SHA3-384("The quick brown fox jumps over the lazy dog") 0x 283990fa9d5fb731d786c5bbee94ea4db4910f18c62c03d173fc0a5e494422e8a0b3da7574dae7fa0baf005e504063b3 SHA3-384("The quick brown fox jumps over the lazy dog.") 0x 9ad8e17325408eddb6edee6147f13856ad819bb7532668b605a24a2d958f88bd5c169e56dc4b2f89ffd325f6006d820b

SHA3-512("The quick brown fox jumps over the lazy dog") 0x d135bb84d0439dbac432247ee573a23ea7d3c9deb2a968eb31d47c4fb45f1ef4422d6c531b5b9bd6f449ebcc449ea94d0a8f05f62130fda612da53c79659f609 SHA3-512("The quick brown fox jumps over the lazy dog.") 0x ab7192d2b11f51c7dd744e7b3441febf397ca07bf812cceae122ca4ded6387889064f8db9230f173f6d1ab6e24b6e50f065b039f799f5592360a6558eb52d760

Примечания

  1. NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition

Ссылки

Есть более полная статья
Просмотр этого шаблона Хеш-функции
Общего назначения Adler-32CRCFNVMurmur2PJW-32TTHJenkins hash
Криптографические JHHAVALKeccak (SHA-3) • LM-хешMD2MD4MD5MD6N-HashRIPEMD-128RIPEMD-160RIPEMD-256RIPEMD-320SHA-1SHA-2SkeinSnefruTigerWhirlpoolГОСТ Р 34.11-94