Шифрование методами аналитических преобразований
в голове есть как можно сделать, а на практике не выходит...>_<
Шифрование методами аналитических преобразований основано на понятии односторонней функции. Будем говорить, что функция у=f(х) является односторонней, если она за сравнительно небольшое число операций преобразует элемент открытого текста х в элемент шифр-текста у для всех значений х из области определения, а обратная операция (вычисление x=F**-1(y) при известном шифр-тексте) является вычислительно трудоемкой.
В качестве односторонней функции можно использовать следующие преобразования:
умножение матриц;
решение задачи об укладке ранца;
вычисление значения полинома по модулю;
экспоненциальные преобразования и другие.
Метод умножения матриц использует преобразование вида Y=C*X, где Y=||y1,y2, ...,yn||*Т , С=||Cij|| , X=||x1,x2,...,xn||
Пример 1. Открытый текст: "ПРИКАЗ" ("16 17 09 11 01 08" согласно таблице 1).
Матрица С:
¦1 3 2¦
¦2 1 5¦
¦3 2 1¦
¦1 3 2¦ ¦16¦
¦2 1 5¦ X ¦17¦ =¦85 94 91¦
¦3 2 1¦ ¦09¦
¦1 3 2¦ ¦11¦
¦2 1 5¦ X ¦01¦ = ¦30 63 43¦
¦3 2 1¦ ¦08¦
Шифр-текст: "85 94 91 30 63 43".
Таблица 1
Код Буква Код Буква Код Буква
1 А 12 К 23 Х
2 Б 13 Л 24 Ц
3 В 14 М 25 Ч
4 Г 15 Н 26 Ш
5 Д 16 О 27 Щ
6 Е 17 П 28 Ъ
7 Ё 18 Р 29 Ы
8 Ж 19 С 30 Ь
9 З 20 Т 31 Э
10 И 21 У 32 Ю
11 Й 22 Ф 33 Я
Напишите программу, производящую шифрование произвольного слова из файла text1.txt методом умножения матриц (матрицу С взять из приведенного выше примера). При этом зашифрованный текст должен помещаться в файл text2.txt.
Отчет должен содержать:
1 Порядок шифрования слова вручную (слово выбирается по таблице 2)
2 Текст программы
3 Экранные формы программы, а также скриншоты исходного и зашифрованного файлов
у меня в голове так...
первая матрица алфавит А
вторая та что матрица С
смотрим на букву и ищем её порядковый номер в матрице
его записываем в матрицу В
когда матрица В насчитывает 3 цифры умножаем её на С и записываем в переменную S значение которой присвоим в поле Вывода
продолжаем процесс пока не кончится текст и
конец...
кто мои слова может в код правильно написать..??помогите пожалуйста добрые люди...