Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

О выборе и оценке криптоалгоритма   Найти похожие ветки 

 
palva ©   (2006-01-29 12:19) [0]

Читаю сейчас книгу Брюса Шнайера "Секреты и ложь. Безопасность данных в цировом мире". http://www.piter.com/book/978531800193/ И сразу вспомнились многочисленные вопросы на Форуме от изобретателей с просьбой оценить то или иное придуманное шифровальное средство. Приведу в связи с этим соответствующие цитаты. Извиняюсь за их обширность.

Проблема вот в чем: любой человек, сколь угодно неопытный, может разработать элемент криптографии, который сам взломать не может.  (Под элементом криптографии Брюс Шнайер понимает криптоалгоритм, протокол и некоторые другие вещи) [...] Первый вопрос, который надо задать в ответ: «Да кто ты такой?» Или более пространно: «Почему я должен верить в надежность чего-то, если ты не смог это взломать? Чем подтверждается то, что если у тебя это не вышло, то и никто другой не сможет этого сделать?»

Криптографическое сообщество обнаружило, что ни один человек не готов предоставить такие доказательства. (Может быть, и есть кто-нибудь в Агентстве национальной безопасности, но эти люди не болтливы.) Нет никакого способа доказать надежность элемента - можно либо продемонстрировать ненадежность, либо признать попытку неудавшейся. [...] Лучшее, что могут сказать люди, занимающиеся безопасностью: «Мы не знаем, как взлоать этот алгоритм, протокол или что-то другое, и никто другой тоже не знает». Экспертная оценка программы, длительный период испытаний - вот единственное доказательство безопасности, которое у нас есть.

Более того, нет никакого смысла нанимать группу случайных людей, оценивающих элемент; единственный способ отличить хорошую криптографию от плохой - это получить оценку специалистов. Анализировать криптографию трудно, и немногим по плечу делать это грамотно. Прежде чем элемент можно будет действительно считать безопасным, его должны проверять многие эксперты на протяжении ряда лет.
Вот поэтому шифровальщики предпочитают старое и общедоступное новому и самодельному. Открытая криптография - это то, что шифровальщики изучали, о чем писали статьи. О старых средствах написана масса статей. Если бы там были слабые места, их бы уже обнаружили. Новое же наверняка опаснее, потому что оно новое и не исследовано должным образом спецалистами.

[...]

Меня постоянно изумляет, как часто люди не выбирают очевидного решения. Вместо того чтобы использовать общедоступные алгоритмы, компании цифровой сотовой связи решили создать собственный запатентованный алгоритм. За последние несколько лет все алгоритмы стали общедоступными. И став общедоступными, они были взломаны.  Каждый из них. То же самое случилось... [...] Любой, кто создает собственный образец шифрования, - гений или глупец. С учетом соотношения гениев и глупцов в нашей действительности шансы выжить у образца невелики.

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

[...]

Отсюда не вытекает, что все новое ущербно. Что это на самом деле значит - так то, что все новое подозрительно. Новая криптография появляется в академических статьях, а затем в демонстрационных системах. Если она действительно лучше, то, в конце концов, шифровальщики начнут ей доверять. И только тогда будет разумно использовать ее в реальных программах. Для алгоритма этот процесс может занять от 5 до 10 лет, для протокола или библиотек исходных кодов - поменьше.

[...]

В криптографии безопасность приходит путем следования за широкими массами. Доморощенные алгоритмы невозможно подвергать в течение сотен и тысяч часов криптоанализу, через который прошли DES и RSA. [...] Следуя в общей струе, вы обеспечиваете уровень криптоаналитической экспертизы всемирного сообщества, а это вам - не несколько недель работы ничем не выдающихся аналитиков.

[...]

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


 
palva ©   (2006-01-29 12:31) [1]

> Если элемент обеспечивает безопасность, только оставаясь секретным, то он будет работать до тех пор, пока кто-нибудь не разберется в его устройстве и не опубликует способ взлома.

Я же от себя добавлю, что разработка секретного криптоалгоритма небезопасна для разработчика, поскольку у заказчика будет мощный стимул ликвидировать разработчика, после того, как алгоритм будет готов. Если заказчик защищает этим алгоритмом суммы в миллионы долларов, то разрабочик легко найдет еще одного "покупателя" этого алгоритма. Так что заказчик предпочтет потратить небольшую сумму на киллера, для того чтобы спать спокойно

Может быть хотя бы это соображение остановит многочисленных кулибиных, от которых нет отбоя...


 
Nick Denry ©   (2006-01-29 13:25) [2]

2palva ©   (29.01.06 12:31) [1]

Так что заказчик предпочтет потратить небольшую сумму на киллера, для того чтобы спать спокойно

На shareware тоже распространяется?

Кулибины обычно открывалки сидюков защищают :)


 
Карелин Артем ©   (2006-01-29 13:28) [3]

Есть только длина ключа и алгоритм его генерации. Остальное вода.


 
vidiv ©   (2006-01-29 13:33) [4]


> Карелин Артем ©   (29.01.06 13:28) [3]

а как же алгоритм шифрования?


 
Карелин Артем ©   (2006-01-29 14:19) [5]


> vidiv ©   (29.01.06 13:33) [4]

Если алгоритм криптографический, а не самописный, то разница в скорости перебора ключей не будет так видна, как разница во времени перебора всего множества 64 и 128 битных ключей.
ИМХО


 
TUser ©   (2006-01-29 14:55) [6]

Слышал, что несколько лет назад появился алгоритм разложения длинного числа на простые множители. Алгоритм быстрый, но эвристический - можно найти такие числа, на корых алгоритм не даст ответа. Но количество таких "неудачных" чисел невелико. Такой алгоритм позволяет вскрыть RSA и некоторые другие алгоритмы. Кто что знает про это?


 
wHammer ©   (2006-01-30 09:23) [7]


> TUser ©   (29.01.06 14:55) [6]


 Нет такого алгоритма. А если бы он был, практически все алгоритмы криптографии пришлось бы заменять, поскольку все они основаны именно на сложности факторизации.


 
TUser ©   (2006-01-30 09:27) [8]

Ну, не все, но многие.


 
Reindeer Moss Eater ©   (2006-01-30 09:27) [9]

Нет такого алгоритма. А если бы он был, практически все алгоритмы криптографии пришлось бы заменять

Не так.
Считается, что нет такого алгоритма. А если бы он был, то никто бы про это все равно не знал кроме компетентных органов.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.034 c
4-1133428554
Verg
2005-12-01 12:15
2006.02.19
Прерывания в многопроцессорной архитектуре


2-1138116838
Rust007
2006-01-24 18:33
2006.02.19
Альтернатива WebBrowser-a


15-1138568857
Volf_555
2006-01-30 00:07
2006.02.19
Какой почтовик может работать через прокси-сервер с авторизацией?


15-1138394858
Ермак
2006-01-27 23:47
2006.02.19
Прошу прощения за "флейм"


1-1137755325
Dec
2006-01-20 14:08
2006.02.19
Печать из Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский