id: Гость   вход   регистрация
текущее время 22:16 24/04/2024
Автор темы: Гость, тема открыта 05/02/2007 20:20 Печать
https://www.pgpru.com/Форум/Криптография/БезопасностьСекретногоКриптоалгоритма
создать
просмотр
ссылки

безопасность секретного криптоалгоритма


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


 
Комментарии
— SATtva (05/02/2007 21:09)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Это уже зависит от конкретной реализации. Например, если речь об аппаратном или программном средстве (допустим, аппаратный шифратор или криптопакет), который оппонент может раздобыть для ознакомления, то, скармливая ему подобранные открытые тексты с заданными дифференциальными характеристиками, он способен получить некоторую информацию о внутреннем ходе преобразований (как много информации — зависит от устойчивости алгоритма к подобным атакам).

Не стоит говорить что злоумышленик обязательно узнает алгоритм (с тем же успехом он может узнать и ключ)

Не слишком обоснованное утверждение и не слишком удачное допущение, вытекающее из логики (что противник таки не получит алгоритм). Вы ведь неспроста сами вспомнили об известной криптологической максиме Киргхофа. В примере, приведённом выше, противник с бОльшей вероятностью займётся не дифференциальным криптоанализом, а попытается тем или иным образом извлечь саму программу алгоритма из объектного кода или шифровальной микросхемы, ведь преимущества от успешной атаки будут значительно выше, чем от компрометации одного ключа.
— unknown (06/02/2007 09:49)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Ещё одна проблема в том, что создать стойкий алгоритм намного сложнее, чем кажется. Даже если взять лучших криптографов, но заставить их соблюдать секретность, они с большей вероятностью изобретут алгоритм с ошибками, чем если бы они могли свободно публиковать свои работы и свободно же сотрудничать с кем им захочется.

Это конечно Киргхофом не доказано, но практика открытой криптографии убеждает, что это так.

В большинстве случаев проектирование собственного алгоритма без серьёзной инфраструктуры кадровых и исследовательских ресурсов – это путь к фатальной ошибке. Например, некоторые крупные телекоммуникационные компании использовали такие алгоритмы. Какие-то были рассекречены официально, для участия в конкурсах, какие-то неофициально. Взлом последовал практически мгновенно.

Тем не менее, закрытые алгоритмы применяются в военной сфере, для защиты критически важных государственных каналов связи. Маловероятно, что гражданских криптографов заинтересует задача проектирования протокола связи с подводными лодками, поэтому их и не стремятся особо привлекать. Но процент использования таких алгоритмов невелик и постоянно снижается, а стоимость их поддержки высока.

Fact Sheet NSA Suite B Cryptography:

Another suite of NSA cryptography, Suite A, contains classified algorithms that will not be released. Suite A will be used for the protection of some categories of especially sensitive information (a small percentage of the overall national security related information assurance market).

Другая причина создания закрытых алгоритмов "под заказ" – отсутствие жёстких требований оптимизации или работа на ограниченном числе реализаций: например системы связи SecNet 11. Или когда можно достичь высокой безопасности, пожертвовав например быстродействием.

Ну и по конкретике вопроса: поскольку гражданскую криптографию взлом закрытых алгоритмов мало интересует, то и открытых работ по этой неблагодарной теме практически нет.
— Гость (06/02/2007 12:54)   <#>

Суть моей идеи в том, что алгоритм будет являться секретной частью, как и ключ, и злоумышленику не будет доступен.
Идея состоит в создании простоо языка, на котором комбинируя различные преобразования по определенным правилам можно будет описать алгоритм проходящий все существующие автоматические тесты. Более того, автоматизировать генерацию и проверку таких алгоритмов, после чего сгенерированое описание преобразований и будет являться ключем. Поэтому в моей схеме алгоритм эквивалентен ключу.

Стойкость алгоритма при ручном анализе его кода не требуется. Главное условие – невозможность криптоанализа при полном отсутствии и невозможности получить исходники. Если алгоритм проходит все статистические тесты, то я думаю без знания кода о нем мало что можно сказать.

P. S. подобная схема мне кажется перспективной в плане защиты от алгебраических атак. Ну а для гарантированой стойкости, подобный алгоритм целесообразно применять в цепочке, после октрытого и изученого шифра (вроде AES).
— SATtva (06/02/2007 14:21)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Идея состоит в создании простоо языка, на котором комбинируя различные преобразования по определенным правилам можно будет описать алгоритм проходящий все существующие автоматические тесты.

По-моему, это просто смещения понятий. В таком случае Ваш описательный язык (мета-алгоритм) сам станет криптоалгоритмом, а шифровальные алгоритмы — своего рода ключами. Сути дела это не изменит. И я даже не говорю о сложности такой задачи. Прохождение шифртекстом некоторого набора статистических тестов — это одно, а действительная его устойчивость к криптоанализу — совсем другое.
— Гость (08/02/2007 04:43)   <#>
Нет, суть это изменит. В классических шифрах ключ используется как модификатор s боксов, либо для перемешивания данных внутри раундов, но сам алгоритм (т.е. набор и параметры преобразований, их порядок, и.т.д.) он не меняет.
В моем подходе предполагается автоматическая генерация самого алгоритма (описания всех преобразований, циклов, количества, размерности, содержимого и порядка использования s боксов). Ну а сам описательный язык криптоалгоритмом от этого не станет (не называют же криптоалгоритмом visual basic p-code), так как он содержит только набор простых команд, на которых алгоритм и описывается. Кстати, без пикода можно обойтись, если сразу генерировать машинный код x86.
В результате криптоаналитик будет знать только набор операций которые могли быть использованы, но не будет знать ни их порядка ни примененных констант.

Ну так криптоаланиз требует знания алгоритма, а при отсутствии алгоритма единственное что может сделать криптоаналитик – это искать статистические зависимости теми самыми тестами.
— unknown (08/02/2007 09:30)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Ну, а вдруг по такому случаю изобретут новые виды криптоанализа, например основанные на скрытых марковских моделях или генетических алгоритмах?

Для обычных шифров они были малоперспективны, но для неизвестных, у которых как раз негарантированная стойкость, вполне могут существовать такие разработки. И это ещё более туманная область, чем алгебраический криптоанализ.

С алгебраическим анализом пока ясно, что он изначально был нацелен на шифры с алгебраической структурой, но ещё лучше работает против шифров с малыми S-блоками, так как для них легко вывести систему уравнений. Т.е. достаточно увеличить размер S-блоков, использовать их по несколько штук в одном раунде и сделать случайными и зависяшими от ключа, не экономя на вычислениях в алгоритме их заполнения.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3