Start  
22.05.2012.
Cyfrowy licznik odwiedzin

Twój cenny czas
Menu główne
Start
Coś o Mnie
Aktualności
Linki
Mapa alarmów
Napisz do nas
Wieści RSS
Pliki do pobrania
Twoje fajne linki
Administrator
Logowanie





Nie pamiętam hasła
Konto? Zarejestruj się!
Statystyka
Wieści RSS
Szyfry blokowe - nowe tryby pracy PDF Drukuj Email
Oceny: / 0
KiepskiBardzo dobry 
Wpisał: Pawel Krawczyk   
07.07.2007.
NIST opublikował dokument SP800-38D zawierający zalecenia dla stosowania nowego trybu szyfrów blokowych GCM (Galois/Counter Mode). GCM jest trybem o podwójnej funkcjonalności, szyfrująco-uwierzytelniającym.

Wraz z pojawieniem się bezpiecznych i wydajnych szyfrów blokowych takich jak AES zainteresowanie programistów kryptograficznymi mechanizmami bezpieczeństwa znacznie wzrosło. Jednak w momencie wdrożenia algorytmu programista zawsze natrafia na podstawowy problem - w jakim trybie szyfrowania zastosować dany algorytm? Nadal najpopularniejsze są znane od ponad dwóch dekad tryby takie jak EBC czy CBC.

Szyfr/Kod blokowy to kod korekcyjny, najczęściej symetryczny, który potrafi zaszyfrować blok danych o określonej długości. Kody blokowe najczęściej określa się symbolem (n,k) - gdzie n określa długość słowa kodowego, a k długość części informacyjnej. Kody te służą do szybkiego wykrycia i korekcji błędów występujących podczas przesyłu danych cyfrowych. Informacje dzielone są w tych kodach na bloki, do których dołączana jest nadmiarowa część kodowa pozwalająca na detekcję błędów występujących w blokach oraz korekcję - w zależności od sposobu zaprojektowania kanału transmisji ponowne pobranie całego bloku lub dokonanie automatycznej korekcji.

Szyfr określa para funkcji pobierających 2 argumenty:

* funkcja szyfrująca pobierająca klucz i wiadomość, a zwracająca szyfrogram C = EK(M)
* funkcja deszyfrująca pobierająca klucz i szyfrogram, a zwracająca wiadomość M = DK(C)

Kody blokowe podzielić możemy w dwie najczęściej używane klasy: kody liniowe i wywodzące się z nich kody cykliczne.

Typowe rozmiary bloku oraz kluczy (te dwa rozmiary nie muszą być identyczne) to 64, 128, 192 lub 256 bitów, przy czym klucze mniejsze od 128 bitów nie zapewniają współcześnie bezpieczeństwa.

Ponieważ wiadomości jakie chcemy zakodować są zwykle znacznie większe od rozmiaru bloku, musimy używać jakiegoś trybu kodowania. Najbardziej naiwne podzielenie wiadomości na bloki odpowiednich rozmiarów i zakodowanie osobno każdego z nich (ECB) nie zapewnia nam bezpieczeństwa. Główne tryby to:

* CBC
* CFB
* CTR
* ECB
* OFB

Niektóre szyfry blokowe to:

* 3DES
* AES
* Blowfish
* DES
* DESX
* IDEA
* Lucifer
* Mars
* Serpent



Jednak zaraz po wyborze trybu pojawia się kolejny problem - jak dodać do niego ochronę integralności lub/i autentyczności? W świetle dzisiejszej wiedzy rezygnacja z ochrony integralności lub błędne jej zaimplementowanie jest kryptograficznym samobójstwem, o czym przekonali się autorzy protokołu SSHv1 (CORE SDI, "SSH Insertion Attack", 1998). I czy najpierw szyfrować, a potem uwierzytelniać, czy na odwrót?

Problem ten rozwiązują nowe tryby szyfrująco-uwierzytelniające, które w jednym kroku (jednej operacji API programistycznego) równocześnie zapewniają ochronę poufności i integralności, przy czym to drugie przy pomocy szyfru blokowego (np. AES), bez konieczności stosowania dodatkowych mechanizmów takich jak HMAC.

Dwa najpopularniejsze algorytmy tego typu to OCB i CCM. Poniżej krótka ich charakterystyka:

* OCB (Offset Codebook Mode), najnowsza wersja 2.0 z 2005 roku
* ilość szyfrowań prawie taka sama jak w CBC (czyli jest wydajny)
* opatentowany

* CCM (Counter Mode with CBC MAC)
* tryb licznikowy (CTR) plus CBC MAC (Message Authentication Code)
* prawie dwa razy więcej szyfrowań niż OCB
* dostępny jako public domain

Z punktu widzenia wydajności najbardziej atrakcyjny jest tryb OCB, opracowany przez Philipa Rogaway'a, znanego z tworzenia kryptograficznych majstersztyków (takich jak szyfr Safer). Niestety programistów odstręcza od niego fakt istnienia patentu na algorytm i konieczność uzyskania licencji na jego stosowanie (choć Rogaway zapewnia, że opłata jest niewielka). Odpowiedzią na OCB jest otwarty CCM, ale jest on prawie dwukrotnie wolniejszy - choć i tak zapewne szybszy od tradycyjnego CBC z HMAC.

Zmieniony ( 30.07.2010. )
 
« poprzedni artykuł   następny artykuł »
Imieniny
22 Maja 2012
Wtorek
Imieniny obchodzą:
Emil, Helena, Jan,
Julia, Krzesisława,
Rita, Wiesław,
Wiesława, Wisława
Do końca roku zostało 224 dni.
Taka sobie myśl na dziś

Usmiechnij sie, jutro bedzie gorzej.

Sondy
metaTag Cloud

Najczęściej wyszukiwane

bezpieczeństwo internet humor raport linux poradnik bank podatność audyt przeglądarka luka dane atak
Gościmy
Odwiedza nas 19 gości
Obrazki z artykułów
Pokaz slajdów
Lady-Beetle.com
Bądź bezpieczny
Skaner Kaspersky Lab
Skaner MKS
Skaner Panda Software
Skaner Symatec
Locations of visitors to this page
#
#
# #widgeo.net