RC2
W kryptografii RC2 jest szyfrem z symetrycznym kluczem blokowym. Zaprojektowany przez Ronalda Rivesta w 1987 roku. "RC" oznacza "Rivest Cipher", lub alternatywnie "Ron's Code".
RC2 jest 64-bitowym szyfrem blokowym o zmiennej wielkości klucza i wykorzystującym 18 rund.
Zaokrąglenia są ułożone w siećfeistelową, w której 16 rund jednego typu nazywanych "rundami mieszającymi" przeplatanych jest dwoma rundami innego typu nazywanymi "rundami zacierającymi".
18 rund jest wykonywanych według następującej sekwencji przerywanej:
- wykonać 5 rund mieszania.
- wykonać 1 rundę zacierania.
- wykonać 6 rund mieszania.
- wykonać 1 rundę zacierania.
- wykonać 5 rund mieszania.
RC2 wykorzystuje algorytm ekspandowania klucza, za pomocą którego tworzony jest klucz złożony z 64 (16-bitowych słów), zależny w skomplikowany sposób od każdego bitu dostarczonego "zmienno-długiego" klucza wejściowego. Runda mieszania składa się z czterech zastosowań transformacji "mieszania", jak pokazano na rysunku. Runda jest "masowana" przez dodanie do niej jednego z 16-bitowych słów klucza rozszerzonego (RFC 2268).
RC2 jest podatny na atak kluczem pokrewnym za pomocą 234 ataków wybranych tekstów (Kelsey i in. , 1997).
Rozwój RC2 był sponsorowany przez firmę Lotus, która poszukiwała niestandardowego szyfru do eksportu w ramach swojego oprogramowania Lotus Notes, po dokonaniu oceny przez NSA. NSA zaproponował kilka zmian, które Ronald Rivest wprowadził. Po dalszych negocjacjach, w 1989 r. szyfr został dopuszczony do eksportu.
Wraz z RC4, RC2 z 40-bitowym kluczem został potraktowany zgodnie z amerykańskimi przepisami eksportowymi dotyczącymi kryptografii. Teraz wszystkie 40-bitowe algorytmy szyfrujące są już przestarzałe, ponieważ są niebezpiecznie podatne na ataki brutalną siłą.
Początkowo szczegóły algorytmu były utrzymywane w tajemnicy - zastrzeżone dla RSA Security - ale 29 stycznia 1996 roku kod źródłowy RC2 został anonimowo umieszczony w Internecie na forum Usenet, sci.crypt. Podobny post miał miejsce wcześniej w przypadku RC4. Niejasne jest, czy plakat miał dostęp do specyfikacji, czy też został zaprojektowany w sposób odwrotny.
![Przemiana mieszania RC2; Runda mieszania polega na czterokrotnym zastosowaniu przemiany "mieszania".](https://alegsaonline.com/image/250px-RC2_InfoBox_Diagram.png)
![Zoom](https://www.alegsaonline.com/zoom.png)
Przemiana mieszania RC2; Runda mieszania polega na czterokrotnym zastosowaniu przemiany "mieszania".
Pytania i odpowiedzi
P: Co to jest RC2?
O: RC2 to szyfr blokowy z kluczem symetrycznym, zaprojektowany przez Ronalda Rivesta w 1987 roku. Wykorzystuje 64-bitowy rozmiar bloku i 18 rund szyfrowania.
P: Co oznacza skrót "RC"?
O: "RC" to skrót od "Rivest Cipher" lub inaczej "Ron's Code".
P: Ile rund jest wykonywanych przy użyciu RC2?
O: Przy użyciu RC2 wykonuje się 18 rund - 16 rund mieszania przeplatanych dwoma rundami zacierania.
P: Jak działa algorytm rozszerzania klucza?
O: Algorytm rozszerzania klucza tworzy rozszerzony klucz składający się z 64 (16-bitowych słów) w zależności od każdego bitu dostarczonego klucza wejściowego o zmiennej długości.
P: Na jaki rodzaj ataku jest podatny RC2?
O: RC2 jest podatny na atak na klucz powiązany z wykorzystaniem 234 ataków typu chosen-plaintext.
P: Kto sponsorował rozwój RC2?
O: Rozwój RC2 był sponsorowany przez firmę Lotus, która poszukiwała własnego szyfru, który mógłby być eksportowany jako część ich oprogramowania Lotus Notes.