Шифрование методом аналитических преобразований в матрице по особым зависимостям.



Написать программу, записывающую посимвольно текст исходного сообщения в прямоугольную матрицу, размером n x k :

                                А i j =     .

И преобразующую эту матрицу А в одномерный массив В, размерностью m =( n x k ), содержащий зашифрованный текст,  по следующему правилу считывания элементов диагонали (см.рисунок): а11, а21, а12, а13,  а22, а31, а41, а32, а23, а14, а24, а33, а42, а43, а34, а44..При разработке алгоритма программы, необходимо учитывать, что данное преобразование возможно в 8 вариантах, и началоа11, или а41, или а14, или а44 ) и направление прохода (вниз, вверх или в сторону) по матрице сообщений должно быть указано пользователем.

 

G - контурная многоалфавитная матрица.

G-контурная многоалфавитная подстановка представляет собой метод шифрования, использующий g наборов алфавитов, применяемых циклически с периодами u 1 , u 2 , . . ., ug . Каждый j-ый зашифрованный знак получается из уравнения

Cj = Pj x K1, j mod u1 x K2, j mod u2 x . . . x Kg, j mod ug. ,

где x обычно является некоторой обратной операцией.

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

 

12.  Генераторы псевдослучайных чисел для формирования цифровых ключей заданной длины.

Написать программу, формирующую цифровые ключи по двум нижеописанным алгоритмам. В первом случае из последовательности Ti выбираются уникальные цифры (10), поэтому максимальная длина ключа не должна превышать десяти. Длина формируемого ключа задаётся пользователем. Таким образом, закладывается специальный алгоритм, который при получении кода ключа (порождающего числа) вырабатывает по определенному закону (уравнению) с каждым тактом новое псевдослучайное число. Например, если использованное порождающее число было 4372, то последовательность будет выглядеть следующим образом:

T0 = 4372 .                                           Двумя средними числами являются 37.

Квадратом 37 является 1369. T1 = 1369. Двумя средними цифрами являются 36.

Квадрат 36 — число 1296. T2 = 1296. Двумя средними цифрами являются 29.

Квадрат 29 — число 841. T3 = 0841 ... и т. д.

Во втором случае строится линейный конгруэнтный генератор ПСЧ , который вырабатывает последователь­ность псевдослучайных чисел Т1, Т2, Т3, ..., Тm, ..., используя соотношение

Т i = (аТ + c) mod m,                      где а и с — константы; Тi - исходная величина, выбранная в качестве порождающего числа.

 Указанное уравнение генерирует псевдослучайные числа с определен­ным периодом повторения, зависящим от выбранных значений "а" и "с". Значение "m" обычно устанавливается равным 2b-1 или 2b, где b- длина слова ЭВМ в битах.

 

Шифрование перестановкой в треугольнике.

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

Шифр Ривеста – Шамира – Алдемана.

Напишите программу, имитирующую шифр RSA.

 

 

Шифр ЭльГамаля.

Разработайте программу, имитирующую шифр ЭльГамаля.

 

 

Коды Шеннона – Фано.

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

 


Дата добавления: 2019-01-14; просмотров: 429; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!