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


Содержание
Предисловие к русскому изданию………………….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



Читать онлайн
скачать бесплатно


Теги:
Вельшенбах криптография, криптография на си

Коментарі до Вельшенбах М. Криптография на Си и С++ в действии ОНЛАЙН