Научная литература
booksshare.net -> Добавить материал -> Криптография -> Венбо Мао -> "Современная криптография" -> 17

Современная криптография - Венбо Мао

Венбо Мао Современная криптография. Под редакцией Клюшиной Д.А. — М. : Издательский дом Вильямс, 2005. — 768 c.
ISBN 5-8459-0847-7
Скачать (прямая ссылка): sovremennaya_kriptografiya.djvu
Предыдущая << 1 .. 11 12 13 14 15 16 < 17 > 18 19 20 21 22 23 .. 311 >> Следующая

50
Часть I. Введение
С момента появления первой успешной работы, использующей схему случайного заполнения (randomized padding scheme) для усиления алгоритма шифрования с открытым ключом [24], стойкость популярных "учебных" алгоритмов стали повышать, используя широко распространенные примитивы, такие как хэш-функции и датчики псевдослучайных чисел. Усиленные схемы шифрования вполне практичны, поскольку они используют практичные примитивы. Следовательно, их эффективность сравнима с эффективностью "учебных" аналогов. Благодаря этому обстоятельству некоторые алгоритмы, построенные на основе практичных примитивов, стали стандартами шифрования с открытым ключом и цифровой подписью. Некоторые из этих схем будут рассмотрены в главах 15 и 16.
Кроме того, криптографические схемы, протоколы и системы защиты информации, использующие широко распространенные примитивы, становятся все более стойкими, поскольку они привлекают внимание все более широкого круга специалистов.
1.2.5 Ясность
В конце 1960-х годов программное обеспечение стало очень крупным и сложным. Разразился так называемый "кризис программного обеспечения". Сложное программное обеспечение становилось все более подверженным ошибкам, а стоимость отладки программ стала превышать стоимость их разработки. Вскоре специалисты в области компьютерных наук обнаружили несколько причин возникшего кризиса, которые присущи плохому стилю программирования. К этим причинам относятся следующие факторы.
• Неограниченное использование оператора GOTO (переходы из одной точки программы в другую казались программистам очень удобными).
• Избыточное применение глобальных переменных (что приводит к неконтролируемым изменениям их значений, т.е. к неожиданному поведению программ во время выполнения).
• Использование переменных без объявления их типа (например, в языке Fortran переменные можно вводить, не указывая их тип, следовательно, действительное число может округляться до целого без ведома программиста).
• Неструктурированные и неорганизованные порции кода, предназначенные для одновременного решения многих задач (количество строк в таких порциях может достигать нескольких тысяч).
• Недостаточное комментирование программ (ведь комментарии не выполняются!)
Приемы, описанные выше, удобны для программиста, однако они создают трудности при отладке, поддержке и дальнейшем совершенствовании программы. Программное обеспечение, написанное в таком стиле, слишком запутанно
Глава 1. Защита информации в игре "орел или решка"
51
и непонятно. Довольно часто программист не понимал программы, написанной им же несколько месяцев и даже недель назад.
Осознав опасность плохого стиля программирования, специалисты в области компьютерных наук занялись выработкой методологии проектирования программ (program design methology), выдвинув на первый план требование ясности. Они ограничили использование оператора GOTO и глобальных переменных (порекомендовав не применять их совсем), потребовали включать в программы явное объявление типа любой переменной, что позволило компилятору осуществлять систематическую и автоматическую проверку типов, создали технологию модульного программирования (разделив большие программы на более мелкие части, каждая из которых предназначена для решения отдельной задачи) и настоятельно рекомендовали программистам включать в тексты программ и сопровождающую документацию подробные и как можно более ясные комментарии.
Системы защиты информации (криптографические алгоритмы и протоколы) включают в себя программное и аппаратное обеспечение. В рамках протокола разные части программы выполняются на большом количестве отдельных компьютеров, образующих сеть, причем многие программы выполняются в параллельном и интерактивном режимах. Принцип ясности по умолчанию распространяется и на разработку систем защиты информации (в особенности это касается протоколов). Однако, поскольку предполагается, что система защиты информации функционирует во вражеском окружении, в котором даже законный пользователь может иметь злой умысел, ее разработчик должен иметь в виду многие дополнительные факторы. Перечислим три важных аспекта, которые можно считать основными руководящими принципами разработки и реализации систем защиты. (В книге описаны многочисленные атаки на алгоритмы и протоколы, ставшие возможными вследствие неясностей, присущих структуре или спецификации систем защиты.)
1. Следует ясно формулировать все необходимые предположения.
Система защиты информации взаимодействует с окружением, и, следовательно, это окружение должно удовлетворять определенным условиям. Эти условия называются предположениями (или предпосылками), обеспечивающими функционирование системы. Нарушение предположений, на основе которых создан протокол, делает его уязвимым для атак и может разрушить систему защиты. Особенно трудно проверить нарушение предположения, которое не было сформулировано явно (скрытое допущение). Таким образом, все предположения, на которых основана система защиты информации, должны быть явно указаны.
Предыдущая << 1 .. 11 12 13 14 15 16 < 17 > 18 19 20 21 22 23 .. 311 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed