/ / Wdrożenie szyfru Hill, gdy wyniki nie są oczekiwane - bezpieczeństwo, kryptografia, szyfrowanie

Implementacja szyfrów Hill, gdy wyniki nie są oczekiwane - bezpieczeństwo, kryptografia, szyfrowanie

Pracuję nad kilkoma szyframi (tylko teoria, niekodowanie jeszcze). Obecnie robię szyfr na wzgórzu i mogę go dobrze używać. Natknąłem się jednak na problem, który mnie zaskoczył. Powiedzmy na przykład, że szyfruję litery A i I. A byłoby 0 i I 8. Teraz weź moje pole szyfrowania:

 K= 18 2
23 0

To wszystko dobrze i dobrze. Mogę zaszyfrować jako taki:

A = 18 * 0 = 0 2 * 8 = 16

Problem polega na tym, że dodanie tych wyników powoduje16. Czy 16% 26 to tylko 16? Czy to numer, którego używam do szyfrowania? Podobny problem występuje, jeśli mam szyfrowanie, którego wynikiem jest 260% 26. Czy to staje się 10 czy 0? Po podzieleniu 260 przez 26 otrzymujesz 10. Aby zakończyć operację modulo, zabrałbym dowolną liczbę całkowitą i pomnożę resztę przez 26. Oczywiście, jeśli zrobię to w tym przypadku, otrzymam 0, której nie można pomnożyć. Jakieś sugestie?

Odpowiedzi:

2 dla odpowiedzi № 1

Tak. 16 % 26 = 16 i 260 % 26 = 0.

Chodzi o to, że matrycy szyfrowania nie można użyć jako klucza szyfrowania / deszyfrowania szyfru Hill. Powodem jest to, że macierz szyfrowania musi mieć inverse matrix (modulo 26). Innymi słowy, determinant macierzy musi być nonzeroi niepodzielony przez 2 lub 13. W rzeczywistości, determinant macierzy jest 24 mod 26, który nie może spełnić tego wymogu szyfru Hill. Właśnie dlatego masz dziwny wynik i deszyfrowanie się nie powiedzie.

Spróbuj więc wygenerować inną macierz szyfrowania, która ma wymaganą właściwość. Na przykład,
3 5
1 2 może być użyty jako matryca szyfrująca.