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

ЗИРКСИС_ЛАБА1_МЕТОДА

.pdf
Скачиваний:
16
Добавлен:
24.02.2016
Размер:
651.94 Кб
Скачать

Y

B

X

O

D

N

S

H

L

U

E

A

W

K

P

Каждая буква исходного текста заменяется на букву стоящую в ячейке ниже. Если буква расположена в самой нижней ячейке, то она заменяется на букву, стоящую в самой верхней ячейке того же столбца. Буквы I и J шифруются одинаково.

2. Дешифрование

2.1.Дан шифротекст: “STA_H__SINNEPOOV_LEA”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строки, 4 столбца). Для шифрования были использованы следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по строкам СЛЕВА НАПРАВО начиная с первой строки.

2.2.Дан шифротекст: “XABJYRQTR_VF_CBJRE”. Написать программу, выполняющую дешифрование методом подстановки с использованием шифратора Цезаря для k=13. Нумерация букв алфавита: 0-A, 1-B, 2-C, …, 25-Z.

Вариант 20

1. Шифрование

Дан исходный текст: “THE_JEWELS_ARE_FAKE_”

Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива 5х4 (5 строк, 4 столбца). Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по строкам СПРАВА НАЛЕВО начиная с первой строки.

1.2.Зашифровать исходный текст используя таблицу следующего вида:

K

F

P

M

U

X

B

G

W

I-J

A

Z

R

D

O

L

V

Y

E

T

S

C

N

Q

H

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

2. Дешифрование

2.1. Дан шифротекст: “WGNAEE_D_R__A__NRE_I”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строки, 4 столбца). Для шифрования были использованы следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки на-

чиная с левого верхнего угла. Правило чтения: по строкам СЛЕВА НАПРАВО начиная с первой строки.

2.2. Дан шифротекст: “UREN_FRCQ_HXDA_XFW_VRWM”. Написать программу, выполняющую дешифрование методом подстановки с использованием шифратора Цезаря для k=9. Нумерация букв алфавита: 0-A, 1-B, 2-C, …, 25-Z.

Вариант 21

1. Шифрование

Дан исходный текст: “ЭТОТ_БАНК_НЕ_НАДЕЖЕН” Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива 5х4 (5 строк, 4 столбца). Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по строкам СПРАВА НАЛЕВО начиная с первой строки.

1.2.Зашифровать исходный русский текст методом подстановок с использованием децимации с ключом k=3. Нумерация букв алфавита: 0-A, 1-Б, 2-В, 3-Г, 4-

Д, 5-Е, 6-Ж, …, 31-Я.

2. Дешифрование

2.1.Дан шифротекст: “_АКВЯТРА_ПО___ВАЗЕЛС”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строк, 4 столбца). Для шифрования были использованы следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: “змейкой” по столбцам начиная с ЛЕВОГО НИЖНЕГО угла.

2.2.Дан шифротекст: “TDLS_KWH_IWEMNCAY”. Написать программу, выполняющую дешифрование. При шифровании была использована таблица

T

M

R

C

I-J

F

Z

G

V

Q

Y

B

X

O

D

N

S

H

L

U

E

A

W

K

P

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

Вариант 22

1. Шифрование

Дан исходный текст: “DATE_IS_CANCELED__”

Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива 3х6 (3 строки, 6 столбцов). Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по столбцам СВЕРХУ ВНИЗ начиная с первого столбца.

1.2.Зашифровать исходный текст используя таблицу следующего вида:

A

M

D

P

V

Y

R

K

G

U

B

N

W

T

E

L

C

O

F

Q

Z

S

X

H

I-J

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

2. Дешифрование

2.1.Дан шифротекст: “WGNAEE_D_R__A__NRE_I”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строки, 4 столбца). Для шифрования были использованы следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по строкам СЛЕВА НАПРАВО начиная с первой строки.

2.2.Дан шифротекст: “MPBTE_WDRC_CDI”. Написать программу, выполняющую дешифрование методом подстановок с использованием таблицы подстановок, генерируемой на основе ключевого слова “MOUSE”. Ключевое слово записывается в таблицу посимвольно с выравниванием по левому краю таблицы. Оставшиеся пустыми ячейки заполняются неиспользованными буквами по возрастанию начиная с крайней левой пустой ячейки.

