Szyfrowanie z kluczem symetrycznym

0
(0)

Zacznę od omówienia szyfru zwanego podkładką jednorazową, opartego o system binarny, a dokładniej o operację XOR zwaną alternatywą wykluczającą.

Przyjmijmy, że chcemy wysłać wiadomość dwubitową, w tej sytuacji można pozostawić dwa bity nietchnięte, można je odwrócić lub odwrócić tylko jeden z nich. Następnie należy ustalić pomiędzy nadawcą i odbiorcą, które bity będą odwracane. W kategoriach operacji XOR powstałby następujące możliwości stworzenia dwubitowego klucza: 00, 01, 10 i 11. W przypadku w którym tekst jawny wymagałby n bitów, można by było wygenerować w charakterze klucza losowy ciąg n bitów. Następnie przekazać go odbiorcy i zaszyfrować tekst jawny z użyciem tego klucza. Zastosowany tu klucz nazywamy podkładką.

System ten zapewnia wysoki poziom bezpieczeństwa, jednak klucz musi zawierać tyle bitów, ile zawartych jest w tekście jawnym. Jak wskazuje nazwa podkładkę jednorazową, należy stosować tylko raz, a dla zwiększenia bezpieczeństwa zawsze powinna być generowana losowo.

Stosowanie tak długich kluczy, jak tekst jawny, przy bardzo dużych wiadomościach, może okazać się sporym problemem. Dlatego w niektórych systemach z kluczami symetrycznymi tekst jawny tnie się na bloki, zaś klucz stosuje się do każdego z nich z osobna. Taki rodzaj szyfru jest określany jako szyfr blokowy. 

Jednym z najbardziej popularnych szyfrów jest Rijnael, działa on dla 3 wielkości bloków: 128, 192 i 256. Oznaczmy przez Nb i Nk liczbę 32 bitowych słów w komunikacie oraz kluczu, sekwencja rund wyglądałaby następująco:

  1. Dla N= Nk = 4, byłoby 10 rund (Nr = 10)
  2. Dla Nb ≤ 6 oraz Nk ≤ 6, przy czym obie wartości są różne od 4 Nr = 12
  3. Dla wszystkich innych przypadków Nr = 14

W szyfrze tym, można wyróżnić następujące przekształcenia:

  • ByteSub (BS)
  • ShiftRow (SR)
  • MixColumn (MC)
  • AddRoundKey (ARK)

Schemat działania takiego algorytmu wygląda następująco:

 

Tura 1

Następnych Nk – 2 tur

Tura ostatnia

 

Tekst jawny

ARK

BS

SR

MC

ARK

BS

SR

ARK

Tekst tajny

Jak przydatny był ten post?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena 0 / 5. Liczba głosów: 0

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten post.