id: Гость   вход   регистрация
текущее время 03:26 19/12/2018
Автор темы: gegel, тема открыта 10/06/2014 19:21 Печать
Категории: криптография, хэширование
http://www.pgpru.com/Форум/Криптография/ИспользованиеAESСЦельюКоммитмента
создать
просмотр
ссылки

Использование AES с целью коммитмента


Можно ли для коммитмента данных B размером в AES-блок вместо хеш-функции H(B) использовать значение C=AESB(B)?
По идее, функция необратимая и должна обеспечивать и binding, и hiding.
Так ли это? Используется ли такой подход на практике вместо хеш-функций?


 
Комментарии
— unknown (10/06/2014 21:23)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
На картинках в вики показано, что используется на практике. Кроме того, блок AES для этого слишком мал, а поскольку он и нестоеек к атакам со связанным ключами, то лучше из него хэш-функцию по приведённым схемам не делать.
— ZAS (11/06/2014 07:19)   <#>
Можно ли для коммитмента данных B размером в AES-блок вместо хеш-функции H(B) использовать значение C=AESB(B)?


Можно. Безопасно, но неэффективно.
Классический вариант: С = B xor AES(B,k), где k – несекретный ключ.
Чтобы не переинициализировать раундовые ключи всякий раз.

http://www.zas-comm.ru
— gegel (11/06/2014 09:44)   профиль/связь   <#>
комментариев: 391   документов: 4   редакций: 0
Классический вариант: С = B xor AES(B,k), где k – несекретный ключ.

Спасибо. Можно ссылку, или хотя бы авторов?
— unknown (11/06/2014 11:29, исправлен 11/06/2014 11:34)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Можете рассмотреть это для вашего случая как вариант Matyas–Meyer–Oseas из ссылки в вики, приведённой выше. Вместо g(Hi-1) — произвольный фиксированный несекретный ключ.

Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3