Keccak

Средно ниво

Keccak (произнася се „кечак“) е универсална криптографска функция, проектирана от Гуидо Бертони, Джоан Даемен, Михаел Петерс и Жил Ван Аш.Въпреки че Keccak може да се използва за други цели, тя е най-известна като хеш функция, която осигурява повишени нива на сигурност в сравнение с по-старите хеш алгоритми, като SHA-1 и SHA-2.

SHA означава алгоритъм за сигурно хеширане (Secure Hash Algorithm) и се отнася до набор от криптографски хеш функции, публикувани от Националния институт за стандарти и технологии на САЩ (NIST). Както SHA-1, така и SHA-2 са проектирани от Агенцията за национална сигурност на САЩ (NSA) и като такива представляват подобна структура. Въпреки че Keccak поддържа същия изходен размер (дължини на хеш) като SHA-2, неговият работен механизъм е доста различен. Все пак Keccak е част от фамилията SHA и често се нарича SHA-3.

Теоретични атаки срещу SHA-1 бяха извършени през 2004 г. и станаха публично достъпни през 2005 г. Няколко години по-късно, през 2011 г., SHA-2 беше деклариран от NIST като новата стандартна хеш функция, която ще се използва. Въпреки това, миграцията от SHA-1 към SHA-2 беше доста бавна и едва в началото на 2017 г. голяма част от разработчиците и компютърните специалисти най-накрая мигрираха към SHA-2. Малко след това Google обяви успешна атака за сблъсък на SHA-1 през февруари 2017 г. и оттогава SHA-1 вече не се счита за сигурен и използването му не се препоръчва.
Функцията Keccak (SHA-3) започна да се разработва около 2007 г., след като NIST обяви публичен конкурс и процес на проверка, търсейки нова криптографска хеш функция, която може да преодолее потенциалните недостатъци на предходните SHA-1 и SHA-2.

Въпреки че все още не е демонстрирана значителна атака срещу SHA-2, се очаква хеш функциите да бъдат кракнати с течение на времето и да отнеме години, за да бъде разработена нова стандартна функция. Вземайки предвид това, заедно с успешните атаки, извършени срещу SHA-1 през 2004 г. и 2005 г., NIST осъзнава необходимостта от създаване на нов криптографски хеш алгоритъм. През 2012 г. NIST обяви Keccak за печеливш алгоритъм в състезанието и той беше стандартизиран като най-новия член на семейството SHA (оттам SHA-3). 

Една от причините Keccak да бъде избран от NIST се дължи на неговата новаторска структура, която се оказа по-сигурна и ефективна от другите алгоритми. Технически погледнато, алгоритъмът SHA-3 разчита на така наречените функции на гъбата (или конструкцията на гъбата) - за разлика от конструкцията Merkle Damgård, използвана от SHA-1 и SHA-2.

Засега SHA-2 все още се счита за сигурен и се използва широко. Например SHA-256 се използва от Биткойн и други криптовалути и играе решаваща роля в процеса на копаене. Възможно е да станем свидетели на все по-широко възприемане на SHA-3 занапред, тъй като изглежда, че той далеч не е обект на успешни атаки. Въпреки това през следващите години ще бъдат разработени още криптографски хеш алгоритми, тъй като областта на криптографията напредва и се откриват нови недостатъци.