Криптографска функција за сажимање
Криптографски алгоритми (симетрични и асиметрични) су алгоритми који служе за трансформацију поруке у циљу заштите приватности пошиљаоца тако да само намењени читалац може да преузме њен првобитни садржај.
Криптографски алгоритми не штите интегритет односно веродостојност поруке која је шифрована. Ово је врло важно из разлога јер је могуће да је кључ проваљен и да нам нападач шаље лажне поруке, али и могућности да је дошло до грешке приликом шифровања или дешифровања, тако да примљена порука није идентична оригиналном документу. Из тог разлога креиране су функције за сажимање илити хеш (могу се сусрести и под именима енгл. one-way, hash function, message digest, fingerprint) алгоритми. Најпознатији и најкоришћенији хеш алгоритми су SHA-1, MD5, MDC-2, RIPEMD-160 i td. Хеш алгоритми се сврставају у криптографске алгоритме без кључа.
Начин рада
[уреди | уреди извор]Ови алгоритми просто сажму (самељу у буквалном преводу) сваку поруку или фајл без обзира на величину и на излазу добијамо низ од 128 или 160 нула и јединица, у зависности који алгоритам је коришћен. Врло је тешко готово немогуће реконструисати улазну поруку а исто тако готово је немогуће наћи два улаза са истом хеш вредношћу. Вероватноћа да у поруци неко измени неку ставку, тако да новодобијени текст има исту хеш вредност као и оригинална је у случају 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 |
Види још
[уреди | уреди извор]Спољашње везе
[уреди | уреди извор]- The Hash function lounge – листа хеш функција и познатих напада
- Линкови о хеш функцијама, Хелгер Липмаа
- Дијаграми који објашњавају криптографске хеш функције
- Илустровани водич кроз криптографске хеш функције, Стив Фридл
- Криптоанализа MD5 и SHA: Време за нови стандард, Брус Шнајер
- Питања и одговори о хеш колизијама
- Напад на хеш функције отровним порукама (конструкција више смислених постскрипт порука са истом хеш функцијом)