gru 30 2011

Istnieje wiele metod wykonania tego zadania...


 Najczęściej stosuje się: ogólny algorytm szyfrowania E, ogólny algorytm deszyfrowania D i tajny klucz (lub klucze) dostarczany wraz z każdym programem użytkowym. Niech Ek i Dk oznaczają odpowiednio algorytmy szyfrowania i deszyfrowania konkretnego programu użytkowego z kluczem k. Wówczas algorytm szyfrowania musi mieć następujące właściwości dla każdego komunikatu m:

1. Dk (Ek(m)) = m.

2. Zarówno Ek jak i Dk można obliczyć efektywnie.

3. Bezpieczeństwo systemu zależy tylko od tajności klucza, a nie od tajności algorytmów E lub D.

Schemat tego rodzaju, nazwany Standardem Szyfrowania Danych, został ostatnio przyjęty przez Narodowe Biuro Standardów (National Bureau of Standards). W tym schemacie jest kłopotliwa dystrybucja klucza. Zanim dojdzie do komunikacji, tajne klucze muszą zostać bezpiecznie przesłane zarówno do nadawcy, jak i do odbiorcy. Zadania tego nie można wykonać efektywnie w środowisku sieci komunikacyjnej. Stosuje się zatem schemat szyfrowania z kluczem publicznym. Każdy użytkownik ma zarówno publiczny jak i prywatny klucz, a dwu użytkowników może się komunikować znając tylko wzajemnie swoje klucze publiczne.

Oto jak wygląda algorytm oparty na tym pomyśle. Uważa się, że tego algorytmu prawie nie można złamać. Klucz publicznego szyfrowania stanowi hiszpański zawody para (e,n); klucz prywatny jest parą (d,n), przy czym e, d i n są dodatnimi liczbami całkowitymi. Każdy komunikat jest reprezentowany jako liczba całkowita z przedziału [0, n - 1]. (Długi komunikat tnie się na ciąg krótszych komunikatów, z których każdy da się przedstawić w postaci takiej liczby.) Funkcje E i D są zdefiniowane następująco:

E(m) = m^e mod n = C, 

D(C) = C^d mod n.

Główny problem stanowi dobór kluczy szyfrowania i deszyfrowania. Liczba całkowita n jest obliczona jako iloczyn dwu wielkich (100 lub więcej cyfrowych) losowo wybranych liczb pierwszych p i q:

n=p x q.

chlopzmazur : :