112
c
2
= A
m
mod P.
Егер с
1
= с
2
, онда бірінші пайдаланушының цифрлық қолы дұрыс. Әрбір жаңа хабарға қол
қою үшін әрбір сайын жаңа k мәні таңдалыну керек.
Эль-Гамаль алгоритмды пайдалануымен жасалынған қолдар, рандомизировалынған
деп аталады, өйткені бірдей хабар үшін бірдей жабық кілтті пайдаланғанда әрбір сайын
жаңа қолдар (a, b) жасалынатын болады, себебі әр сайын k-ның жаңа мәні пайдаланады.
RSA алгоритмды пайдалануымен жасалынған қолдар, детерминдалған деп аталады,
өйткені бірдей хабар үшін бірдей жабық кілтті пайдаланғанда әрбір сайын бірдей қол
жасыланатын болады.
12.3 Цифрлық қолды есептеу және тексеру мысалы
Интернет арқылы шифрланған хабарлармен алмасатын абоненттерде келесі ортақ
параметрлер болсын: Р = 11, А = 7.
Осы байланыс жүйенің пайдаланушылардың біреуі өз хабарына m=5 Эль-Гамаль
алгоритмы бойынша құрастырылған қол қойғысы келеді. Алдымен ол өзіне жабық кілт
таңдайды, мысалы, Х
1
=3 және ашық кілт жасайды Y
1
= 7
3
mod 11 = 2. Ашық кілт барлық
ізденген абоненттерге берілу немесе байланыс жүйенің ашық кілттер деректер базасына
салыну мүмкін.
Сосын пайдаланушы Р-1 мен өзара жай кездейсоқ құпиялы k санды таңдайды. k=9
болсын (9-да 10-мен ортақ бөлгіштері жоқ). Әрі қарай есептеледі сан
a = A
k
mod P = 7
9
mod 11 = 8.
Осыдан кейін кеңейтілген Евклид алгоритмы көмегімен b мәні табылады:
m = (X
1
a + k b) mod (P – 1),
5 = (3 8 + 9 b) mod 10.
Соңғы теңдеудің шешімі b=9.
Сонымен, жұп сандар (8, 9) хабардың m=5 цифрлық қолы болады.
Егер желінің қандай да бір пайдаланушысы хабардағы цифрлық қолды тексерем
десе, ол деректер базадан бірінші пайдаланушының ашық кілтін алып (ол 2-ге тең), екі
санды с
1
мен с
2
есептейді және оларды салыстырады.
c
1
– Y
1
a
a
b
mod P = 2
8
8
9
mod 11 = 10,
c
2
= A
m
mod 11 = 10.
с
1
= с
2
болғандықтан, m=5 хабардағы бірінші пайдаланушының цифрлық қолы
дұрыс.
12.4 Цифрлық қол алгоритмдарының стандарттары
Цифрлық қолдың DSS стандарты.
Бүгін көп елде электронды (цифрлық) қолға стандарттар бар. Цифрлық қолдың
DSS (Digital Signature Standard – DSS) стандарты АҚШ-а 1991 жылы қабылданған және
1994 жылы қайта қаралған болатын. Стандарт негізінде DSA (Digital Signature Algorithm)
деп аталатын және Эль-Гамаль қолдың вариация болып табылатын алгоритм жатыр.
Алгоритмда бірбағытталған хеш-функция H(m) пайдаланылады. Хеш-алгоритм ретінде
SHA-1 алгоритмы пайдалынады.
ЭЦҚ генерациялау алгоритмын қарастырайық. Алдымен абоненттер тобы үшін үш
ортақ (құпиялы емес) параметр р, q және a таңдалынады:
параметр р ұзындығы 512 ден 1024 битке дейін жай сан болу керек;
q – ұзындығы 160 бит жай сан; p мен q арасында кейбір бүтін b үшін p = bq + l
қатынас орындалу керек. p мен q-дағы үлкен биттер бірге тең болу керек (сонымен
2
159
< q < 2
160
);
113
теңсіздікке 1 < a < p-1 сай келетін және a
q
mod p = l теңдеудің түбірі болып
табылатын сан а.
Осы сандарды біле отырып, жүйенің әрбір абоненты кездейсоқ х санды таңдайды,
ол теңсіздікке 0 < х < q қанағаттандырылу болу керек, және есептейді
y = a
x
mod p.
х саны пайдаланушының құпиялы кілті болып табылады, ал у саны – ашық кілт.
Белгілі х бойынша у-ты есептеу қиын емес. Бірақ, ашық кілт у болғанда, х-ты есептеу
мүмкін емес, ол g негізі бойынша у-тың дискретті логарифмы болып табылады.
Барлық пайдаланушылардың ашық кілттері кейбір құпиялы емес, бірақ
«сертификацияланған»
анықтамалықта
көрсетіледі
деп
болжаймыз.
Осымен
параметрлерді таңдау кезеңі аяқталады, ал абоненттер қолдарды құрастыруға және
тексеруге дайын.
Пайдаланушылардың біреуі қол қоятын хабар m бар болсын. Қолды генерациялау
үшін пайдаланушы келесі іс-әрекеттер орындау керек:
1. Хабар m үшін хеш-функцияның h = H(m) мәнің есептеу. Хеш-функцияның мәні
0 < h < q аралығында жату керек.
2. Сосын кездейсоқ k санды генерациялау керек, 0 < k < q.
3. Есептеу r = (a
k
mod p) mod q.
4. Анықтау s = [k
-1
(H(m) + x r)] mod q.
Нәтижесінде пайдаланушы m хабар үшін екі қос саннан (r, s) тұратын қол жасап
алады. Хабар қолмен бірге жүйенің қандай да басқа абонентіне жіберілу мүмкін. Қолды
мына түрімен тексеруге болады:
1. Хабар m үшін хеш-функцияның h = H(m) мәнің есептеу.
2. 0 < r < q, 0 < s < q теңсіздіктердің орындалуын тексеру.
3. Есептеу w = s
-1
mod q.
4. u
1
= [H(m) w] mod q.
5. u
2
= r w mod q;
v = [(а
u1
y
u2
) mod p] mod q.
6. v = r теңдіктің орындалуын тексеру. Егер v = r, онда қол дәл өзі деп саналады,
әйтпесе дұрыс емес.
Дискретті логарифмды есептеу күрделі болғандақтан, қаскүнем r-дан k-ны немесе
s-тан х-ты қалпына келтіре алмайды, демек жалған қол қоялмайды. Және осы себептен
хабар иесі өз қолынан бас тарталмайды, өйткені өзінен басқа жабық х кілтті ешкім
білмейді.
12.5 Цифрлық қолдың ГОСТ Р34.10-94 стандарты
Ресейде ГОСТ Р34.10-94 «Ақпараттық технология. Ақпараттың криптографиялық
қорғауы. Ассиметриялық криптографиялық алгоритмы негізінде электронды цифрлық
қолды жасау және тексеру процедуралары» стандарты қабылданған. Бұл стандартта DSS
стандарттағыдай алгоритм пайдаланылады. Алдымен ГОСТ Р34.10-94 бейнеленген
алгоритмды толық қарап шығайық, сосын оның DSA алгоритмнан айырмашылықтарын
белгілейік.
Басында, DSS стандарты сияқты, абоненттер тобы үшін үш ортақ (құпиялы емес)
параметр р, q және a таңдап алынады:
параметр р ұзындығы 512 ден 1024 битке дейін жай сан болу керек. p-ның үлкен
биты бірге тең болу керек;
q – ұзындығы 254-256 бит жай сан; DSA алгоритмда сияқты, q p-1 санның бөлгіші
болу керек; q-ның үлкен биты бірге тең болу керек;
теңсіздікке 1 < a < p-1 сай келетін және a
q
mod p = l теңдеудің түбірі болып
табылатын сан а;
Достарыңызбен бөлісу: |