Бинарные операции над матрицами

Автор работы: Пользователь скрыл имя, 23 Апреля 2013 в 15:16, лабораторная работа

Описание работы

Система шифрования Цезаря с ключевым словом является одноалфавитной системой подстановки. Особенностью этой системы является использование ключевого слова для смещения и изменения порядка символов в алфавите подстановки. Выберем некоторое число k, , и слово или короткую фразу в качестве ключевого слова. Желательно, чтобы все буквы ключевого слова были различными.
Теперь мы имеем подстановку для каждой буквы произвольного сообщения. Исходное сообщение SEND MORE MONEY шифруется как HZBY TCGZ TCBZS. Следует отметить, что требование о различии всех букв ключевого слова не обязательно.

Файлы: 1 файл

бинарные матрицы.docx

— 60.30 Кб (Скачать файл)

Матрица 1 :

 

1

0

0

1

1

1

0

1

1

1

1

0

1

1

0

1

1

1

0

0

1

1

1

1

1

1

0

1

1

1

0

0

1

0

1

0

0

1

0

1

1

0

0

1

1

0

0

1

0

0

0

1

1

1

1

1

0

0

1

0

0

0

0

1


 

 
Умножим ключ на матрицу по правилам булевой алгебры.

0 Å 0 = 0

0 Å 1 = 1

1 Å 0 = 1

                     1 Å 1 = 0

Вычислим элементы матрицы : 
 
c1,1 = a1,1b1,1+a1,2b2,1+a1,3b3,1+a1,4b4,1+a1,5b5,1+a1,6b6,1+a1,7b7,1+a1,8b8,1 
c1,2 = a1,1b1,2+a1,2b2,2+a1,3b3,2+a1,4b4,2+a1,5b5,2+a1,6b6,2+a1,7b7,2+a1,8b8,2 
c1,3 = a1,1b1,3+a1,2b2,3+a1,3b3,3+a1,4b4,3+a1,5b5,3+a1,6b6,3+a1,7b7,3+a1,8b8,3 
c1,4 = a1,1b1,4+a1,2b2,4+a1,3b3,4+a1,4b4,4+a1,5b5,4+a1,6b6,4+a1,7b7,4+a1,8b8,4 
c1,5 = a1,1b1,5+a1,2b2,5+a1,3b3,5+a1,4b4,5+a1,5b5,5+a1,6b6,5+a1,7b7,5+a1,8b8,5 
c1,6 = a1,1b1,6+a1,2b2,6+a1,3b3,6+a1,4b4,6+a1,5b5,6+a1,6b6,6+a1,7b7,6+a1,8b8,6 
c1,7 = a1,1b1,7+a1,2b2,7+a1,3b3,7+a1,4b4,7+a1,5b5,7+a1,6b6,7+a1,7b7,7+a1,8b8,7 
c1,8 = a1,1b1,8+a1,2b2,8+a1,3b3,8+a1,4b4,8+a1,5b5,8+a1,6b6,8+a1,7b7,8+a1,8b8,8

c1,1 

1

*

1

+

0

*

1

+

1

*

1

+

0

*

1

+

1

*

1

+

0

*

1

+

0

*

0

+

1

*

0

=

1

+

0

+

1

+

0

+

1

+

0

+

0

+

0

=

1


c1,2 

1

*

0

+

0

*

1

+

1

*

1

+

0

*

1

+

1

*

0

+

0

*

0

+

0

*

0

+

1

*

0

=

0

+

0

+

1

+

0

+

0

+

0

+

0

+

0

=

1


c1,3 

1

*

0

+

0

*

1

+

1

*

0

+

0

*

0

+

1

*

1

+

0

*

0

+

0

*

0

+

1

*

1

=

0

+

0

+

0

+

0

+

1

+

0

+

0

+

1

=

0


c1,4 

1

*

1

+

0

*

0

+

1

*

0

+

0

*

1

+

1

*

0

+

0

*

1

+

0

*

1

+

1

*

0

=

1

+

0

+

0

+

0

+

0

+

0

+

0

+

0

=

1


c1,5 

1

*

1

+

0

*

1

+

1

*

1

+

0

*

1

+

1

*

0

+

0

*

1

+

0

*

1

+

1

*

0

=

1

+

0

+

1

+

0

+

0

+

0

+

0

+

0

=

0


c1,6 

1

*

1

+

0

*

1

+

1

*

1

+

0

*

1

+

1

*

1

+

0

*

0

+

0

*

1

+

1

*

0

=

1

+

0

+

1

+

0

+

1

+

0

+

0

+

0

=

1


c1,7 

1

*

0

+

0

*

0

+

1

*

1

+

0

*

0

+

1

*

0

+

0

*

0

+

0

*

1

+

1

*

0

=

0

+

0

+

1

+

0

+

0

+

0

+

0

+

0

=

1


c1,8 

1

*

1

+

0

*

1

+

1

*

1

+

0

*

0

+

1

*

1

+

0

*

1

+

0

*

1

+

1

*

1

=

1

+

0

+

1

+

0

+

1

+

0

+

0

+

1

=

0


В результате получим закодированное сообщение :

 

1

1

0

1

0

1

1

0



Далее полученный результат  умножим на матрицу 2 (обратная) для  раскодирования. В результате чего получим исходный ключ.

1

1

0

1

0

1

1

0


*10001101

  11111110

  01101111

  01010001

  10110110

  10000100

  00001111

  01101110

               

c1,1 

1

*

1

+

1

*

1

+

0

*

0

+

1

*

0

+

0

*

1

+

1

*

1

+

1

*

0

+

0

*

0

=

1

+

1

+

0

+

0

+

0

+

1

+

0

+

0

=

1


c1,2 

1

*

0

+

1

*

1

+

0

*

1

+

1

*

1

+

0

*

0

+

1

*

0

+

1

*

0

+

0

*

1

=

0

+

1

+

0

+

1

+

0

+

0

+

0

+

0

=

0


c1,3 

1

*

0

+

1

*

1

+

0

*

1

+

1

*

0

+

0

*

1

+

1

*

0

+

1

*

0

+

0

*

1

=

0

+

1

+

0

+

0

+

0

+

0

+

0

+

0

=

1


c1,4 

1

*

0

+

1

*

1

+

0

*

0

+

1

*

1

+

0

*

1

+

1

*

0

+

1

*

0

+

0

*

0

=

0

+

1

+

0

+

1

+

0

+

0

+

0

+

0

=

0


c1,5 

1

*

1

+

1

*

1

+

0

*

1

+

1

*

0

+

0

*

0

+

1

*

0

+

1

*

1

+

0

*

1

=

1

+

1

+

0

+

0

+

0

+

0

+

1

+

0

=

1


c1,6 

1

*

1

+

1

*

1

+

0

*

1

+

1

*

0

+

0

*

1

+

1

*

1

+

1

*

1

+

0

*

1

=

1

+

1

+

0

+

0

+

0

+

1

+

1

+

0

=

0


c1,7 

1

*

0

+

1

*

1

+

0

*

1

+

1

*

0

+

0

*

1

+

1

*

0

+

1

*

1

+

0

*

1

=

0

+

1

+

0

+

0

+

0

+

0

+

1

+

0

=

0

Информация о работе Бинарные операции над матрицами