Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1-Lectures / Tpro-Lk-02-03(10-03-2010)

.pps
Скачиваний:
15
Добавлен:
14.04.2015
Размер:
286.21 Кб
Скачать

1

Шифры подстановки

Упрощенная программная реализации шифров подстановки

степени m = 16 и критериев отбора ключей

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

2

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

подстановки степени m =16.

Возможный вариант заголовка функции: void GenPermutation(unsigned char *Key);

Решение примера выполняется на доске (в диалоговом режиме).

Рассматриваются предложения 3-4-х вариантов реализации, обсуждаются слабые места и выбираются варианты для последующей реализации на лабораторной работе.

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

3

Пример 2. Для заданной подстановки показать все близкие и тождественные

переходы.

Вх. i 0 1 2 3 4 5 6 7 8 9 A B C D E F

Вых.K[i] A 1 3 E 0 F 5 2 D 9 6 7 8 B C 4

Тождественный переход: i == K[ i ];

Близкие переходы: i == K[ i ] 1.

Для заданной подстановки:

 

тождественные: 1 1;

9

9;

близкие:

2 3;

6

5.

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

4

Пример 3. Составить функцию, выполняющую проверку сформированной подстановки на

наличие близких и тождественных переходов.

Возможный вариант заголовка функции: int CheckPermutation(unsigned char *Key); (Как и ранее, по умолчанию m = 16.)

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

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

5

Пример 4. Вспомнить (см.лк.1) формирование “обратного” ключа для заданного ключа

моноподстановки.

i

0

1 2

3

4

5 6

7 8

9

A

B

C

D

E F

K[i] 6

C 0

B

A

D 1

E 4

7

F

2

8

5

3 9

i

0

1

2

3

4

5

6

7

8

9 A

B

C

D

E

F

invK[i]

2

6

B

E

8

D

0

9

C

F

4

3

1

5

7

A

invK[6]=0; invK[12]=1; invK[0]=2; …

Для иллюстрации зашифрования/расшифрования:

M = 2, F0, 2B;

C = 60, 96, 2.

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

6

Пример 5. Составить функцию, выполняющую формирование “обратного”

ключа моноподстановки степени m =16.

Возможный вариант заголовка функции: void InvKey(unsigned char *Src,

unsigned char *Dst);

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

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

7

Критерии возрастаний, инверсий, циклов

i 0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

K[i] 6

C 0

B

A

D 1

E 4

7

F

2

8

5

3 9

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

m

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

m

m

 

1

 

 

 

 

m3

 

 

;

 

 

4

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m ln m

 

 

 

.

 

 

ln m

 

 

 

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

8

Численные значения в критериях (m = 16)

возрастаний: m/2 = 8; 12m 1.15 ;

инверсий: m m 1

 

 

 

m3

 

 

60 ;

 

 

6 10.67 ;

4

 

 

 

 

 

 

 

 

1.67 .

циклов: ln(m) 2.77 ;

ln m

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

9

Пример 6. Заданную подстановку проверить по критериям возрастаний, инверсий, циклов. Сделать соответствующие выводы.

i 0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

K[i] 6

C 0

B

A

D 1

E 4

7

F

2

8

5

3 9

(пример верный)

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

 

 

 

Просчет числа возрастаний

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

 

F

K[i]

6

C

0

B

A

D

1

E

4

7

F

2

8

5

3

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Возрастания между элементами: 6 12,0 11,10 13,1 14,4 7,7 15,2 8,3 9. Число возрастаний: 8 .

 

 

 

 

 

 

 

 

 

 

m

 

 

 

m

;

 

m

 

1.15 ;

 

 

m m/2

 

= 8;

 

 

 

 

 

 

12

12

2

 

 

 

 

 

16 8 1.15 ;

критерий выполнен (| 8 - 8 |<=1.15).

10-03-2010

Реализация подстановок.

 

Критерии отбора ключей

Соседние файлы в папке 1-Lectures