Криптографска функција за сажимање

Извор: testwiki
Пређи на навигацију Пређи на претрагу

Шаблон:Без извора Криптографски алгоритми (симетрични и асиметрични) су алгоритми који служе за трансформацију поруке у циљу заштите приватности пошиљаоца тако да само намењени читалац може да преузме њен првобитни садржај.

Криптографски алгоритми не штите интегритет односно веродостојност поруке која је шифрована. Ово је врло важно из разлога јер је могуће да је кључ проваљен и да нам нападач шаље лажне поруке, али и могућности да је дошло до грешке приликом шифровања или дешифровања, тако да примљена порука није идентична оригиналном документу. Из тог разлога креиране су функције за сажимање илити хеш (могу се сусрести и под именима енгл. -{one-way}-, -{hash function}-, -{message digest}-, -{fingerprint}-) алгоритми. Најпознатији и најкоришћенији хеш алгоритми су SHA-1, MD5, MDC-2, RIPEMD-160 i td. Хеш алгоритми се сврставају у криптографске алгоритме без кључа.

Начин рада

Ови алгоритми просто сажму (самељу у буквалном преводу) сваку поруку или фајл без обзира на величину и на излазу добијамо низ од 128 или 160 нула и јединица, у зависности који алгоритам је коришћен. Врло је тешко готово немогуће реконструисати улазну поруку а исто тако готово је немогуће наћи два улаза са истом хеш вредношћу. Вероватноћа да у поруци неко измени неку ставку, тако да новодобијени текст има исту хеш вредност као и оригинална је 1/2160 у случају 160 битних алгоритама, дакле занемарљиво мала вероватноћа, зато се негде хеш функције називају и "отисци прстију" порука.

Пример примене хеш алгоритма

Имамо поруку коју шаљемо на пример -{Bojan}-. Вредност коју добијемо када се реч -{Bojan}- пропусти кроз -{MD5}- алгоритам износи:

Хексадецимално:-{MD5(Bojan) = 6d57f608bcd9be81cccf4b5e3af01cb1}-

Сада ову поруку шифрујемо неким алгоритмом на пример -{AES}- алгоритмом и шаљемо је путем Интернета особи -{X}-. Нека неко успе да пресретне поруку и некако открије кључ и измени поруку у на пример -{bojan}- (мало почетно слово), и такву поруку са измењеним садржајем пошаље нашој особи -{X}-. Вредност хеш функције измењене поруке износи:

Хексадецимално: -{MD5(bojan) = fee2c775c18a12b7b52b58129b00e1bd}-

Упоређивањем вредности хеш функције особа -{X}- сада лако сазнаје да је дошло до промене у садржини поруке, односно да примљена порука није идентична оригиналној поруци.

Примена

Ови алгоритми у криптографији се користе првенствено за проверу интегритета порука, у системима дигиталног потписа као и ефикасан начин чувања приступних лозинки у базама података као и у одређеним системима аутентификације. Због своје иреверзибилности, то јест немогућности да се из сажетка изведе оригинална порука овај алгоритам је ефикасан начин чувања лозинки, када је неопходно да само корисник може знати лозинку. Ови алгоритми се још користе и за проверу интегритета и исправности фајлова приликом преузимања са интернета.

Напади

Напади на ове алгоритме се своде на проналажење колизије, односно проналажење неке вредности која ће имати исту вредност као и оригинална порука, ово се још назива и парадокс рођендана. Данас се 128 битни алгоритми попут -{MD5}- и -{MD4}- могу сматрати несигурним односно проваљеним и препороручено је користити алгоритме са већом дужином кључа.

Листа криптографских хеш алгоритма

Ово је листа најпопуларнијих и најкоришћенијих алгоритама при чему се неки од доле наведених алгоритама данас сматрају несигурним.

Хеш
алгоритам
Сажетак
(у битима)
Интерна дужина
(у битима)
Величина блока
(у битима)
-{HAVAL}- 128-256
-{MD2}- 128 512 16
-{MD4}- 128 128 64
-{MD5}- 128 128 64
-{RIPEMD-128}- 128 128 64
-{RIPEMD-160}- 160 160 64
-{SHA-0}- 160
-{SHA-1}- 160 160 64
-{SHA-224}- 224 256 64
-{SHA-256}- 256 256 64
-{ SHA-384}- 384 512 128
-{SHA-512}- 512 512 128
-{Snefru}- 128-256
-{Tiger-128}- 128 192 64
-{Tiger-160}- 160 192 64
-{Tiger / Tiger2}- 192 192 64
-{WHIRLPOOL}- 512 512 64

Види још

Спољашње везе

Шаблон:Нормативна контрола

pl:Funkcja skrótu#Kryptograficzne funkcje skrótu