Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MOZI.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.55 Mб
Скачать

Задачи для самостоятельного решения

  1. Решите следующие сравнения:

    1. 7x11 (mod 17);

    2. 5x2 (mod 18);

    3. 9x15 (mod 48);

    4. 5x7 (mod 10);

    5. 8x20 (mod 12);

    6. 207x48 (mod 921);

6.1.6.Применение алгебры вычетов к простейшим шифрам

Шифры, в которых для шифровки и расшифровки используется один и тот же ключ, называются симметричными. Например, шифр Виженера задается формулой уi=xi+ki(mod n), где kii-я буква ключа, в качестве которого используется слово или фраза. В настоящее время широкое распространение получили шифры с открытым ключом. Эти шифры не являются симметричными – для зашифровки и расшифровки используются разные ключи. При этом ключ, используемый для зашифровки, является открытым (не секретным) и может быть сообщен всем желающим отправить шифрованное сообщение, а ключ, используемый для расшифровки, является закрытым и хранится в секрете получателем шифрованных сообщений. Даже знание всего зашифрованного сообщения и открытого ключа, с помощью которого оно было зашифровано, не позволяет дешифровать сообщение (без знания закрытого ключа). Шифрование с открытым ключом основывается на модулярной арифметике.

Алгоритм шифрования с открытым ключом:

1. Получателем сообщений производится генерация открытого ключа (пара чисел п и е) и закрытого ключа (число d). Для этого:

  • выбираются два простых числа р и q;

  • определяется первая часть открытого ключа n:=pq;

  • определяется вторая часть открытого ключа — выбирается небольшое нечетное число е, взаимно простое с числом (р-1)(q-1). Заметим, что (р-1)(q-1)=pq(1-1/р)(1-1/q)= ;

  • определяется закрытый ключ d из сравнения: ed1 mod ( ).

После чего открытый ключ (числа n и е) сообщается всем отправителям сообщений.

2. Отправитель шифрует сообщение (разбивая его, если нужно, на слова Si длиной менее log2 п разрядов):

Ci: =(Si)е mod n

и отправляет получателю.

3. Получатель расшифровывает сообщение с помощью закрытого ключа d:

Рi : =(Ci)d mod n.

В заключение надо сказать, что шифры с открытым ключом сравнительно просты в реализации, очень практичны (поскольку нет необходимости пересылать по каналам связи закрытый ключ и можно безопасно хранить его в одном месте) и в то же время обладают высочайшей криптостойкостью.

Кажется, что дешифровать сообщение несложно: достаточно разложить открыто опубликованное число n на множители, восстановив числа р и q, и далее можно легко вычислить секретный ключ d. Однако дело заключается в следующем. В настоящее время известны эффективные алгоритмы определения простоты чисел, которые позволяют за несколько минут подобрать пару очень больших простых чисел (по 100 и больше цифр в десятичной записи). В то же время неизвестны эффективные алгоритмы разложения очень больших чисел на множители. Разложение на множители числа в 200 и больше цифр потребовало бы сотен лет работы самого лучшего суперкомпьютера. При практическом применении шифров с открытым ключом используют действительно большие простые числа (не менее 100 цифр в десятичной записи, а обычно значительно больше). В результате вскрыть этот шифр оказывается невозможно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]