M = This is a test message! = 54 68 69 73 20 69 73 20 61 20 74 65 73 74 20 6D 65 73 73 61 67 65 21 ( у формі ASCII)
1. Обчислення геш-значення
= A9 99 3E 36 47 06 81 6A BA 3E 25 71 78 50 C2 6C 9C D0 D8 9D 54 68 69 73 20 69 73 20 61 20 74 65 73 74 20 6D 65 73 73 61 67 65 21
= FA4A5B4F FFCDF62E 1524C2EA D9114B6B A94FD186
2. Обирання випадкового цілого числа k, що належить діапазону {1,…,n-1}.
k = 7D1C44A2 AD7318CF 2C525AAD 16515378 1EB702DA.
3. Обчислення точки еліптичної кривої .
= 6 630EE3E5 C71F504B C141A406 AE71E062 441E5E42
= 4 780DDE74 C235C60E C9A25253 DFCC60D4 AA281C6A.
17.4.1. Встановлення c перетворенням байтового рядка
c = 06 63 0E E3 E5 C7 1F 50 4B C1 41 A4 06 AE 71 E0 62 44 1E 5E 42
17.4.2. Обчислення геш-значення
= A4BFE3322B 2869293322 652EAF3490 57F424A6BF.
17.4.3. Обчислення .
= 5EF5B87DD4 E59F072606 A7C47625DB 3C5D6B7739
17.4. У випадку , встановлюємо .
Ціле число , яке менше ніж , перетворюють з рядка октетів таким чином.
= 5EF5B87D D4E59F07 2606A7C4 7625DB3C 5D6B7739
8. Обчислення .
= 2 12F2BA12 015731EC 474D97BD E224333F 80B36A71
Пара становить цифровий підпис повідомлення об’єкта А.
Для перевіряння цифрового підпису повідомлення об’єкта А, об’єкт В виконує такі кроки:
1. Перевіряння того, що й ; У випадку невиконання умови цифровий підпис визнається недійсним.
2. Обчислення геш-значення .
= A9 99 3E 36 47 06 81 6A BA 3E 25 71 78 50 C2 6C 9C D0 D8 9D 54 68 69 73 20 69 73 20 61 20 74 65 73 74 20 6D 65 73 73 61 67 65 21
FA4A5B4FFF CDF62E1524 C2EAD9114B 6BA94FD186
3. Обчислення
= 5EF5B87DD4 E59F072606 A7C47625DB 3C5D6B7739
17.4.1. У випадку , обчислюється .
Ціле число , яке менше ніж , перетворюють з рядка октетів таким чином.
= 5EF5B87D D4E59F07 2606A7C4 7625DB3C 5D6B7739
17.4.2. Обчислення .
= 6 630EE3E5 C71F504B C141A406 AE71E062 441E5E42
= 4 780DDE74 C235C60E C9A25253 DFCC60D4 AA281C6A
Примітка. У випадку коли та обчислюють поодинці, їх подають таким чином:
= 1 F6D335D3 82787252 9D4CE43F 36673CBA 7DDE9AC1
= 1 F3E72FEA 2BE2BD0B 0146022D AD753325 4F57AF96
= 5 050081C9 7688A213 14193AB9 89AA8312 0EB9589F
= 5 40D08C5F 677374C2 0C88B340 AD1EA59B B7B42191
17.4.3. Встановлення за допомогою перетворення рядка байтів .
= 06 63 0E E3 E5 C7 1F 50 4B C1 41 A4 06 AE 71 E0 62 44 1E 5E 42
17.4. Обчислення .
v = A4BFE3322B 2869293322 652EAF3490 57F424A6BF
Тому що , цифровий підпис приймається перевірником.
Скінчене поле обирається таким чином:
- просте число, = 4294967291(10) = 232-5
- ціле число = 5;
- нормований понижуючий поліном степеня m поля над полем , .
Примітка. Всі наступні числа в цьому прикладі представлені в шістнадцятковій системі числення. А всі цілі числа великої довжини визначають 32 -бітовими блоками.
Таким чином, кожен елемент представляють багаточленом , де , та позначають .
Еліптичною кривою над полем є : , де
a = ( 0 0 0 0 1) та
b = (0 0 0 1 1 0 6).
Тоді порядок еліптичної кривої є простим числом і його обчислюють таким чином:
= FFFFFFE7 000000F9 FFFE3308 F697C1D6 D7DE35CF.
Обирається просте число довжини 160 біт:
= = FFFFFFE7 000000F9 FFFE3308 F697C1D6 D7DE35CF.
Точку на еліптичній кривій , що генерує циклічну групу простого порядку , представляють таким чином:
= FCDEE3EE EB6A9D0C 821C8B46 D27937BC FBAC840
= 3C329E0D 7A5FB6E4 48A69C1 12F8CB35 DFFB7CCC.
Цей приклад використовує алгоритм як геш-функцію з довжиною вихідних даних 160 біт.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.