Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
123.docx
Скачиваний:
85
Добавлен:
01.05.2015
Размер:
817.28 Кб
Скачать

. Хэш-функциясы. Қолданушының аутентификациясы. Аутентификациялар протоколдары

Криптографияда хэш-функциялар деп еркін ұзындықтағы бастапқы жолды бекітілген ұзындықтағы биттер жолына айналдыратын ақпараттарды айналдыру алгоритмін айтады.

Хэш-функциялардың қолданылуы:

  • Сандық қолтаңба механизмінде қолданылатын хабардың қысылған бейнесін құру үшін.

  • Парольдерді қорғау үшін.

  • Хабар аутентификациялары кодын құру үшін.

Хэш-функцияларға қойылатын негізгі талаптар:

  • h(m) функциясының белгілі мәні бойынша оның m аргументін табу мүмкін емес (өте күрделі) болуы керек. Мұндай хэш-функция айналдыру мағынасында берік деп аталады.

  • Берілген m аргумент үшін h(m)=h(m') болатын m' аргументті табу мүмкін емес.

Мұндай хэш-функциялар композицияларды есептеу мағынасында берік деп аталады.

  • Практикалық маңыздылық үшін хэш-функцияларды алу алгоритмі жылдам есептелетін болуы керек, одан да жақсысы – нақты аппаратты есептеу ортасында ықшамдалған болуы керек.

Хэш-функцияларды есептеудің типтік сызбасы

Ондағы негізгі параметрлер болып:

  • Тұрақтану ережесі (оны бастапқы хабардың стандартты ұзындығына келтіру).

  • Функционалды өзгеру алгоритмі (қадамдық функцияның).

  • К хэширлеу нәтижесінің разрядтылығы.

Хэш-функциялардың ішіндегі ең белгілілері – MD2, MD4, MD5 және SHA.

MD2, MD4, MD5 – Ривестпен өңделген MD (Massage Digest Algorithm) хэш-функцияларын есептеу алгоритмдерінің тобы. 128-битті бейнеге қысылған еркін ұзындықтағы кіріс хабарын түрлендіреді. Алгоритмдегі негізгі операциялар – 232 модулі бойынша қосу, циклдік жылжыту, биттік операциялар ,  және .

MD2 (1998) – 8-разрядты процессор үшін. MD4 пен MD5-тен (32-разрядты процессорларға бағытталған) хэширлеудің бастапқы векторы мәндерімен және 256-байтты алмастыруды қолданумен ерекшеленеді, бір блоктың өңделуі 18 циклде орындалады.

Қазіргі күнде көбірек қолданылатыны – 1991 жылы құрылған MD5 хэш-функцияларды есептеу алгоритмі.

Айталық m бастапқы хабар t-битті m1, m2,…,mt жолмен берілген. m хабарының жолы 448 санын 512-ге бөлгенде қалдық беретін ұзындыққа дейін толықтырылады: бір «1» қосылады, ал қалған сандар – «0». Алынған жолға 64-битті t саны қосылады. Егер t 264 болған жағдайда t санының 64 кіші биті қолданылады. MD0 хэширлеуінің алғашқы векторының ұзындығы 128 биттен тұрады және MD0, MD1, MD2, MD3 төрт 32-битті айқастары болады, мұндағы

MD0=01234567;

MD1=89abcdef;

MD2=fedcba98;

MD3=76543210.

MD5 алгоритмінде 4-циклді функциялар қолданылады, әрқайсысы үш X, Y, Z 32-битті сөздерге бір 32-битті сөзді салыстырады.

Бұл функциялардағы барлық операциялар бит бойынша орындалады.

h хэш-функцияның есептелуі:

Кіру: M=m1, m2,…, mN (512 бит бойынша N блоктар).

Алгоритм: MDi=q(MDi-1, Mi).

Шығу: h(M)=MDN.

q хэширлеудің қадамдық функциясын есептеу үшін төрт 32-битті A, B, C, D сөздерінен тұратын Е жинақтауышы қолданылады. Е жинақтауышының негізгі толтырылуы болып MD0 хэширлеуінің алғашқы векторының сөздері табылады.

М хабарының Mi 16 блоктік сөзінің өңделуі әрқайсысы 16 қадамнан тұратын 4 циклде жүзеге асады.

i-ші циклдің әр этапында:

A=B+((A+Fi(B, C, D)+Mi[S/]+r)shlk), 1 i  L

мұндағы Mi[S/] – Mi-дан таңдалған сөздер, S, r, k –– 232 модулі бойынша қосынды «+» қадамының параметрлері.

Mi ағымдық блоктің L-циклді өңдеуінен кейін Е жинақтауышының модификациясы шығарылады. MDi-дің әр операциясы үшін Е жинақтауышының 4 сөзді ағымдық мәндердің айқасуы болады. MN блогін өңдегеннен кейін қорытынды қысылу бейнесінде хабар 4-сөзді MDN=ABCD 128-битті жолдан тұрады.

Хэш-функцияларды салыстырмалы талдау

Хэш-функциялар екі параметр бойынша бағаланады:

  • мәліметтерді өңдеу жылдамдығы бойынша;

  • шабуылдың әр түріне осалдық бойынша.

86 архитектурасында қолданылатын және Windows 32 программалық ортасында салыстырмалы кесте мына түрде болады:

Алгоритм

Жылдамдық (Мбит/с Pentium 90МГц-ке)

Ассемблер

СИ

MD4

166

82

MD5

114

60

SHA-1

47

21

RIPEMD-160

40

19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]