Вариант 23

1. Шифрование

Дан исходный текст: “JOHN_WAS_CAPTURED_”

Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива 3х6 (3 строки, 6 столбцов). Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по столбцам СНИЗУ ВВЕРХ начиная с первого столбца

1.2.Зашифровать исходный текст используя таблицу следующего вида:

T

M

R

C

I-J

F

Z

G

V

Q

Y

B

X

O

D

N

S

H

L

U

E

A

W

K

P

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

2. Дешифрование

2.1.Дан шифротекст: “TW_SHE_IET_____RWATE”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строки, 4 столбца). Для шифрования были использованы следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по строкам СЛЕВА НАПРАВО начиная с первой строки.

2.2.Дан шифротекст: “BP_PLSRO_BP_B_FTICR”. Написать программу, выполняющую дешифрование методом подстановок с использованием таблицы подстановок, генерируемой на основе ключевого слова “BSUIR”. Ключевое слово записывается в таблицу посимвольно с выравниванием по левому краю таблицы. Оставшиеся пустыми ячейки заполняются неиспользованными буквами по возрастанию начиная с крайней левой пустой ячейки.

Вариант 24

1. Шифрование

Дан исходный текст: “ТАЙНИК_ЗА_КАРТИНОЙ” Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива 3х6 (3 строки, 6 столбцов). Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по столбцам СНИЗУ ВВЕРХ начиная с первого столбца.

1.2.Зашифровать исходный русский текст методом подстановок с использованием децимации с ключом k=7. Нумерация букв алфавита: 0-A, 1-Б, 2-В, 3-Г, 4-

Д, 5-Е, 6-Ж, …, 31-Я.

2. Дешифрование

2.1.Дан шифротекст: “ЭН_ЕТАННОДЕ_ТЁЖК_БАН”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строк, 4 столбца). Для шифрования были использованы следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по строкам СПРАВА НАЛЕВО начиная с первой строки.

2.2.Дан шифротекст: “IDGGP_HRPQ_IA_MVDU”. Написать программу, выполняющую дешифрование методом подстановок с использованием таблицы подстановок, генерируемой на основе ключевого слова “VISUAL”. Ключевое слово записывается в таблицу посимвольно с выравниванием по левому краю таб-

лицы. Оставшиеся пустыми ячейки заполняются неиспользованными буквами по возрастанию начиная с крайней левой пустой ячейки.

Вариант 25

1. Шифрование

Дан исходный текст: “ГРУЗ_УХОДИТ_В_СЕМЬ” Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива 3х6 (3 строки, 6 столбцов). Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по столбцам СНИЗУ ВВЕРХ начиная с первого столбца.

1.2.Зашифровать исходный русский текст методом подстановок с использованием децимации с ключом k=5. Нумерация букв алфавита: 0-A, 1-Б, 2-В, 3-Г, 4-

Д, 5-Е, 6-Ж, …, 31-Я.

2. Дешифрование

2.1.Дан шифротекст: “ВСТРЕЧУ_ЬТСАРТА_В_ШЕ”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строк, 4 столбца). Для шифрования использовались следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: “змейкой” по столбцам начиная с ЛЕВОГО ВЕРХНЕГО угла.

2.2.Дан шифротекст: “BX_CZXP_BX_B_CGG”. Написать программу, выполняющую дешифрование методом подстановок с использованием таблицы подстановок, генерируемой при помощи ключевого слова “SHAPE”. Ключевое слово записывается в таблицу посимвольно с выравниванием по правому краю таблицы. Оставшиеся свободные ячейки заполняются неиспользованными буквами по возрастанию начиная с крайней левой ячейки.

Вариант 26

1. Шифрование

Дан исходный текст: “MIKE_IS_BETRAYER__”

Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива 3х6 (3 строки, 6 столбцов). Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по столбцам СНИЗУ ВВЕРХ начиная с первого столбца

1.2.Шифрование исходного текста методом подстановки с использованием шифратора Цезаря для k=4. Нумерация букв алфавита: 0-A, 1-B, 2-C, …, 25-Z.

2. Дешифрование

