Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОДМ-1.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2.59 Mб
Скачать

Лекция № 10. Шифрование

    1. Введение

Шифрование – это кодирование данных с целью защиты от несанкционированного доступа. Область знаний о шифрах, методах их создания и раскрытия называется криптографией (или тайнописью).

Криптография известна с глубокой древности и использует самые разнообразные шифры, как чисто информационные, так и механические. В настоящее время наибольшее практическое значение имеет защита данных в компьютере, поэтому далее рассматриваются программные шифры для сообщений в алфавите {0,1}.

Начнем с определения операции: . Здесь операнды: a и b – целые числа, а результат данной операции – остаток, возникающий при целочисленном делении a на b.

Пример 10.1.

15 2 = ,

26 3 = ,

32 4 = .

Пусть имеется генератор псевдослучайных чисел, работающий по определенному алгоритму. Часто используется следующий алгоритм:

, (10.1)

где – предыдущее псевдослучайное число, – последующее псевдослучайное число, а коэффициенты a, b, c постоянны и хорошо известны. Обычно c= , где – разрядность процессора, , а b – нечетное. В этом случае последовательность псевдослучайных чисел имеет период c.

Пример 10.2. В табл. 10.1 приведены результаты расчетов по формуле (10.1) для различных ключей шифра и коэффициентов: a=81, b=9, c=65536.

Таблица 10.1

1

90

7299

1404

48197

37342

10055

28032

42377

24674

32523

10

819

812

245

19854

35319

42800

58937

55314

23995

43060

100

8109

1478

54191

64104

15089

42570

40307

53612

17205

17358

1000

15473

8138

3827

47852

9397

40270

50615

36592

14841

22482

10000

23577

9202

24475

16404

18013

17270

22623

63000

56737

8186

Процесс шифрования определяется следующим образом. Шифруемое сообщение представляется в виде последовательности слов , каждое длины , которые складываются по модулю два со словами последовательности , то есть

.

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

.

Ключом шифра является начальное значение , которое является секретным и должно быть известно только отправителю и получателю шифрованного сообщения. Шифры, в которых для зашифровки и расшифровки используется один и тот же ключ, называются симметричными.

Описанный метод шифрования обладает существенным недостатком. Если известна хотя бы часть исходного сообщения, то все сообщение может быть легко дешифровано. Действительно, пусть известно одно исходное слово . Тогда

,

и далее вся правая часть гаммы шифра определяется по указанной формуле генератора псевдослучайных чисел.

Для повышения криптостойкости симметричных шифров применяются различные приемы.

  • Вычисление гаммы шифра по ключу более сложным (или секретным) способом.

  • Применение вместо более сложной (но обратимой операции) для вычисления шифровки.

  • Предварительное перемешивание битов исходного сообщения по фиксированному алгоритму.

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

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