В алгоритме XTEA используют константу : XTEA_DELTA 9E3779B9h Почему именно это число ? И как оно было полученно ? И насколько упадет криптостойкость данного метода при замене его на любое другое ???
Это (sqrt(5)-1) / 2 * 0x100000000. Копируем в Windows Calculator: 5i@-1=*2y31= Нажимаем F5, получаем 9E3779B9. Хотя конечно такие числа в таком простом шифре - это издевательство над людьми.
Криптостойкость не упадёт вообще если его заменить даже на (x+i) вместо этого (x+i*9E3779B9), во всех вариантах TEA. Рекомендую только сдвиги заменить с <<4 и >>5 на <<6 и >>9 - эти гораздо крепче для всех TEA вариантов. 6-9 - это самый лучший выбор сдвигов. А ещё рекомендую пользоваться более простым и более быстрым TEA, только убрать в нём прибавление К[2i+1] вообще и вместо K[2i] просто прибавлять K на каждом круге. Так легко залатывается дырка с equivalent keys и вообще уязвимость ко всем related-key атакам. В XTEA криптостойкость из-за использования D для выбора ключей - как K[D>>((D&1)*11)] - падает. Гораздо лучше пользоваться просто K во всех вариантах.
Пробовал естественно. Только там этот вопрос не раскрыт. Смотрите сами http://ru.wikipedia.org/wiki/XTEA
А откуда данная инфа ? Есть строгое мат. обоснование данной замены ? Еще вопрос насколько сильно падает криптостойкость при уменьшении количества раундов ?
asmlamo http://defectoscopy.com Обоснование конечно есть. Я перебрал все варианты и сравнил их по криптостойкости. С 6-9 отклонение вероятности от 0.5 во всех битах и во всех отношениях между ними уменьшается быстрее. Можно 4 круга сэкономить по сравнению с 4-5. Если хочешь доказательство - никому не доверяй и померяй сам. Константа же никакой роли не играет вообще, главное чтобы номер круга прибавлялся или любой другой счётчик. Я на этот вопрос уже ответил в http://www.wasm.ru/forum/viewtopic.php?pid=223817#p223817
Сорри за немного "не в тему". Можете мне подсказать: насколько TEA и XTEA криптостойки? Нету ли у них дырок, с помощью которых за сутки (около 100.000 шифротекстов с одинаковым ключом) можно добыть исходный текст? Есть нюанс: передаваться будет один блок (64бита) в секунду. Заранее спасибо.
bloodden: Этот вопрос тут уже подробно обсуждался. В XTEA дыр нет никаких. В TEA есть уязвимость в смене ключа, из-за которой им нельзя пользоваться как hash или MAC или в протоколах где часто ключ меняется, но для простого блочного шифрования одним секретным ключом о нём тоже можно не беспокоиться.