2.1. Дан шифротекст: “PA_NS_VAOIES_NHLETO”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива Mx4 (M строк, 4 столбца). Для шифрования были использованы

следующие правила. Правило записи: по строкам слева направо. Правило чтения: по столбцам сверху вниз. Порядок чтения столбцов текста: 4-1-3-2.

2.2. Дан шифротекст: “K_NKME_CXIVZUHXAVJI”. Написать программу, выполняющую дешифрование методом подстановок с использованием таблицы подстановок, генерируемой при помощи ключевого слова “PROFIT”. Ключевое слово записывается в таблицу посимвольно с выравниванием по правому краю таблицы. Оставшиеся свободные ячейки заполняются неиспользованными буквами по возрастанию начиная с крайней левой ячейки.

Вариант 27

1. Шифрование

Дан исходный текст: “SHIP_LEAVES_AT_NOON”

Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки с использованием двумерного массива Mx4 (M строк, 4 столбца). Правило записи: по строкам слева направо. Правило чтения: по столбцам сверху вниз. Порядок чтения столбцов текста: 4-1-3-2.

1.2.Шифрование исходного текста методом подстановки с использованием шифратора Цезаря для k=4. Нумерация букв алфавита: 0-A, 1-B, 2-C, …, 25-Z.

2. Дешифрование

2.1.Дан шифротекст: “TESIAAEAHER__S_GSWD_SREDKPT”. Написать про-

грамму, выполняющую дешифрование методом перестановки с использованием двумерного массива Mx5 (M строк, 5 столбцов). Для шифрования использовались следующие правила. Правило записи: по строкам слева направо. Правило чтения: по столбцам СНИЗУ ВВЕРХ. Порядок чтения столбцов текста: 4-3- 1-2-5.

2.2.Дан шифротекст: “УБВАЦЗС_У_ИЦБВМ_ГВАС”. Написать программу, выполняющую дешифрование методом подстановки с использованием шифратора Цезаря для k=17. Нумерация букв алфавита: 0-A, 1-Б, 2-В, 3-Г, 4-Д, 5-Е, 6-Ж, …, 31-Я.

Вариант 28

1. Шифрование

Дан исходный текст: “JAMES_IS_SPY”

Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки c использованием таблицы из М строк переменной длины.

Правило записи: по строкам слева направо начиная с верхней строки. Используются следующие длины строк: 1, 5, 4, 2.

Правило чтения: по столбцам сверху вниз начиная с левого столбца.

1.2.Шифрование исходного текста методом подстановки с использованием шифратора Цезаря для k=4. Нумерация букв алфавита: 0-A, 1-B, 2-C, …, 25-Z.

2. Дешифрование

2.1.Дан шифротекст: “HOJNRU_ETWDPA_AS_C”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 3х6 (3 строки, 6 столбцов). Для шифрования использовались следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по столбцам СНИЗУ ВВЕРХ начиная с первого столбца.

2.2.Дан шифротекст: “ЙНХЛ_ЪЩЬЦРТЛНЭЫЛ”. Написать программу, выполняющую дешифрование методом подстановки с использованием шифратора Цезаря для k=11. Нумерация букв алфавита: 0-A, 1-Б, 2-В, 3-Г, 4-Д, 5-Е, 6-Ж, …, 31-Я.

Вариант 29

1. Шифрование

Дан исходный текст: “MIKE_IS_BETRAYER”

Написать программы, выполняющие следующие действия:

1.1.Зашифровать исходный текст методом перестановки c использованием таблицы из М строк переменной длины.

Правило записи: по строкам слева направо начиная с верхней строки. Используются следующие длины строк: 4, 1, 6, 4,1.

Правило чтения: по столбцам СНИЗУ ВВЕРХ начиная с левого столбца.

1.2.Правило записи: по строкам слева направо начиная с верхней строки. Используются следующие длины строк: 4, 1, 6, 4,1.

Шифрование исходного текста методом подстановки с использованием шифратора Цезаря для k=4. Нумерация букв алфавита: 0-A, 1-B, 2-C, …, 25-Z.

2. Дешифрование

2.1.Дан шифротекст: “KIMEEY_RAI_RS_T_BE”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 3х6 (3 строки, 6 столбцов). Для шифрования использовались следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по столбцам СНИЗУ ВВЕРХ начиная с первого столбца.

