haker - ehaker.com


Login

Hasło

--Wstęp--
--Artykuły--
--Archiwa--
--Bios--
--Edytory--
--Systemowe--
--Poczta--
--Gwiazdki--
--Serwery--
--Inne--
--Członkostwo--
--Linki--
--Wyszukiwarka--
--Wyszukiwarka--
--Wyszukiwarka--
www.ehaker.com
mail@ehaker.com
brak


Algorytm szyfrowania DES.

 
Procesory z rodziny TMS320 umożliwiają implementacje różnych algorytmów szyfrowania sygnałów dla wielu urządzeń. Ten opis przedstawia jeden z algorytmów szyfrowania danych za pomocą procesora TMS320C25. Niestety artykuł ten nie zawiera kodu programu realizującego algorytm szyfrowania, ponieważ ich publikowanie jest zastrzeżone przez U.S. Department of State Export Control Regulations. W celu uzyskania bardziej szczegółowych informacji należy się skontaktować, z National Bureau of Standard. Danymi wejściowymi algorytmu DES mogą być : text, plik lub dowolne dane w postaci binarnej. Głównie stosuje się go do kodowania sygnału mowy w celu uzyskania bezpiecznej transmisji w przekazie bezpośrednim lub danych przesyłanych za pośrednictwem modemu.

Kodowanie:


Rys1. Schemat blokowy algorytmu DES.

Algorytm został przedstawiony pod katem implementacji go na procesor TMS320C25. Schemat blokowy algorytmu DES przedstawia powyższy rysunek. Algorytm koduje dane w porcjach po 64 bity. Każdy 64-bitowy blok podlega na wejściu permutacji według macierzy IP, następnie strumień bitów zostaje podzielony na części L0 i R0 po 32 bity każda. Obie części są poddawane kolejnym transformacjom w 16 cyklach przy użyciu specjalnego klucza K. Wyjścia Li i Ri kolejnych kroków są obliczane według bloku Li-1 i Ri-1 oraz klucza Ki. Krok ostatni różni się od pozostałych, oba bloki L16 i K16 są łączone w jeden 64- bitowy blok i poddane odwrotnej permutacji przez macierz IP-1. Macierz permutacji IP oraz IP-1 przedstawia PONIŻSZY RYSUNEK . Każdy element macierzy wskazuje na poszczególne bity z 64-bitowego bloku wejściowego począwszy od bitów najmłodszych. Na przykład, po permutacji IP bit 64 najstarszy jest na pozycji 58 następny na 50 itp. według rysunku:


Przykładowe macierze permutacji IP i odwrotna IP.

Funkcja f(Ri-1,Ki) z rys.1 jest kombinacja prawego bloku Ri-1 i podklucza Ki,. Wejściem i wyjściem tej funkcji jest blok 32-bitowy.

Algorytm obliczania wartości funkcji (Ri-1,Ki)


Schemat blokowy obliczania wartości funkcji f(Ri-1,Ki).

Poniższy rysunek przedstawia macierze E, P i S1 użyte w realizacji funkcji f(Ri-1,Ki). Bloki S1 do S8 dokonują konwersji ciągu 6-bitow na 4 bity w sposób następujący: Pierwszy i ostatni bit sekwencji tworzą razem numer wiersza I o wartości pomiędzy 0 a 3, pozostałe środkowe cztery bity tworzą numer kolumny J o wartości pomiędzy 0 a 15. Bloki S są macierzami o rozmiarach 4x16 każdy, których elementy przyjmują wartości od 0 do 15 w zapisie dziesiętnym. Każdy z elementów można przedstawić za pomocą 4 bitów. Wyjściem każdego bloku S są 4-bity wyznaczane na podstawie numerów I i J. Na przykład, jeżeli wejściem bloku S1 jest ciąg 001010 to I=0 i J=5, a wiec wyjściem bloku S1 będzie wartość, 15 czyli 1111.

Generacja podkluczy Ki.


Rys.2. Schemat blokowy algorytmu generowania podkluczy.

Klucz szyfrujący K ma długość 64 bitów, lecz do szyfrowania wykorzystuje się tylko 56. Z pozostałych ośmiu bitów wykorzystywany jest ósmy bit, który jest bitem parzystości dodatniej dla 64 bitów klucza. Z 64 bitowego klucza generowanych jest 16 podkluczy Ki każdy o długości 48 bitów. Sposób generacji przedstawia rys.7. Po permutacji 56 bitów (macierz PC-1) są one rozdzielone na dwie części Ci i Di po 28 bitów. Następnie w 16 krokach są one przesuwane w lewo i łączone w 56 bitowy blok, który po permutacji PC-2 daje 48 bitowy klucz, macierz PC-1 i PC-2 przedstawia rys2. Przesuwanie bitów części C i D odbywa się w ten sposób, ze najstarszy bit wchodzi na miejsce najmłodszego itd. Nie w każdym kroku przesuwana jest taka sama ilość bitów. Sposób przesuwania przedstawia tabela 1.


Rys.6. Przykład macierz PC-1 i PC-2.

Tabela 1.
Numer kroku
Przesuniecie
1
1
2
1
3
2
4
2
5
2
6
2
7
2
8
2
9
1
10
2
11
2
12
2
13
2
14
2
15
2
16
2
17
2
18
1

Dwa tryby pracy algorytmu DES.


Rys.8. Dwa tryby pracy algorytmu DES ECB i OFB.

Algorytm DES może być implementowany w różnych trybach pracy. Na rysunku 8 przedstawiono dwa z nich: Electronic CodeBook (ECB) i Output FeedBack (OFB). Wybór trybu pracy algorytmu uzależniony jest od rodzaju danych wejściowych oraz od wykorzystania kodowanych informacji. Tryb ECB jest reprezentacją rysunku 1. Podstawowa różnica obu trybów jest to, ze tryb OFB nie wymaga specjalnego urządzenia deszyfrującego. Sygnał wejściowy jest bramkowany funkcja XOR z kluczem szyfrującym. Wystarczy dokonać tej samej operacji po stronie odbiorcy, aby otrzymać sygnał odszyfrowany. Układ ten wymaga jednak synchronizacji nadawcy z odbiorca w celu dołączenia na wejście bramki tych samych sygnałów klucza i danych.

Schemat blokowy dekodowania DES.


Schemat blokowy dekodowania.

Do deszyfracji danej 64-bitowej używany jest taki sam algorytm z jedna zmiana tzn. część środkowa przy deszyfracji rozpoczyna się od kroku 16 i kończy na 0 odwrotnie niż przy szyfrowaniu.

Źródło:
http://db.tigra-system.pl/art.php?id=6

W razie problemów z działaniem serwisu:
admin@ehaker.com

Artykuł
  Jak zapewnić bezpieczne przesyłanie danych w sieci Internet ?
 
Artykuł
  Szyfrowanie plików w Windows 2k/XP (Encrypting File System)
 
Artykuł
  Kryptografia
Masz jakiś materiał dotyczący łamania haseł ?

program lub opis

Wyślij go na adres
e-mail: mail@ehaker.com
Co byś chciał zobaczyć w serwisie ?
   Phreak
   Podsłuch
   Dekodery
   Mail
   Inne
Wpisz szukane pojęcie ?
google.com

© 2003-2008 ehaker.com

test1| test2