Bielizna
Funkcja haszująca (inaczej funkcja skrótu lub funkcja mieszająca) to funkcja, która przyporządkowuje dowolnie dużej liczbie będącej parametrem wejściowym (wiadomością) krótką, zwykle posiadającą stały rozmiar wartość określaną jako hash (skrót wiadomości; często używany jest też termin sygnatura danych). Pożądaną cechą dobrej funkcji haszującej jest to, że w przypadku wystąpienia nawet minimalnej różnicy w wiadomości, dla której obliczany jest skrót, z możliwie dużym prawdopodobieństwem dojdzie również do istotnej zmiany wartości skrótu.

Dzięki tej właściwości, w zastosowaniach informatycznych funkcje haszujące pozwalają na ustalenie krótkich i łatwych do weryfikacji sygnatur dla dowolnie dużych zbiorów danych. Takie sygnatury mogą chronić przed przypadkowymi lub celowo wprowadzonymi przekłamaniami transmisji, a także mają zastosowania przy optymalizacji dostępu do struktur danych w programach komputerowych.

Szczególną podgrupą funkcji haszujących są funkcje uznawane za bezpieczne do zastosowań kryptograficznych (jak np. SHA-1, SHA2, RIPEMD-160). W przypadku takich funkcji praktycznie niewykonalne musi być stworzenie dwóch wiadomości o tym samym skrócie (to umożliwiałoby celową podmianę danych, a mimo tego pomyślne przejście weryfikacji po stronie ich odbiorcy), oraz wywnioskowanie jakichkolwiek informacji o właściwościach wiadomości na podstawie jej skrótu (to ułatwiałoby np. kryptoanalizę zaszyfrowanych danych, do których dołączono sygnaturę tego typu).

Należy zauważyć, że uznanie funkcji za bezpieczną do zastosowań kryptograficznych w większości przypadków opiera się wyłącznie na domniemanej odporności na znane ataki kryptoanalityczne, nie zaś o matematyczne dowody gwarantujące niemożność ich złamania. Poważne słabości znaleziono w wielu funkcjach skrótu, które historycznie uchodziły za bezpieczne - m.in. w MD2, MD4, SHA, czy ostatnio MD5.

Problemem znajdującym się pomiędzy efektywnymi strukturami danych a kryptografią są tzw. computational complexity attacks. Wiele struktur danych ma bardzo dobrą przeciętną złożoność obliczeniową i fatalną złożoność pesymistyczną – atakujący może za pomocą niewielkiej ilości specjalnie w tym celu przygotowanych danych przeciążyć system – choć radziłby sobie on ze znacznie większymi ilościami normalnych informacji.

Do najczęściej stosowanych typów computational complexity attacks należą właśnie ataki na niedoskonałe funkcje hashujące.

licencja: GNU FDL / źródło: Wikipedia.org
10.1.2007 - 12:19
  • Mała czarna
  • Styliści mody
  • Katalog uczelni
  • Fotografowie
  • Moda damska
  • Kosmetyki kolorowe
  • Moda damska jesień zima
  • Szkoły kosmetyczne
  • Szkoły wizażu
ilość szyfrów w bazie: 6332 • ilość kategori: 9