Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_KMZI_2_sem.doc
Скачиваний:
43
Добавлен:
12.02.2015
Размер:
210.94 Кб
Скачать

Лабораторная работа №3 «Шифр гаммирования»

Основные сведения.

Поточные шифры гаммирования выполняют шифрование путем наложения байта случайной гаммы на байт открытого текста и выполнения побитовой операции XOR. Если выходная гамма ГПСП:

=12n

А открытый текст:

M=p1p2pn,

То байты шифртекста

C=c1c2cn

Будут вычисляться по формуле

ci=pii.

Задание к лабораторной работе.

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

2. Реализуйте программу, осуществляющую расшифрование текстового файла, зашифрованного в первом задании.

Лабораторная работа №4 «Шифрование с открытым ключом. Алгоритм rsa»

Основные сведения.

Схема шифрования с открытым ключом по алгоритму RSA имеет следующий вид. Блок послания M представляется числом из интервала [0,n-1] и шифруется с помощью вычисления экспоненты

C = Me mod n.

Блок M восстанавливается с помощью той же операции, но с другой степенью

M = Cd mod n.

Здесь пара чисел (e,n) называется ключом зашифрования или открытым ключом, пара чисел (d,n) называется ключом расшифрования или секретным ключом.

В схеме RSA модуль n является произведением двух больших простых чисел p и q:

n = pq.

Числа e и d подбираются таким образом, чтобы

ed = 1 mod (p-1)(q-1).

При этом НОД(e,(p-1)(q-1))=1.

Тогда практически для любого M из множества [0,n-1]

Med mod n = M.

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

Пусть a и b - целые числа, не равные одновременно нулю, и последовательность чисел

a>b>r1>r2>r3>…>rn

определена тем, что каждое rk - это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть

a=bq0+r1

b=r1q1+r2

r1=r2q2+r3

……

rk-2=rk-1qk-1+rk

……

rn-1=rnqn

Тогда НОД(a,b), наибольший общий делитель a и b, равен rn, последнему ненулевому члену этой последовательности.

Формулы для ri могут быть переписаны следующим образом:

r1=a+b(-q0)

r2=b-r1q1=a(-q1)+b(1+q1q0)

……

НОД(a,b)=rn=as+bt

Задание к лабораторной работе.

1. Реализуйте программу, осуществляющую шифрование и расшифрование заданной текстовой строки по алгоритму RSA с параметрами p и q, заданными в таблице для вашего варианта

2. Реализуйте программу, генерирующую и предлагающую на выбор не менее трех пар (открытый ключ, закрытый ключ) для данных параметров p и q.

Примечания.

Все буквы текста необходимо приводить к записи только заглавными буквами. Использовать следующую таблицу замен для русского алфавита:

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

28

29

30

31

32

33

34

35

36

37

38

39

40

41

Пробел между словами будем заменять числом 99.

Например, открытый текст «Вася молодец» будет иметь представление:

121027419922242124141532. Его необходимо разбить на блоки меньшие модуля шифрования. Например, для n=22213 текст разобьется на следующие блоки:

M1=12102, M2=7419, M3=9222, M3=4212, M4=4141, M5=532. Каждый из блоков шифруется по отдельности.

Варианты.

Вариант

p

q

4-1

227

373

4-2

97

229

4-3

101

233

4-4

103

239

4-5

107

241

4-6

109

251

4-7

113

257

4-8

127

263

4-9

131

269

4-10

137

271

4-11

139

277

4-12

149

281

4-13

151

283

4-14

157

293

4-15

163

307

4-16

167

311

4-17

173

313

4-18

179

317

4-19

181

331

4-20

191

337

4-21

193

347

4-22

197

349

4-23

199

353

4-24

211

359

4-25

223

367

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