Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Хеш-функції, що застосовуються на практиціСодержание книги
Поиск на нашем сайте Серед розповсюджених сьогодні хеш-функцій можна назвати такі: MD5, RIPEMD-160, група функцій SHA: SHA-1, SHA-256, SHA-384, SHA-512. Всі ці функції за своєю природою ітераційні, але відрізняються параметрами, серед яких в першу чергу слід вказати довжину коду на виході. Функція MD5 створює рядки довжиною 128 бітів, SHA-1 – 160 бітів, довжина вихідних кодів інших функцій вказана у назві. Всі перелічені функції є похідними від алгоритму MD4, який розглянемо детально. В MD4 застосовуються три порозрядні функції від трьох 32-бітових аргументів. f(u, v, w) = uv Ú uw, g(u, v, w) = uv Ú uw Ú vw, h(u, v, w) = u Å v Å w. Впродовж всього алгоритму відстежується поточний хеш-стан (H1, H2, H3, H4), де Hi – 32-бітові змінні, початкові значення яких визначені наступним чином. H1 = ’67452301h’, H2 = ’EFCDAB89h’, H3 = ’98BADCFEh’, H4 = ’ 10325476h’.
y1-3 = [0, ‘5A827999h’, ‘6ED9EBA1h’], z0-15 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], z16-31 = [0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15], z32-47 = [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15], s0-15 = [3, 7, 11, 19, 3, 7, 11, 19, 3, 7, 11, 19, 3, 7, 11, 19], s16-31 = [3, 5, 9, 13, 3, 5, 9, 13, 3, 5, 9, 13, 3, 5, 9, 13], s32-47 = [3, 9, 11, 15, 3, 9, 11, 15, 3, 9, 11, 15, 3, 9, 11, 15]. Потік даних складається з 16 слів, що завантажуються одночасно в масив X[j] (0 ≤ j < 16). Потім виконуються перетворення кожного з завантажених слів: (A, B, C, D) = (H1, H2, H3, H4). Виконується перший раунд. Виконується другий раунд. Виконується третій раунд. (H1, H2, H3, H4) = (H1 + A, H2 + B, H3 + C, H4 + D). Значенням функції хешування є конкатенація H1H2H3H4. Дії, що виконуються у кожному раунді: - раунд 1 for i = 0 to 15 do begin t = A + f(B, C, D) + X[zi] + yi. (A, B, C, D) = (D, t <<< si, B, C); end - раунд 2 for i = 16 to 31 do begin t = A + g(B, C, D) + X[zi] + yi. (A, B, C, D) = (D, t <<< si, B, C); end - раунд 3 for i = 32 to 47 do begin t = A + h(B, C, D) + X[zi] + yi. (A, B, C, D) = (D, t <<< si, B, C); End Застосування еліптичних кривих в криптографії Перевага підходу на основі еліптичних кривих порівняно з іншими полягає у забезпеченні еквівалентного рівня захисту при значно меншій довжині ключа. У криптографії розглядаються еліптичні криві на скінчених полях характеристики p. Еліптичною кривою називають криву, точки якої задовольняють рівнянню ay2 + bxy + cx2 + dy + ex + f = gx3 + hx2 + kx + l (mod p), (1) де a, b, c, d, e, f, g, h, k, l – коефіцієнти, що є елементами поданого скінченого поля. Інакше кажучи, в лівій частині рівняння довільний поліном F(x, y) другого степеню, а в правій довільний поліном G(x) третього степеню. Надалі будемо вважати, що точки еліптичної кривої E задовольняють рівнянню y2 = x3 + qx + r (mod p), (2) оскільки шляхом заміни змінних завжди можна від форми (1) перейти до форми (2). Форма (2) називається канонічною формою Вейєрштрасса. Крім того, p – просте число, p > 3, q,r Î Fp. Приклади еліптичних кривих наведені на рис. 9.1. Графік в лівій частині рисунку відповідає випадку, коли поліном G(x) має три дійсні корені: -1, 0, 1, а в правій – тільки один.
Операції додавання на множені точок еліптичної кривої На множині точок еліптичної кривої означається операція таким чином, щоб утворилася група. Ця операція позначається символом «+». При визначенні операції множина точок кривої E доповнюється штучною точкою O, що віддалена на нескінченість по вісі y. Координата x точки O невизначена. Це означає, що можна вважати, що ця координата дорівнює будь-якому елементу Fp. Інакше кажучи, кожна вертикальна пряма проходить через точку O. 52 –
53-
Множення точок на число Нехай m – ціле число, а P Î E. Уведемо наступне позначення P + P + … + P (m доданків), m > 0, mP = O, m = 0, - (|m|P) m < 0.
Обчислення величини mP (результату m -кратного виконання операції «+» є аналогом піднесення до степеню в мультиплікативній групі. Ця операція виконується згідно з наступним алгоритмом. Вхід: точка P Î E; ціле число m > 0. Вихід: mP. EC_Multiply(P, m) if m = 0 return (O). if m (mod 2) = 0 return (EC_Multiply(P + P, m / 2)); else return (P + EC_Multiply(P, m - 1)). Наприклад, обчислюючи EC_Multiply(P, 14), поданий алгоритм виконує чотири рекурсивні виклики. EC_Multiply(P, 14) = EC_Multiply(P + P, 7) = 2P + EC_Multiply(2P + 2P, 3) = 2P + 4P + EC_Multiply(4P + 4P, 1) = 2P + 4P + 8P + EC_Multiply(8P + 8P, 0) = 2P + 4P + 8P + O. Результат дорівнює 14P. Слід зауважити, що розглянутий алгоритм не використовує ніяких властивостей групи, якій належить точка P. Цей алгоритм являє собою реалізацію процесу множення точки на число згідно з визначенням. Часова складність його становить O((log p)3). Існують і більш ефективні алгоритми
|
||
|
Последнее изменение этой страницы: 2017-02-21; просмотров: 291; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.006 с.) |