Вельшенбах М. Криптография на Си и С++ в действии

Вельшенбах М. Криптография на Си и С++ в действии

Вельшенбах М. Криптография на Си и С++ в действии. Учебное пособие. — М., 2004 — 464 с: ил.
Несмотря на то, что настоящее издание содержит математическую теорию новейших криптографических алгоритмов, книга в большей степени рассчитана на программистов-практиков. Здесь Вы найдете описание особенностей эффективной реализации криптографических алгоритмов на языках Си и С++, а также большое количество хорошо документированных исходных кодов, которые записаны на компакт-диск, прилагаемый к книге.
Содержание
Предисловие к русскому изданию......................6
Предисловие ко второму изданию.....................7
Предисловие к первому изданию.......................9
ЧАСТЬ I. АРИФМЕТИКА И ТЕОРИЯ ЧИСЕЛ НА С
ГЛАВА 1. Введение............................................................15
1.1. О программном обеспечении...................................................19
1.2. Законные условия использования программного обеспечения..................23
1.3. Как связаться с автором............................................................23
ГЛАВА 2. Числовые форматы: представление больших чисел в языке С.........25
ГЛАВА 3. Семантика интерфейса.....................................31
ГЛАВА 4. Основные операции.........................................35
4.1. Сложение и вычитание..........................................36
4.2. Умножение....................................................46
4.2.1. Школьный метод.......................................47
4.2.2. А возведение в квадрат - быстрее..................................54
4.2.3. Поможет ли метод Карацубы?........................................59
4.3. Деление с остатком...............................................64
ГЛАВА 5. Модульная арифметика: вычисление в классах вычетов..............81
ГЛАВА 6. Все дороги ведут к модульному возведению в степень...............95
6.1. Первые шаги.................................................................95
6.2. М-арное возведение в степень................................................110
6.3. Аддитивные цепочки и окна...................................................118
6.4. Приведение по модулю и возведение в степень I методом Монтгомери...........123
6.5. Криптографические приложения модульного возведения в степень............136
ГЛАВА 7. Поразрядные и логические функции.............143
7.1. Операции сдвига........................................................143
7.2. Все или ничего: битовые соотношения.................................150
7.3. Прямой доступ к отдельным двоичным разрядам................156
7.4. Операции сравнения..................................................160
ГЛАВА 8. Операции ввода, вывода, присваивания и преобразования.............165
ГЛАВА 9. Динамические регистры.................................177
ГЛАВА 10. Основные теоретико-числовые функции......187
10.1. Наибольший общий делитель...............................................188
10.2. Обращение в кольце классов вычетов.................................196
10.3. Корни и логарифмы.......................................................205
10.4. Квадратные корни в кольце классов вычетов.....................211
10.4.1. Символ Якоби............................................................212
10.4.2. Квадратные корни по модулю рк................................220
10.4.3. Квадратные корни по модулю n.................................225
10.4.4. Квадратичные вычеты в криптографии.....................234
10.5. Проверка на простоту............................................237
ГЛАВА 11. Большие случайные числа..............................257
ГЛАВА 12. Стратегия тестирования LINT.........................271
12.1. Статический анализ........................................273
12.2. Динамические тесты....................................275
ЧАСТЬ 11. КЛАСС LINT: АРИФМЕТИКА НА С++
ГЛАВА 13. Пусть С++ облегчит Вашу жизнь ...................285
13.1. Частное дело: представление чисел в классе LINT............291
13.2. Конструкторы...............................................293
13.3. Перегрузка операторов...............................297
ГЛАВА 14. Открытый интерфейс LINT: члены и друзья класса................305
14.1. Арифметика.....................................................305
14.2. Теория чисел...................................................315
14.3. Потоковый ввод/вывод объектов LINT.............................320
14.3.1. Форматированный вывод объектов LINT.................321
14.3.2. Манипуляторы.................................................329
14.3.3. Файловый ввод/вывод для объектов LINT................332
ГЛАВА 15. Обработка ошибок.........................................339
15.1. (Без) Паники..................................................339
15.2. Обработка ошибок, определяемая пользователем..............342
15.3. Исключения LINT..............................................343
ГЛАВА 16. Практический пример: криптосистема RSA...351
16.1. Асимметричные криптосистемы......................................352
1 16.2. Алгоритм RSA....................................................354
16.3. Цифровая подпись RSA.........................................369
16.4. RSA-классы на С++...............................................377
ГЛАВА 17. Сделайте это сами: протестируйте LINT.........387
ГЛАВА 18. Направления дальнейших исследований.......391
ГЛАВА 19. Rijndael: наследник стандарта nшифрования данных.............393
19.1. Полиномиальная арифметика........................................395
19.2. Алгоритм Rijndael................................................400
19.3. Вычисление ключа раунда.......................................403
19.4. S-блок.......................................................405
19.5. Преобразование ShiftRow.......................................407
19.6. Преобразование MixCoIumn.......................................408
19.7. Сложение с ключом раунда.................................409
19.8. Полная процедура зашифрования блока...........................409
19.9. Расшифрование......................................413
ЧАСТЬ III. ПРИЛОЖЕНИЯ Приложение А. Каталог функций на С............421
А.1 Ввод/вывод, присваивание, преобразования, сравнения.....421
А.2 Основные арифметические операции....................................422
А.З Модульная арифметика................................................422
А.4 Битовые операции.....................................................424
А.5 Теоретико-числовые функции..........................................424
А.6 Генерация псевдослучайных чисел........................................425
A.7 Управление регистрами.............................................426
Приложение В. Каталог функций С++.....................................427
B.1 Ввод/вывод, преобразования, сравнения: функции-члены класса........427
В.2 Ввод/вывод, преобразования, сравнения: И функции-друзья класса.....429
В.З Основные операции: функции-члены класса........................4З0
В.4 Основные операции: функции-друзья класса........................431
В.5 Модульная арифметика: функции-члены класса.................. 432
В.6 Модульная арифметика: функции-друзья класса.................433
В.7 Битовые операции: функции-члены класса...........................433
В.8 Битовые операции: функции-друзья класса..........................434
В.9 Теоретико-числовые функции-члены класса........................434
В.10 Теоретико-числовые функции-друзья класса......................435
В. 11 Генерация псевдослучайных чисел..............................438
В. 12 Прочие функции................................................439
Приложение С. Макросы................................................439
С.1 Коды ошибок и значения состояний...................................439
С.2 Дополнительные константы..........................................439
С.З Макросы с параметрами.............................................440
Приложение D. Время вычислений..........................................443
Приложение Е. Условные обозначения...................................445
Приложение F. Арифметические и теоретико-числовые пакеты.............447
Литература......................................................449
Об авторе........................................................456

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

шестнадцать − 6 =

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.