RC4
Z Wikipedii
| RC4 | |
| Rodzaj szyfru | symetryczny szyfr strumieniowy |
| Data stworzenia | 1987 |
| Autorzy | Ron Rivest |
| Skuteczne ataki | Atak Fluhrera, Mantina i Shamira |
RC4 (zwany również ARC4 albo ARCFOUR) jest popularnym szyfrem strumieniowym. Używany jest w protokołach, takich jak SSL oraz WEP. Pomimo, że RC4 jest odporny na kryptoanalizę liniową i kryptoanalizę różnicową to jest obecnie uznawany za niezbyt bezpieczny kryptosystem. RC4 nie jest zalecany do używania w nowych systemach.
Spis treści |
[edytuj] Historia
RC4 został opracowany przez Rona Rivesta z RSA Security w 1987 roku. Oficjalnie nazwa jest akronimem słów "Rivest Cipher 4".
RC4 początkowo był tajemnicą handlową. We wrześniu 1994 implementacja szyfru w języku C została wysłana anonimowo na listę mailową Cypherpunks, skąd trafił na grupę dyskusyjną sci.crypt. Od tej pory algorytm nie jest już tajemnicą handlową, ale nazwa RC4 nadal jest zastrzeżonym znakiem handlowym. Nieoficjalne implementacje szyfru są legalne, ale noszą inną nazwę niż RC4 ("ARC4" lub "ARCFOUR").
[edytuj] Opis szyfru
RC4 generuje pseudolosowy strumień bitów (strumień szyfrujący). W celu zaszyfrowania wykonywana jest operacja XOR na tekście oryginalnym i strumieniu szyfrującym (jak w każdym szyfrze Vernama). W celu odszyfrowania analogicznie wykonywana jest operacja XOR na tekście zaszyfrowanym i strumieniu szyfrującym.
W celu wygenerowania strumienia szyfrującego wykorzystuje się tajny stan początkowy, składający się z dwóch części:
- Permutacji 256-elementowej wszystkich możliwych stanów (oznaczanej później S).
- Dwóch 8-bitowych wskaźników (oznaczanych "i" i "j").
Permutacja jest zainicjalizowana za pomocą klucza o długości zazwyczaj pomiędzy 40 i 256 bit (procedura inicjowania klucza). Następnie tworzony jest strumień bitów wyjściowych za pomocą algorytmu pseudolosowej generacji.
[edytuj] Procedura inicjowania klucza
Procedura inicjalizacji klucza jest używana w celu stworzenia początkowej permutacji liczb w 256-elementowej tablicy "S". Długość klucza jest wyznaczona poprzez liczbę bajtów w kluczu. Typowo wynosi pomiędzy 5 a 16 bajtów (pomiędzy 40 a 128 bitów).
Początkowo w tablicy "S" tworzona jest permutacja identycznościowa. Następnie "S" jest przetwarzane w 256 iteracjach (podobnie jak w algorytmie pseudolosowej generacji) i mieszane jednocześnie z bajtami klucza.
for i from 0 to 255
S[i] := i
j := 0
for i from 0 to 255
j := (j + S[i] + klucz[i mod długość_klucza]) mod 256
zamień(S[i],S[j])
[edytuj] Algorytm pseudolosowej generacji
Algorytm pseudolosowej generacji modyfikuje stan tablicy S i generuje bajt strumienia szyfrującego tyle razy, ile wynosi długość tekstu oryginalnego. Za każdym razem algorytm zwiększa i o 1, dodaje do j wartość w S wskazywaną przez i, zamienia ze sobą wartości S[i] i S[j] oraz jako wynik daje wartość z S wskazywaną przez S[i] + S[j] (modulo 256). Każda wartość S jest zamieniana co najmniej raz na każde 256 iteracji.
i := 0
j := 0
while TworzonyStrumieńSzyfrujący:
i := (i + 1) mod 256
j := (j + S[i]) mod 256
zamień(S[i],S[j])
wynik S[(S[i] + S[j]) mod 256]
[edytuj] Wektory testowe
Wektory testowe podane poniżej nie mają statusu oficjalnego, jednak są dogodne dla każdego, kto chce przetestować swoją implementację RC4. Dane wejściowe są w formacie ASCII, dane wyjściowe w formacie heksadecymalnym
RC4( "Key", "Plaintext" ) == BBF316E8D940AF0AD3 RC4( "Wiki", "pedia" ) == 1021BF0420 RC4( "Secret", "Attack at dawn" ) == 45A01F645FC35B383552544B9BF5 RC4( "Kry", "ptologia" ) == 015C5F30796B0B94
[edytuj] Bezpieczeństwo RC4
Pewne sekwencje bajtów pojawiają się nieznacznie częściej w strumieniu szyfrującym RC4 niż inne. W 2000 roku Fluhrer i McGrew opracowali atak oparty na tej własności. Za pomocą tego ataku można wyodrębnić strumień szyfrujący z gigabajta losowych danych wyjściowych.
[edytuj] Atak Fluhrera, Mantina i Shamira
W 2001 roku Fluhrer, Mantin i Shamir odkryli, że wśród wszystkich możliwych kluczy RC4 rozkład statystyczny kilku pierwszych bajtów wyjściowego strumienia szyfrującego jest silnie nielosowy. Analizując dużą liczbę wiadomości zaszyfrowanych tym samym kluczem, można uzyskać ten klucz. Odkrycie to pozwoliło na złamanie standardu szyfrowania WEP ("wired equivalent privacy") używanego w bezprzewodowych sieciach typu 802.11. Spowodowało to przyspieszony rozwój standardu szyfrowania WPA, będącego następcą WEP.
Istnieje możliwość obrony przed atakiem tego typu. W tym celu należy odrzucić początkową porcję danych ze strumienia szyfrującego (co najmniej pierwsze 1024 bajty).
[edytuj] Kryptosystemy oparte na RC4
- WEP
- WPA
- CipherSaber
- protokół BitTorrent
- Microsoft Point-to-Point Encryption
- Secure Sockets Layer (SSL) (opcjonalnie)
- Secure shell (SSH) (opcjonalnie)
W kryptosystemach oznaczonych "(opcjonalnie)" RC4 jest jednym z wielu szyfrów, które mogą być użyte.
[edytuj] Zobacz też
| Internetowe oszustwa ojca i syna na kwotę 300 tys. zł |
|
Do 10 lat więzienia grozi dwóm oszustom komputerowym z Sieradza - 19-letniemu mężczyźnie i jego 40- letniemu ojcu, którzy zostali zatrzymani przez funkcjonariuszy komendy wojewódzkiej policji w Łodzi.
|
| Szczecin - honorowe obywatelstwa dla Wałęsy? |
|
Szczecińscy radni głosami Platformy Obywatelskiej przyjęli na sesji rady miejskiej uchwałę w sprawie nadania byłemu prezydentowi Lechowi Wałęsie honorowego obywatelstwa Szczecina.
|
| Białoruś nie chce oddać Polsce rządowych samolotów |
|
Białorusini nie chcą oddać Polsce dwóch rządowych samolotów. Mińskie zakłady Jakowlewa od ponad roku przetrzymują dwa polskie rządowe samoloty - ustalił serwis internetowy tvp.info. Białoruskie służby specjalne twierdzą, że podczas remontu maszyn doszło do próby zamontowania w nich... podrabianych części.
|
| Autolustracyjny proces posła Mirosława Pawlaka odroczony |
|
Do 8 grudnia Sąd Okręgowy w Kielcach odroczył rozprawę w procesie autolustracyjnym świętokrzyskiego posła PSL Mirosława Pawlaka. Według katalogu IPN, poseł był zarejestrowany przez SB jako tajny współpracownik. On sam twierdzi, że nie był agentem.
|
| Klich: 60 mld zł na armię do 2018 r. |
|
Na techniczną modernizację armii do 2018 roku zostanie wydanych 60 mld zł - zapowiedział w Kielcach minister obrony narodowej Bogdan Klich. Szef MON otworzył tam XVI Międzynarodowy Salon Przemysłu Obronnego (MSPO).
|