Главная страница
Навигация по странице:

  • 7.5 Каков должны быть длина ключа

  • 12.7 Насколько безопасен сегодня DES

  • Криптография 2е издание Протоколы, алгоритмы и исходные тексты на языке С


    Скачать 3.25 Mb.
    НазваниеКриптография 2е издание Протоколы, алгоритмы и исходные тексты на языке С
    Дата29.04.2022
    Размер3.25 Mb.
    Формат файлаpdf
    Имя файлаShnayer_Prikladnaya-kriptografiya.352928.pdf
    ТипПротокол
    #504484
    страница1 из 78
      1   2   3   4   5   6   7   8   9   ...   78

    Брюс Шнайер
    Прикладная криптография
    2-е издание
    Протоколы, алгоритмы и исходные тексты на языке С
    СОДЕРЖАНИЕ
    Уитфилд Диффи. Предисловие
    Введение
    Глава 1
    Основные понятия
    1.1 Терминология
    1.2 Стеганография
    1.3 Подстановочные и перестановочные шифры
    1.4 Простое XOR
    1.5 Одноразовые блокноты
    1.6 Компьютерные алгоритмы
    1.7 Большие числа
    Часть 1Криптографические протоколы
    Глава 2
    Элементы протоколов
    2.1 Введение в протоколы
    2.2 Передача информации с использованием симметричной криптографии
    2.3 Однонаправленные функции
    2.4 Однонаправленные хэш-функции
    2.5 Передача информации с использованием криптографии с открытыми кл ючами
    2.6 Цифровые подписи
    2.7 Цифровые подписи и шифрование
    2.8. Генерация случайных и псевдослучайных последовательностей

    Глава 3
    Основные протоколы
    3.1 Обмен ключами
    3.2 Удостоверение подлинности
    3.3 Удостоверение подлинности и обмен ключами
    3.4 Формальный анализ протоколов проверки подлинности и обмена ключами
    3.5 Криптография с несколькими открытыми ключами
    3.6 Разделение секрета
    3.7 Совместное использование секрета
    3.8 Криптографическая защита баз данных
    Глава 4
    Промежуточные протоколы
    4.1 Службы меток времени
    4.2 Подсознательный канал
    4.3 Неотрицаемые цифровые подписи
    4.4 Подписи уполномоченного свидетеля
    4.5 Подписи по доверенности
    4.6 Групповые подписи
    4.7 Подписи с обнаружением подделки
    4.8 Вычисления с зашифрованными данными
    4.9 Вручение битов
    4.10 Подбрасывание "честной" монеты
    4.11 Мысленный покер
    4.12 Однонаправленные сумматоры
    4.13 Раскрытие секретов "все или ничего"
    4.14 Условное вручение ключей
    Глава 5
    Развитые протоколы
    5.1 Доказательства с нулевым знанием
    5.2 Использование доказательства с нулевым знанием для идентификации
    5.3 Слепые подписи
    5.4 Личностная криптография с открытыми ключами
    5.5 Рассеянная передача
    5.6 Рассеянные подписи
    5.7 Одновременная подпись контракта
    5.8 Электронная почта с подтверждением
    5.9 Одновременный обмен секретами
    Глава 6
    Эзотерические протоколы
    6.1 Безопасные выборы
    6.2 Безопасные вычисления с несколькими участниками
    6.3 Анонимная широковещательная передача сообщений
    6.4 Электронные наличные

    Часть 11Криптографические методы
    Глава 7
    Длина ключа
    7.1 Длина симметричного ключа
    7.2 Длина открытого ключа
    7.3 Сравнение длин симметричных и открытых ключей
    7.4 Вскрытие в день рождения против однонаправленных хэш-функций

    7.5 Каков должны быть длина ключа?
    7.6 Caveat emptor
    Глава 8
    Управление ключами
    8.1 Генерация ключей
    8.2 Нелинейные пространства ключей
    8.3 Передача ключей
    8.4 Проверка ключей
    8.5 Использование ключей
    8.6 Обновление ключей
    8.7 Хранение ключей
    8.8 Резервные ключи
    8.9 Скомпрометированные ключи
    8.10 Время жизни ключей
    8.11 Разрушение ключей
    8.12 Управление открытыми ключами
    Глава 9
    Типы алгоритмов и криптографические режимы
    9.1 Режим электронной шифровальной книги
    9.2 Повтор блока
    9.3 Режим сцепления блоков шифра
    9.4 Потоковые шифры
    9.5 Самосинхронизирующиеся потоковые шифры
    9.6 Режим обратной связи по шифру
    9.7 Синхронные потоковые шифры
    9.8 Режим выходной обратной связи
    9.9 Режим счетчика
    9.10 Другие режимы блочных шифров
    9.11 Выбор режима шифра
    9.12 Прослаивание
    9.13 Блочные шифры против потоковых шифров
    Глава 10
    (Текст главы на английском, sorry. Переводчик, похоже, устал :-)
    Использование алгоритмов
    10.1 Выбор алгоритма
    10.2 Криптография с открытым ключом против симметричной криптографии

    10.3 Шифрование коммуникационных каналов
    10.4 Шифрование хранимых данных
    10.5 Аппаратное шифрование против программного шифрования
    10.6 Компрессия, кодирование и шифрование
    10.7 Выявление шифрования
    10.8 Скрытие шифртекста в шифртексте
    10.9 Разрушение информации
    Часть 111Криптографические алгоритмы
    Глава 11
    Математические основы
    11.1 Теория информации
    11.2 Теория сложности
    11.3 Теория чисел
    11.4 Разложение на множители
    11.5 Генерация простого числа
    11.6 Дискретные логарифмы в конечном поле
    Глава 12
    Стандарт шифрования данных DES
    12.1 Введение
    12.2 Описание DES
    12.3 Безопасность DES
    12.4 Дифференциальный и линейный криптоанализ
    12.5 Реальные критерии проектирования
    12.6 Варианты DES

    12.7 Насколько безопасен сегодня DES?
    Глава 13
    Другие блочные шифры
    13.1 LUCIFER
    13.2 MADRYGA
    13.3 NewDES
    13.4 FEAL
    13.5 REDOC
    13.6 LOKI
    13.7 KHUFU и KHAFRE
    13.8 RC2 13.9 IDEA
    13.10 MMB
    13.11 CA-1.1 13.12 SKIPJACK

    Глава 14
    И еще о блочных шифрах
    14.1 ГОСТ
    14.2 CAST
    14.3 BLOWFISH
    14.4 SAFER
    14.5 3-WAY
    14.6 CRAB
    14.7 SXAL8/MBAL
    14.8 RC5 14.9 Другие блочные алгоритмы
    14.10 Теория проектирования блочного шифра
    14.11 Использование однонаправленных хэш-функций
    14.12 Выбор блочного алгоритма
    Глава 15
    Объединение блочных шифров
    15.1 Двойное шифрование
    15.2 Тройное шифрование
    15.3 Удвоение длины блока
    15.4 Другие схемы многократного шифрования
    15.5 Уменьшение длины ключа в CDMF
    15.6 Отбеливание
    15.7 Многократное последовательное использование блочных алгоритмов
    15.8 Объединение нескольких блочных алгоритмов
    Глава 16
    Генераторы псевдослучайных последовательностей и потоковые шифры
    16.1 Линейные конгруэнтные генераторы
    16.2 Сдвиговые регистры с линейной обратной связью
    16.3 Проектирование и анализ потоковых шифров
    16.4 Потоковые шифры на базе LFSR
    16.5 A5 16.6 Hughes XPD/KPD
    16.7 Nanoteq
    16.8 Rambutan
    16.9 Аддитивные генераторы
    16.10 Gifford
    16.11 Алгоритм M
    16.12 PKZIP
    Глава 17
    Другие потоковые шифры и генераторы настоящих случайных последовательностей
    17.1 RC4 17.2 SEAL

    17.3 WAKE
    17.4 Сдвиговые регистры с обратной связью по переносу
    17.5 Потоковые шифры, использующие FCSR
    17.6 Сдвиговые регистры с нелинейной обратной связью
    17.7 Другие потоковые шифры
    17.8 Системно-теоретический подход к проектированию потоковых шифров
    17.9 Сложностно-теоретический подход к проектированию потоковых шифров
    17.10 Другие подходы к проектированию потоковых шифров
    17.11 Шифры с каскадом нескольких потоков
    17.12 Выбор потокового шифра
    17.13 Генерация нескольких потоков из одного генератора псевдослучайной последовательности
    17.14 Генераторы реальных случайных последовательностей
    Глава 18
    Однонаправленные хэш-функции
    18.1 Основы
    18.2 Snefru
    18.3 N-хэш
    18.4 MD4 18.5 MD5 18.6 MD2 18.7 Алгоритм безопасного хэширования (Secure Hash Algorithm, SHA)
    18.8 RIPE-MD
    18.9 HAVAL
    18.10 Другие однонаправленные хэш-функции
    18.11 Однонаправленные хэш-функции, использующие симметричные блочные алгоритмы
    18.12 Использование алгоритмов с открытым ключом
    18.13 Выбор однонаправленной хэш-функции
    18.14 Коды проверки подлинности сообщения
    Глава 19
    Алгоритмы с открытыми ключами
    19.1 Основы
    19.2 Алгоритмы рюкзака
    19.3 RSA
    19.4 Pohlig-Hellman
    19.5 Rabin
    19.6 ElGamal
    19.7 McEliece
    19.8 Криптосистемы с эллиптическими кривыми
    19.9 LUC
    19.10 Криптосистемы с открытым ключом на базе конечных автоматов
    Глава 20
    Алгоритмы цифровой подписи с открытым ключом
    20.1 Алгоритм цифровой подписи (DIGITAL SIGNATURE ALGORITHM, DSA)
    20.2 Варианты DSA
    20.3 Алгоритм цифровой подписи ГОСТ
    20.4 Схемы цифровой подписи с использованием дискретных логарифмов

    20.5 ONG-SCHNORR-SHAMIR
    20.6 ESIGN
    20.7 Клеточные автоматы
    20.8 Другие алгоритмы с открытым ключом
    Глава 21
    Схемы идентификации
    21.1 FEIGE-FIAT-SHAMIR
    21.2 GUILLOU-QUISQUATER
    21.3 SCHNORR
    21.4 Преобразование схем идентификации в схемы подписи
    Глава 22
    Алгоритмы обмена ключами
    22.1 DIFFIE-HELLMAN
    22.2 Протокол "точка-точка"
    22.3 Трехпроходный протокол Шамира
    22.4 COMSET
    22.5 Обмен зашифрованными ключами
    22.6 Защишенные переговоры о ключе
    22.7 Распределение ключа для конференции и секретная широковещательная передача
    Глава 23
    Специальные алгоритмы для протоколов
    23.1 Криптография с несколькими открытыми ключами
    23.2 Алгоритмы разделения секрета
    23.3 Подсознательный канал
    23.4 Неотрицаемые цифровые подписи
    23.5 Подписи, подтверждаемые доверенным лицом
    23.6 Вычисления с зашифрованными данными
    23.7 Бросание "честной" монеты
    23.8 Однонаправленные сумматоры
    23.9 Раскрытие секретов "все или ничего"
    23.10 Честные и отказоустойчивые криптосистемы
    23.11 ZERO-KNOWLEDGE PROOFS OF KNOWLEDGE
    23.12 Слепые подписи
    23.13 Передача с забыванием
    23.14 Безопасные вычисления с несколькими участниками
    23.15 Вероятностное шифрование
    23.16 Квантовая криптография

    Часть 18Реальный мир
    Глава 24
    Примеры реализаций
    24.1 Протокол управления секретными ключами компании IBM
    24.2 MITRENET
    24.3 ISDN
    24.4 STU-III
    24.5 KERBEROS
    24.6 KRYPTOKNIGHT
    24.7 SESAME
    24.8 Общая криптографическая архитектура IBM
    24.9 Схема проверки подлинности ISO
    24.10 Почта с повышенной секретностью PRIVACY-ENHANCED MAIL (PEM)
    24.11 Протокол безопасности сообщений
    24.12 PRETTY GOOD PRIVACY (PGP)
    24.13 Интеллектуальные карточки
    24.14 Стандарты криптографии с открытыми ключами
    24.15 Универсальная система электронных платежей
    24.16 CLIPPER
    24.17 CAPSTONE
    24.18 Безопасный телефон AT&T MODEL 3600 TELEPHONE SECURITY DEVICE (TSD)
    Глава 25
    Политика
    25.1 Агентство национальной безопасности (NSA)
    25.2 Национальный центр компьютерной безопасности (NCSC)
    25.3 Национальный институт стандартов и техники
    25.4 RSA Data Security, Inc.
    25.5 PUBLIC KEY PARTNERS
    25.6 Международная ассоциация криптологических исследований
    25.7 Оценка примитивов целостности RACE (RIPE)
    25.8 Условный доступ для Европы (CAFE)
    25.9 ISO/lEC 9979 25.10 Профессиональные и промышленные группы, а также группы защитн иков гражданских свобод
    25.11 Sci.crypt
    25.12 Шифропанки
    25.13 Патенты
    25.14 Экспортное законодательство США
    25.15 Экспорт и импорт криптографии за рубежом
    25.16 Правовые вопросы
    Мэтт Блейз. Послесловие

    Часть 8 Исходные коды
    1. DES
    2. LOKI91 3. IDEA
    4. GOST
    5. BLOWFISH
    6. 3-WAY
    7. RC5 8. A5 9. SEAL
    Библиография

    Прикладная криптография
    2-е издание
    Протоколы, алгоритмы и исходные тексты на языке С
    Брюс Шнайер

    Предисловие
    Уитфилд Диффи
    История литературы по криптографии довольно любопытна . Секретность, конечно же, всегда играла важную роль, но до Первой мировой войны о важных разработках время от времени сообщалось в печати и криптогр а- фия развивалась также, как и другие специализированные дисциплины. В 1918 году в виде научного отчета ч а- стной Лаборатории Ривербэнк вышла в свет монография Вильяма Ф. Фридмана Показатель совпадений и его применения в криптографии (Index of Coincidence and Its Applications in Cryptography ) [577], одна из опреде- ляющих работ 20-го столетия. И это несмотря на военный заказ, по которому была сделана эта работа. В том же году Эдвард Х. Хеберн из Окленда, Калифорния, получил первый патент [710] на роторную машину, устройст- во, на котором основывалась военная криптография в течение почти 50 лет.
    После Первой мировой войны, однако, все изменилось. Организации армии и флота Соединенных Штатов,
    полностью засекретив свои работы, добились фундаментальных успехов в криптографии. В течение 30 -х и 40-х годов в открытой литературе по данному предмету появлялись только отдельные основные работы и моногр а- фии, но чем дальше, тем меньше они соответствовали реальному положению дел. К концу войны переход по л- ностью завершился. Открытая литература умерла за исключением одного заметного исключения, работы Клода
    Шэннона "The Communication Theory of Secrecy systems" ( Теория связи между секретными системами ), напе- чатанной в 1949 году в Bell System Technical Journal [1432]. Эта статья, как и работа Фридмана в 1918 году,
    явилась результатом исследований Шэннона во время войны. После окончания Второй мировой войны она была рассекречена, возможно по ошибке.
    С 1949 по 1967 литература по криптографии была бессодержательной. В 1967 году она пополнилась работой другого типа, историей Дэвида Кана Дешифровщики (The Codebreakers) [794]. В этой книге не было новых идей, но она содержала достаточно полную историю предмета, включая упоминание о некоторых вещах, все еще засекреченных правительством. Значение Дешифровщиков заключалось не только в значительном охвате предмета, книга имела заметный коммерческий успех и познакомила с криптографией тысячи людей, раньше и не задумывавшихся о ее существовании. Тоненьким ручейком начали появляться новые работы по криптогр а- фии.
    Почти в то же время Хорста Фейстела, ранее работавшего над прибором "свой/чужой" для ВВС, на всю дальнейшую жизнь охватила страсть к криптографии, и он перешел в Уотсоновскую Лабораторию фирмы IBM,
    расположенную в Йорктаун Хайтс, Нью-Йорк. Там он начал разработку того, что затем стало стандартом DES
    (U.S. Data Encryption Standard, Стандарт шифрования данных Соединенных Штатов). В начале 70-х годов IBM
    опубликовала ряд технических отчетов по криптографии, выполненных Фейстелом и его коллегами [1482, 1484,
    552].
    Таково было положение, когда в конце 1972 года я начал работать в этой области. Литература по крипт о- графии обильной не была, но в ней можно было найти ряд сверкающих самородков.
    В криптографической науке есть особенность, отсутствующая в обычных академических дисциплинах: нео б- ходимость взаимодействия криптографии и криптоанализа. Причиной этого является отсутствие требований к передаче реальной информации, следовательно, нетрудно предложить систему, которая кажется непогрешимой.
    Многие академические разработки настолько сложны, что будущий криптоаналитик не знает с чего начать. О б- наружить дыры в этих проектах намного сложнее, чем разработать их. В результате невозможно соревнование,
    являющееся одним из сильнейших мотивов в академических исследований.
    Когда Мартин Хеллман и я в 1975 году предложили криптографию с открытыми ключами [496], одним из косвенных аспектов нашего предложения было появление проблемы, решение которой не кажется простым.
    Теперь честолюбивый проектировщик мог создать что-то - вполне разумную криптосистему, решающую более обширные задачи, чем простое превращение значимого текста в чепуху. В результате значительно возросло число людей, занимающихся криптографией, число проводимых встреч и число опубликованных книг и статей.
    В речи по поводу присуждения мне совместно с Мартином Хеллманом премии Дональда Е. Финка
    (присуждаемой за лучшую пояснительную статью в журнале IEEE) я сказал, что, написав "Privacy and Authenti- cation" ("Секретность и удостоверение подлинности"), я получил опыт, который необычен даже для выдающи х- ся ученых, получивших премии IEEE. Я написал статью, которую я хотел бы изучить, когда я впервые серьезно заинтересовался криптографией, и которую не смог найти. Если бы я сегодня отправился в Стэнфордскую би б- лиотеку и собрал бы современные работы по криптографии, я, возможно, получил бы представление о предмете гораздо раньше. Но осенью 1972 года были доступны только несколько классических работ и ряд туманных технических отчетов.
    У сегодняшнего исследователя нет такой проблемы. Сегодня основная сложность состоит в выборе, с чего
    начать среди тысяч статей и десятков книг. А сегодняшние программисты и инженеры, которые просто хотят использовать криптографию? К каким источникам им обращаться? До сих пор необходимо было проводить долгие часы, выискивая научную литературу и изучая ее, прежде чем удавалось начать разработку криптогр а- фических приложений, так гладко описанных в популярных статьях.
    Именно этот промежуток и призвана заполнить Прикладная криптография Брюса Шнайера. Начав с целей засекречивания передачи данных и элементарных примеров программ для достижения этих целей, Шнайер ра з- ворачивает перед нами панораму результатов 20 лет открытых исследований. Содержание книги полностью определяется ее названием, вы найдете в ней описание различных приложений, от засекречивания телефонного разговора до электронных денег и криптографического обеспечения выборов.
    Не удовлетворенный простым изложением алгоритмов и описанием кода, Шнайер включил в книгу обсу ж- дение различных мировых организаций, связанных с разработкой и применением криптографических средств,
    от Международной ассоциации криптологических исследований до NSA (National Security Agency, Агентство национальной безопасности).
    Когда на рубеже 70-х и 80-х годов возрос общественный интерес к криптографии, NSA, официальный крип- тографичекий орган США, предприняло ряд попыток подавить этот интерес. Первой такой попыткой было письмо старого сотрудника NSA, по видимому действовавшего по своему усмотрению. Письмо было послано в
    IEEE и предупреждало, что публикация материалов по криптографии является нарушением Правил междун а- родной продажи оружия (International Traffic in Arms Regulations, ITAR) . Эта точка зрения, как оказалось, не поддерживаемая самими правилами, в явном виде содержащими льготы для публикуемых материалов, создала неожиданную рекламу использованию криптографии и Семинару по теории информации 1977 года.
    Более серьезная попытка была предпринята в 1980 году, когда NSA финансировало изучение вопроса Аме- риканским советом по образованию с целью убедить Конгресс узаконить контроль над публикациями в области криптографии. Результаты, оказавшиеся далекими от ожиданий NSA, привели к программе добровольного ре- цензирования работ по криптографии. От исследователей потребовали перед публикацией запрашивать мнение
    NSA, не принесет ли раскрытие результатов исследований вред национальным интересам.
    К середине 80-х годов основным объектом внимания стала не теория, а практика криптографии. Сущес т- вующие законы дают NSA право с помощью Госдепартамента регулировать экспорт криптографического об о- рудования. Так как бизнес все больше и больше принимает международный характер и американская часть м и- рового рынка уменьшается, возрастает желание использовать единый продукт и для внутреннего, и для внешн е- го рынка. Такие продукты являются субъектами контроля над экспортом, и поэтому NSA получило возможность контролировать не только экспортируемые криптографические продукты, но и продаваемые в Соединенных
      1   2   3   4   5   6   7   8   9   ...   78


    написать администратору сайта