Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
RC4 - Wikipedia, wolna encyklopedia

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:

  1. Permutacji 256-elementowej wszystkich możliwych stanów (oznaczanej później S).
  2. 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

Etap pośredni RC4. Bajt strumienia szyfrującego K jest tworzony poprzez znalezienie wartości w S wskazywanej przez S[i] + S[j] (modulo 256).
Etap pośredni RC4. Bajt strumienia szyfrującego K jest tworzony poprzez znalezienie wartości w S wskazywanej przez S[i] + S[j] (modulo 256).

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

W kryptosystemach oznaczonych "(opcjonalnie)" RC4 jest jednym z wielu szyfrów, które mogą być użyte.

[edytuj] Zobacz też

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com