Понимание алгоритма шифрования Хилла - PullRequest
1 голос
/ 22 октября 2010

Я хочу реализовать шифр Хилла, но мне кажется, у меня проблема с пониманием самого алгоритма.

Ключ, который я буду использовать, - это матрица 2X2, и я буду каждый раз кодировать 2 символа. Я умножу матрицу ключей на матрицу из 2 символов, а затем получу модуль 26 для этого уравнения.

C = E(K, P) = KP mod 26
where: K:key
       P:plain text

Я делаю так, но что-то не так. Я использую пример в своей книге, чтобы проверить мой алгоритм. Поскольку обычный текст friday, а ключ: int key[][] = {{5, 8}, {17, 3}}; результат должен быть PQCFKU.

Для первых букв f, r, f= 5, r=17 порядок букв алфавита f шифрование (5*5 + 17*8)%26 =5 => f должно быть P

Где ошибка, которую я делаю?

1 Ответ

2 голосов
/ 22 октября 2010

Если это: http://slidefinder.net/c/chapter_classical_encryption_techniques_jen/11206531/p2 - ваша книга, матрица [[5, 8] [17, 3]] - это не ваш ключ шифрования ... это матрица ввода.5 = F, 17 = R, 8 = I, 3 = D. K - ключ шифрования, который не указан на слайде.Вам нужно будет решить уравнение линейной алгебры, чтобы получить K.

Если у вас все еще есть проблемы с примером в вашей книге, попробуйте http://www.cs.uri.edu/cryptography/classicalhill.htm для простого примера ключа 2x2 с шифрованием идешифрования.

...