
- •Методы и средства защиты информации
- •2. Разграничение доступа к ресурсам асои
- •Политика безопасности. Классификация политик безопасности
- •Политики избирательного разграничения доступа
- •Мандатные политики безопасности
- •Контроль доступа, базирующийся на ролях
- •Политики безопасности контроля целостности информационных ресурсов
- •. Идентификация и аутентификация субъектов в асои
- •Классификация подсистем идентификации и аутентификации субъектов
- •Парольные системы идентификации и аутентификации пользователей
- •Элементы теории чисел
- •Модулярная арифметика
- •Простые числа и их свойства
- •Числовые функции
- •Методы и средства криптографической защиты
- •Принципы криптографической защиты информации
- •Традиционные симметричные криптосистемы
- •5.2.1. Шифрование методом замены
- •5.2.2. Шифрование методами перестановки
- •5.2.3. Шифрование методом гаммирования
- •Элементы криптоанализа
- •Современные симметричные системы шифрования
- •5.4.1. Стандарт шифрования des (сша)
- •5.4.2. Отечественный стандарт симметричного шифрования
- •Цикл выработки имитовставки 16-з:
- •Асимметричные криптосистемы
- •5.5.1. Недостатки симметричных криптосистем и принципы асимметричного шифрования
- •5.5.2. Однонаправленные функции
- •5.5.3. Алгоритм шифрования rsa
- •Контроль целостности информации. Электронно-цифровая подпись
- •Проблема обеспечения целостности информации
- •Функции хэширования и электронно-цифровая подпись
- •Инфраструктура открытых ключей pki
Элементы теории чисел
Модулярная арифметика
Пусть m – целое число. Тогда при делении любых целых чисел на m возможно получение ровно m остатков – 0,1,2,…,m-1.
Целые числа a и b называют сравнимыми по модулю m, если их разность a-b делится без остатка на m, или, что то же самое, остатки, получаемые при делении чисел a и b на m, равны между собой. В этом случае число b называют вычетом числа a по модулю m.
Если a
сравнимо с b
по модулю m,
то это записывают как
.
Пример 4.1
Целые числа 17 и 12
сравнимы между собой по модулю 5, то есть
,
кроме этого
.
Существует бесконечное количество чисел, сравнимых с числом a по модулю m, но только одно из них расположено в диапазоне от 0 до m-1.
Обычно, для целого
числа a>0
предпочитают использовать вычеты
.
Набор целых чисел от 0 до (m-1)
называют полным
набором вычетов по модулю m.
Модулярная арифметика аналогична во многом обычной арифметике: она коммутативна, ассоциативна и дистрибутивна. Целые числа по модулю m с использованием операций сложения и умножения образуют коммутативное кольцо при соблюдении законов ассоциативности, коммутативности и дистрибутивности.
Основные свойства сравнений:
Рефлексивность:
.
Симметричность:
.
Транзитивность:
.
Если ,
- произвольные целое число, то
.
Если , наибольший общий делитель
, то .
Если ,
, то
.
Если ,
, то
.
Если
, то
.
Если , - произвольные целое число, то
.
При выполнении арифметических операций по модулю, можно либо сначала приводить операнды по модулю m, а затем выполнять операции, либо сначала выполнять операции, а затем приводить результат по модулю m.
В криптографии используется множество вычислений по модулю m, так как с вычислениями по модулю удобнее работать в связи с ограничением диапазона всех промежуточных величин и результата. Кроме того, задачи типа вычисления дискретных логарифмов трудны в вычислительном плане.
Для модуля m длиной k бит промежуточные результаты любого сложения, вычитания или умножения будут не длиннее 2k бит. Поэтому такую операцию, как возведение в степень в модулярной арифметике можно выполнить без генерации очень больших промежуточных результатов.
Возведение числа
a
в степень x
по модулю m,
то есть нахождение
можно легко выполнить как ряд умножений.
Особенно легко возводить в степень по
модулю, если
- степень двойки.
Пример 4.2
Пусть, например,
требуется вычислить
.
В этом случае не следует выполнять серию
умножений и одно приведение по модулю
большого числа. Вместо этого выполняют
три малых умножения и три малых приведения
по модулю.
Например,
Вычисление , где x не является степенью двойки, немного сложнее. В этом случае степень x представляют в двоичной форме и представляют x как сумму степеней двойки.
Пример 4.3
Пусть x=25(10)=11001(2), тогда 25=24+23+20.
Тогда
.
Поскольку многие алгоритмы шифрования основаны на возведении в степень больших чисел в большие степени по большому модулю, целесообразно использовать рассмотренные выше алгоритмы быстрого возведения в степень.