2.2.Дан шифротекст: “WIJT_PFAMFW_AX_RSSR”. Написать программу, выполняющую дешифрование методом подстановок с использованием таблицы подстановок, генерируемой при помощи ключевого слова “MONEY”. Ключевое слово записывается в таблицу посимвольно с выравниванием по правому краю таблицы. Оставшиеся свободные ячейки заполняются неиспользованными буквами по возрастанию начиная с крайней левой ячейки.

Вариант 30

1. Шифрование

Дан исходный текст: “GREAT_SHIPS_ASK_DEEP_WATERS”

Написать программы, выполняющие следующие действия:

1.1. Зашифровать исходный текст методом перестановки с использованием двумерного массива Mx5 (M строк, 5 столбцов). Правило записи: по строкам слева направо.

1.2. Правило чтения: по столбцам СНИЗУ ВВЕРХ. Порядок чтения столбцов текста: 4-3-1-2-5.

Шифрование исходного текста методом подстановки с использованием шифратора Цезаря для k=4. Нумерация букв алфавита: 0-A, 1-B, 2-C, …, 25-Z.

2. Дешифрование

2.1.Дан шифротекст: “TERAH___EFES_AKLJEWE”. Написать программу, выполняющую дешифрование методом перестановки с использованием двумерного массива 5х4 (5 строк, 4 столбца). Для шифрования были использованы следующие правила. Правило записи: по спирали ПРОТИВ часовой стрелки начиная с левого верхнего угла. Правило чтения: по строкам СПРАВА НАЛЕВО начиная с первой строки.

2.2.Дан шифротекст: “ЩЪИКГЪН_ХИ_ЯНШХЦН”. Написать программу, выполняющую дешифрование методом подстановки с использованием шифратора Цезаря для k=8. Нумерация букв алфавита: 0-A, 1-Б, 2-В, 3-Г, 4-Д, 5-Е, 6-Ж, …,

31-Я.

Лабораторная работа №2 “Элементы теории чисел”

Наибольший общий делитель (НОД)

Наибольшим общим делителем целых чисел a1, a2, …, an называется такой положительный общий делитель этих чисел, который делится на любой другой общий делитель этих чисел.

Пример:

НОД(21,15)=3 НОД(27,44)=1 НОД(120,66)=6

Алгоритм Евклида

Используется для нахождения наибольшего общего делителя двух чисел.

НОД(a, b) = НОД(b, r), где a = bq + r.

Пример:

НОД(22, 8) = ?

22 = 8*2 + 6 (22, 8) = (8, 6) 8 = 6*1 + 2 (8, 6) = (6, 2) 6 = 2*2 + 2 (6, 2) = (2, 2) 2 = 2*1 + 0

НОД(22, 8) = 2

Бинарный алгоритм

Данный алгоритм также используется для нахождения наибольшего общего делителя 2-х чисел и базируется на следующих четырѐх утверждениях:

1)Если оба числа a и b – четные, то:

НОД(a, b) = 2∙НОД(а/2, b/2);

2)Если a – четное, а b – нечетное, то НОД(a, b) = НОД(a/2, b);

3)НОД(a, b) = НОД(b, a– b);

4)если a и b – оба нечетны, то ab – четно.

Пример:

НОД(1173, 323) = ?

(1173, 323) = (323, 850) = (323, 425) = (323, 102) = (323, 51) = (51, 272) = (51, 136) = (51, 68) = (51, 34) = (51, 17) = (17, 34) = (17, 17) = 17

Простые числа

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

Примеры:

11 – простое;

29 – простое; 56 – составное (56 = 7 ∙ 4 ∙ 2).

Два числа M и N называются взаимно простыми, если они не имеют общих делителей кроме единицы, то есть наибольший общий делитель НОД(M, N)=1.

Функция Эйлера

Функцией Эйлера (n) ( n 1) называют количество положительных целых чисел меньших n и взаимно простых с n.

Примеры:

(1) = 0 (2) = 1 (3) = 2 (4) = 2 (5) = 4 (6) = 2 (7) = 6 (8) = 4 (9) = 6 (10) = 4 (11) = 10