Тараз мемлекеттік педагогикалық институтының хабаршысы ғылыми-педагогикалық журнал



Pdf көрінісі
бет16/22
Дата16.02.2017
өлшемі1,94 Mb.
#4227
1   ...   12   13   14   15   16   17   18   19   ...   22

ЖАРАТЫЛЫСТАНУ ҒЫЛЫМДАРЫ 
 
С.А. Абдыманапов, С.Е. Айтжанов, К.С. Бактыбеков, Ш.Ш. Шеримов  
 
ӚЗДІГІНЕН ҦЙЫМДАСТЫРЫЛАТАН  
КОХЕНЕННІҢ КАРТАСЫ 
 
ӘОЖ 517 
       Ә 14 
 
 
Өздігінен  ұйымдастырылатан  Кохененнің  картасы  (Self  Organizing  Map  – 
SOM )  –  мұғалімсіз  оқытатын  нейрондық  жүйе,  ол  визуализация  мен  кластеризация 
кызметін  атқарады.  Бұл  технологияның  басқа  кері  тарату  алгоритмі  бойынша 
оқытылатын  нейрожүйелерден  негізгі  ерекшелігі  –  оқыту  барысында  мұғалімсіз 
оқыту  әдісі  қолданылады.  Яғни  оқыту  нәтижесі  тек  қана  енгізілетін  деректердің 
құрылымына  байланысты.  Жүйенің  идеясын  фин  ғалымы  Т.  Кохенен  1984  жылы 
ұсынған.  Бұл  модельдің  кӛптеген  жаңа  түрлері  бар.  Кӛп  ӛлшемді  кеңістікті  ӛлшемі 
кішірек  кеңістікке  (жиірек,  екі  ӛлшемді)  проекциялау  әдісі  болып  табылады. 
Модельдеу,  прогноздау  және  т.б.  есептерді  шешу  үшін  қолданылады.  Кохененнің 
нейрондық жүйесінің бір нұсқасы. 
Жҥйенің қҧрылымы 
Ӛздігінен  ұйымдастырылатын  карта  түйін  және  нейрон  деп  аталатын 
компоненттерден тұрады. Түйіндер ӛзара байланысқан, мысалы, олар тор құра алады. 
Олардың  санын  және  құрылымын  аналитик  таңдайды.  Әрбір  түйіннің  екі  параметрі 
болады:  түйіннің  координатасы  және  салмағы.  Түйіннің  координатасы  арқылы 
картадан оған жақын кӛрші түйіндерді анықтауға болады. Әдетте түйіндер квадратты 
немесе алтыбұрышты ұяшығы бар үздіксіз тордың (регулярная решетка) шыңдарында 
орналасады.  Салмақ  –  бұл  Кохенен  моделінің  басты  элементі.  Әрбір  түйінге 
енгізілетін  бақылаулар  санының  ӛлшеміне  тең  салмақ  векторы  сәйкес  келеді. 
Осылайша  кез  келген  бақылау  үшін  салмақ  табылады.  Салмақ  итерационды 
процедураның  кӛмегімен  есептеледі.  Итерационды  процедура  барысында  картаның 
параметрлерін 
бақылауға 
бейімдейді. 
Ал 
ол 
аяқталғанда 
ӛздігінен 
ұйымдастырылатын карта құрылады. 
Басында  енгізілетін  деректердің  ӛлшемі  белгілі  болады,  осы  арқылы  картаның 
алғашқы  нұсқасы  жасалады.  Оқыту  барысында  туйіннің  салмақ  векторы  енгізілетін 
деректерге жақындайды. Әрбір бақылауға (семпл) салмақ векторы бойынша ең ұқсас 
түйін  таңдалып  алынады  және  де  осы  салмақ  векторының  мәнін  бақылауға 
жақындатады.  Сонымен  қатар  бақылауға  жақын  орналасқан  бірнеше  түйіндердің 
салмақ  векторы  жақындайды.  Осылайша,  егер  енгізілетін  деректер  жиынында  екі 
бақылау ұқсас болса, онда оларға картада жақын орналасқан түйіндер сәйкес келеді. 
Енгізілетін  деректерді  қарастыратын  циклдік  оқыту  процесі  карта  мүмкін  қателікке 
жеткенде аяқталады, немесе берілген итерациялар саны орындалғанда. 
Ӛздігінен ҧйымдастырылатын картаның қолданылуы 
Ӛздігінен  ұйымдастырылатын  карталардың  негізгі  қолданылу  бағыттары  – 
енгізілетін деректердегі заңдылықтар мен байланыстарды іздеу және талдау. 

 
140 
Кластеризация  –  ұқсас  обьектілер  тобын  табу.  Әрбір  берілген  обьектіге 
салмақтар  жиынтығы  сай  келеді.  Салмағы  бойынша  қарастырылып  отырған 
обьектілердің  ара  қашықтығын  есептеп,  обьектілер  тобын  табады.  Бір  обьектілер 
тобындағы обьектілердің бір-бірінен қашықтығы кӛршілес обьектілер тобына дейінгі 
қашықтықтан  аз  болу  керек.  Табылған  кластерлер  екі  ӛлшемді  суретте  кӛрсетіледі, 
бұл кластердің суретін оңай интерпретациялауға мүмкіндік береді.  
Деректерді  визуалдау.  Карта  қалыптасқан  соң,  оны  екі  ӛлшемді  суретте  кӛрсет 
уге болады. Суреттің түсі қарастырып отырған салмақ векторының компонентасының 
осы немесе басқа түйіндегі мәнінің үлкендігін сипаттайды. Кӛбіне градиентті палитра 
қолданылады:  картадағы  түйіннің  мәні  аз  болған  сайын  суреттегі  сәйкес  аймақ 
қараяды, географиялық карталарға ұқсас. 
 
Алтыбұрышты  ұяшығы  бар  ӛздігінен 
ұйымдастырылатын 
Кохенен 
картасы. 
Ұяшықтардың  кӛпшілігі  бір  елге  сай  келеді, 
кейбіреуі екі елге. Бос  ұяшықтар да  бар.  Ӛмір 
деңгейі  жоғары  елдер  картаның  сол  жақ 
жоғарғы  бұрышында,  ал  деңгейі  тӛмендер  оң 
жақ  тӛменгі  бұрышта  орналасқан.  Елдердің 
кластерлері  картада  түстері  ұқсас  аймақтар 
құрайды: сары, жасыл, қызыл және т.б. 
 
Дүние  жүзі  картасына  ауыстырылған 
Кохенен 
картасының 
түстік 
белгіленуі. 
Мысалы,  ӛздігінен  ұйымдастырылатын  карта 
әртүрлі  мемлекеттердің  ӛмір  сүру  деңгейінің 
кӛрсеткіштеріне  қарай  құрастырылған.  Осы 
мәліметтер  арқылы  мемлекеттер  кластері 
табылды. 
 
 
Жҥйенің жҧмысы 

 
Картаның  инициализациясы,  яғни  салмақ  векторларының  түйіндерге  арналған 
алғашқы берілгендері. 

 
Цикл: 

 
Келесі бақылауды таңдау (енгізілетін деректер жиынынан векторды таңдау); 

 
Оған  ең  жақсы  сәйкес  келетін  бірлікті  табу  (best  matching  unit,  BMU,  или 
Winner)  –  салмақ  векторы  бақылаудан  ең  аз  ерекшеленетін  картадағы  түйін 
(метрикада аналитик беретін, жиірек эвклидтік); 

 
BMU кӛршілер санын анықтау және оқыту – бақылауға жақындату мақсатында 
BMU мен оның кӛршелерінің салмақ векторларын ӛзгерту; 

 
Картаның қателігін анықтау. 
Алгоритмі 
Инициализация 
Түйіннің алғашқы салмағын берудің үш тәсілі кӛп таралған: 
1.
 
Барлық координаталарды кездейсоқ сандармен беру; 
2.
 
Салмақ векторына енгізілетін деректердің ішінен кездейсоқ бақылаудың мәнін 
қосу; 

 
141 
3.
 
Енгізілетін деректер жиынтығының басты компоненттеріне созылған сызықтық 
кеңістіктен салмақ векторын таңдау. 
Цикл 
– итерация нӛмірі (итерация 0 нӛміріне сәйкес келеді). 

 
Енгізілетін деректер жиынынан x(t) ерікті бақылауды таңдау. 

 
Осы  бақылаудан  картадағы  барлық  түйіндердің  салмақ  векторына  дейінгі 
қашықтықты  табу,  және  салмағы  бойынша  ең  жақын 
)
(t
M
C
  түйінін  анықтау.  Бұл  – 
BMU немесе Winner. 
)
(t
M
C
 шарты: кез келген 
)
(t
m
i
 үшін ||x(t) - 
)
(t
m
C
||

||x(t) - 
)
(t
m
i
||. 
Мұнда, 
)
(t
m
i
  - 
)
(t
M
i
  түйінінің  салмақ  векторы.  Егер  шартты  қанағаттандыратын 
бірнеше түйін болса, онда BMU солардың ішінен кездейсоқ таңдалады. 

 
 h  (кӛршілік  функция)  функциясының  кӛмегімен 
C
M
  кӛршілерін  және  де 
олардың салмақ векторларының ӛзгерісін анықтау. 
h функциясы 
i
M
 және 
c
M
 түйіндерінің ―кӛршілік деңгейін‖ және салмақ векторының ӛзгерісін 
анықтайды. Функция біртіндеп олардың мәндерін айқындайды: алдымен түйіндердің 
кӛп  мӛлшерін  қаттырақ,  одан  кейін  аз  мӛлшерін  азырақ.  Кӛршілік  функция  ретінде 
гаус функциясы жиі қолданылады: 
)
)
(
2
||
||
exp(
)
(
)
(
2
2
t
r
r
t
t
h
i
c
ci






 
Мұнда, 
1
)
(
0


t

  –  оқытатын  кӛбейткіш,  ол  әрбір  келесі  итерация  барысында 
монотонды  турде  кемиді  (яғни  BMU-дің  салмақ  векторы  мен  оның  кӛршілерінің 
мәнінің бақылауға жақындауын анықтайды; қадам үлкейген сайын дәлдігі азаяды); 

c
i
r
,
)
(t
M
i
 және 
)
(t
M
C
 түйіндерінің картадағы координаталары; 
)
(t

 – итерациясы бар кӛршілер санын азайтатын кӛбейткіш, монотонды кемиді. 



 параметрлері және олардың кему қасиеті аналитикпен беріледі. 
Кӛршілік функцияны кӛрсетудің оңай жолы: 
)
(
)
(
t
t
h
ci



егер 
)
(t
M
i
  аналитикпен  берілген 
)
(t
M
C
  радиусының  айналасында  орналасса, 
және 0 ондай болмаған жағдайда. 
BMU  үшін  h(t)  функциясы 
)
(t

-ға  тең  және  BMU-дан  алыстаған  сайын 
кішірейеді. 
Салмақ векторының өзгеруі 
Салмақ векторын тӛмендегі формула бойынша ӛзгерту: 
))
1
(
)
(
(
)
(
)
1
(
)
(






t
m
t
x
t
h
t
m
t
m
i
ci
i
i
 
Осылайша  BMU-дің  кӛршілері  болып  табылатын  барлық  түйіндердің  салмақ 
векторы қарастырып жатқан бақылауға жақындайды. 
Карта қателігін анықтау 
Мысалы, бақылаулар мен салмақ векторлары арасындағы қашықтықтың орташа 
арифметикалық ӛлшемі ретінде. 




N
i
c
i
m
x
N
Error
1
||
||
1

Мұнда N – енгізілетін деректер жиынтығының элементтерінің саны. 
 
 

 
142 
________________ 
1.Kohonen, Self-Organizing Maps (Third Extended Edition), New York, 2001, 501 pages.  
2.Дебок Г., Кохонен Т. Анализ финансовых данных с помощью самоорганизующихся 
карт, Альпина Паблишер, 2001, 317 стр.  
3.Зиновьев А. Ю. Визуализация многомерных данных — Красноярск: Изд. 
Красноярского государственного технического университета, 2000. — 180 с. 
 
 
 
С.Е. Айтжанов, А.Б. Тунгатаров, Ш.Ш. Шеримов
 
 
ЭЛЬ-ГАМАЛЬ СҦЛБАСЫН ДИСКРЕТТІ ЛОГАРИФМДІ ЕСЕПТЕУ 
КҤРДЕЛІГІНЕ НЕГІЗДЕЛГЕН БАСҚА СҦЛБАЛАРМЕН САЛЫСТЫРУ 
 
ӘОЖ  519 
            А 32 
 
      Эль-Гамаль сұлбасы 
Эль-Гамаль (Elgamal) сұлбасы - түпкі ӛрістегі дискретті логарифдерді есептеудің  
  қиындығына  негізделген  ашық  кілтті  криптожүйе.  Криптожүйе  ӛзіне  шифрлеу 
алгоритмін және сандық қолтаңба алгоритмін енгізеді. Эль-Гамаль сұлбасы АҚШ-тың 
(DSA)  және  Ресейдің (ГОСТ  Р  34.10-94)  электронды  сандық  қолтаңба  стандарттары 
негізінде жатыр.  
Сұлба  1984  жылы  Тахер  Эль-Гамальмен  ұсынылған  болатын.  Эль-Гамаль 
Диффи—Хеллман  алгоритімінің  бір  нұсқасын  ойл  ап  тапты.  Ол  Диффи—Хеллман 
жүйесін  жетілдірді,  сонымен  қатар  шифрлау  үшін  қолданылатын  және 
аутентификацияны қамтамасыз ету үшін екі алгоритм ойлап тапты. RSА-ға қарағанда 
Эль-Гамаль  алгоритмі  патенттелмеген  болды,  және  лицензияға  жарналардың  тӛлеу 
қажет болмайды, сондықтан арзанырақ альтернативаға айналды.  
Кiлттiң генерациясы 
Ұзындығы 

 биттерден тұретын 

 кездейсоқ жай санын шығарады. 
p

Ӛрiстiң қарапайым g элементiн кездейсоқ таңдайды. 
x бүтін саны  1 болатындай кездейсоқ бүтін сан таңдалады. 
p
g
y
x
mod

 есептелінеді. 
Ашық кілт - (p,g,y) үштігі, ал жабық кілт - x саны болып табылады. 
Шифрлеу режимінде жұмыс жасау 
Эль-Гамаль  шифр  жүйесі  Диффи  —  Хеллман  ашық  кілттерін  ӛңдейтін  бір  әдіс 
болып  табылады.  Эль-Гамаль  смехасымен  шифрлауды  Эль-Гамаль  сандық  қолтаңба 
алгоритмінің сұлбасымен шатастырмау керек. 
Шифрлеу 
M  хат  мына  түрде  шифрленеді:  1болатындай,  кез-келген  k  бүтін  саны 
сессиялық кілт ретінде таңдалады.  
p
g
a
k
mod

және 
p
M
y
b
k
mod

 сандар есептеледі. 
(a,b) қос саны шифрмәтін болып табылады.  
Эль-Гамаль  сұлбасының  шифрмітінінің  ұзындығы  бастапқы  М  хаттын  екі  есе 
ұзынырақ болады. 
Дешифрлеу  

 
143 
x жабық кілтін біле  отыра, бастапқы хабарламаны  (a,b)  шифротекстісінен келесі 
формуладан есептеп алуға болады: 
p
a
b
M
x
mod
)
(
1


 
Осыған орай келесіні оңай тексеруге болады: 
  
p
g
a
kx
x
mod
)
(
1



 
   Сондықтан 
   
)
(mod
)
(
)
(
)
(
1
p
M
g
M
g
g
M
y
a
b
xk
xk
xk
k
x






 
  Практикалық есептеуге келесі формула сай келеді: 
p
a
b
p
a
b
M
x
p
x
mod
*
mod
)
(
)
1
(
1





 
 
Шифрлеу сұлбасы 
 
 
 
Мысал: 
Шифрлеу 
М=5 хатын шифрлеу керек делік 
Кілттердің генерациясын жасаймыз: 
p=11,g=2  болсын.  1  шартын  қанағаттандыратындай  x=8  кездейсоқ  x  бүтін 
санын таңдаймыз. 
3
11
mod
2
mod
8



p
g
y
x
 есептейміз. 
(p,g,y)=(11,2,3) үштігі ашық кілт болып табылады, ал жабық кілт x=8 саны болып 
табылады.  
1 < k < (p − 1) шартын қанағаттандыратын кездейсоқ  k бүтін санын таңдаймыз. 
k=9 болсын. 
6
11
mod
512
11
mod
2
mod
9




p
g
a
k
 санын есептейміз. 
9
11
mod
5
*
19683
11
mod
5
3
mod
9




p
M
y
b
k
 санын есептейміз. 
Алынған (a,b)=(6,9) жұбы шифрмәтін болып табылады. 
Дешифрлеу 

 
144 
Белгілі  (a,b)=(6,9)  шифрмәтіні  мен  x=8  жабық  кілті  арқылы  М=5  хатын  алу 
қажет.  
5
11
mod
)
6
(
9
mod
)
(
1
8




p
a
b
M
x
x
 формуласы бойынша М-ды есептейміз. 
М=5 бастапқы хатын алдық. 
Эль-Гамаль  сұлбасы  k  кездейсоқ  шамасы  енгізілетін  болғандықтан,  Эль-Гамаль 
шифрін  кӛпмағыналы  ауыстыру  шифрі  деп  айтуға  болады.  k  санының  кездейсоқ 
таңдалуына байланысты, бұл сұлбаны ықтималды шифрлеу сұлбасы деп атай аламыз. 
Ықтималдық  мінездемесі  Эль-Гамаль  сұлбасының  артықшылығы  болып  табылады, 
себебі  ықтималды  шифрлеу  сұлбаларында  нақты  шифрлеу  процесі  бар  сұлбаларға 
қарағанда үлкен тұрақтылық байқалады. Эль-Гамаль шифрлеу сұлбасының кемшілігі 
болып  бастапқы  мәтінге  қарағанда  шифрленген  мәтіннің  ұзындығының  екі  еселенуі 
болып  табылады.  Ықтималды  шифрлеу  сұлбасы  үшін  кілт  және  М  хат  шифрмәтінді 
бірмәнді  анықтамайды.  Эль-Гамаль  сұлбасында  M және M’  әртүрлі  хаттарын 
шифрлеу  үшін  k  кездейсоқ  шамасының  әртүрлі  мәндерін  қолдану  қажет.  Егер  де 
бірдей  k  қолданатын  болса,  сәйкес  (a,b)  және  (a’,b’)  шифрмәтіндері  үшін, 
1
1
)
'
(
)
'
(



M
M
b
b
  қатынасы  орындалады.  Егер  М  белгілі  болса,  бұл  ӛрнектен  М’-ты 
оңай есеп табуға болады.  
Қолтаңба режимінде жұмыс жасау 
Сандық  қолтаңба  қою  мәлiметтердi  ӛзгеріс  орнатуға  және  қол  қойған  тараптың 
шындық  екенін  орнату  үшiн  қызмет  кӛрсетедi.  Қол  қойылған  қатынастың  алушысы 
үшiншi  жаққа  дәлел  үшiн  сандық  қол  қойып  кеткен  тараппен  шындығында  қолдана 
алады.  Қол  қоюлар  тәртiпте  жұмыс  iстегенде  мәнi  (1,p-1)  интервалында  жататын 
бекiтiлген h(*) хеш-функция бар деп есептейдi. 
 
 
 
 
M хабарламаны қолтаңбалау үшін келесі операциялар орындалады: 
1.M хабарламаныі дайджесті ессептелінеді 
2.1p
g
r
k
mod

  
есептелінетін 

 
145 
3.
)
1
(mod
)
(
1




p
k
xr
m
s
 саны есептелінеді 
4.M хабарлама қолтаңбасы (r,s) жұбы саналады 
Қолтаңбаны тексеру 
(p,g,y)  ашық  кілтін  біле  отыра,  (r,s)  қолтаңбасы  M  хабарламамен  келесідегідей 
тексеріледі: 
1.0  және  0  шаттарының  орындалуы  тексеріледі.  Егер  екеуінің  кем 
дегенде біреуі орындалмай қалса, онда қолтаңба дұрыс деп саналмайды. 
2.m=h(M) дайджесті есептелінеді 
3. 
Қолтаңба  дұрыс  саналады,  егер  келесі  салыстыру  орындалса: 
)
(mod p
g
r
y
m
s
r

 
Мысалы: 
Хабарлама қолтаңбасы
Мысалы M=baaqab хабарламасын қолтаңбалау керек деп шешейік 
Кілт генерациясын ӛндіреміз: 
а) p=23, g=5 айнымалылары болсын, олар тек кей бірлестікке мәлім. Құпия кілт - 
кездейсоқ бүтін сан x- ол 1 
б) ашық кілтін есептейміз: 
17
23
mod
5
mod
7



p
g
y
x
 
в) Сонымен, ашық кілт үштігі (p,g,y)=(23,5,17) болып табылады 
Енді хэш-функциясын есептейміз: h(M)=h(baaqab)=m=3 
1.k кездейсоқ санын 12.
20
23
mod
5
mod
5



p
g
r
k
 есептейміз 
3.
)
1
(mod
)
(
1




p
k
xr
m
a
 санын табамыз, Бұндай s ЕҮОБ (k,p-1)=1 сияқты болып 
табылады. Нәтижеде s=21 болады. 
4. Сонымен, біз хабарламасын жаздық. 
 
Алынған хабарламаның шынайлылығын тексеру: 
1.h(M)=h(baaqab)=m=3  хэш-функциясын есептейміз 
2. 
)
(mod
*
p
g
r
y
m
s
r

 салыстыруын тексереміз 
3.23 
модулі 
бойынша 
сол 
жақ 
бӛлігін 
есептейміз: 
10
23
mod
15
*
16
23
mod
20
*
17
21
20


 
1.23
 
одулі бойынша оң жақ бӛлігін есептейміз: 
10
23
mod
5
3

 
2.Оң және сол жақтары тең болғандықтан, қолтаңба дұрыс болым саналады. 
Эль-Гамаль  сандық  қолтаңбасы  сұлбасының  басты  артықшылығы  сандық 
қолтаңбаны  тек  бір  ғана  құпия  кілтті  кӛп  хабарлама  үшін  қолдана  алу  мүмкіндігі 
болып  табылады.  Бӛтен  адам  жасанды  қолтаңба  жасағысы  келсе,  оған  күрделі 
математикалық 
p
Z
 жүйесіндегі логарифмді табу есебін шешуі қажет болады. Бірнеше 
түсініктеме жасау керек: 
Қолтаңбалар  есептеліп  болғанан  соң,  k  кездейсоқ  санын  жойып  жіберу  керек, 
егер  бӛтен  адам  k  санын  және  қолтаңбаның  ӛзін  біліп  қойса,  онда  ол  құпия  кілтті 
)
1
mod(
)
(
1




p
r
ks
m
x
  формуласы  арқылы  оңай  таба  алады,  сосын  қолтаңбаны  ӛзі 
жасап ала  салады.  k  саны кездейсоқ  болу  керек және  басқа  да  бірдей  құпия  кілттері 
бар қолтаңбаларға қолданылмауы керек. 
m=h(M)  орамдарын  қолдану  қолтаңбаны  бӛтен  адамдардан  әдеткі  қолтаңба 
мәндерінен сақтау үшін деп түсіндіріледі.  

 
146 
Мысал:  егер  0  шартын  қанағаттандыратын  i,j  кездейсоқ  санын 
алсақ, ЕҰОБ (j,p-1)=1 және 
p
y
g
r
j
i
mod


 
)
1
mod(
*
1



p
j
r
s
 
)
1
mod(
*
*
1



p
j
i
r
m
  деп  алсақ,  онда  (r,s)  жұбы  x=M  хабарламасына  дұрыс 
сандық қолтаңба деп оңай есептелінеді. 
Эль-Гамаль сандық қолтаңбасы басқа да ӛзінің қасиеттеріне ұқсас қолтаңбаларға 
үлгі  бола  алды.  Олардың  негізінде  келесі  салыстыру  жатыр: 
)
(mod
*
p
g
r
y
C
B
A


бұнда  (A,B,C)  үштігі  ±r,  ±s  и  ±m  орын  ауыстыруларының  біреуінің  мәнін  қандай  да 
бір  белгіні  таңдау  кезінде  қабылдайды.  Мысалы,  Эль-Гамальдың  бастапқы  сұлбасы 
A=r,  B=s,  C=m  кезінде  пайда  болады.  Бұндай  қолтаңба  құру  принциптерінде  АҚШ 
және Ресей мемлекеттері стандартты сандық қолтаңба құруда қолданылады. АҚШ-та 
A=r,B=-s, C=mал Ресей стандартында A=-x, B=-m, C=s қолданылады.  
Тағы  бір  артықшылығының  бірі  (s,m)  қос  сандарын  (s  mod  q,m  mod  q)  қос 
сандарына  алмастыру  арқылы  қолтаңба  ұзындығын  қысқарта  алу  болып  табылады, 
мұндағы q жай (p-1) қандай да бір бӛлгіші болып келеді. Осыған қоса салыстыру p-ны 
модулі  бойынша  тексеру  ушін  оны жаңа  салыстыруға  q  модулі бойынша  алмастыру 
қажет: 
)
(mod
mod
)
*
(
q
g
p
r
y
C
B
A

  .  Осылай  американдық  DSS  (Digital  Signature 
Standard) стандарттында жасалған.  
DSA сұлбасы 
DSA-электрондық  қолтаңбаны  (подпись)  шығару  үшін  қолданылатын  ашық 
кілтті  алгоритм.  DSA-ның  RSA  және  Эль-Гамаль  сұлбасынан  айырмашылығы  ол 
шифрлау үшін емес, электрондық қолтаңбаны жасау үшін қолданылады. 
Қолтаңба құпия түрде жасалып, дұрыстығы ашық түрде тексеріле алады. 
Бұл-  қолтаңбаны  тек  1  субъект  жасай  алатынын,  бірақ  кез-келген  адам 
дұрыстығын тексере алатындығын білдіреді. 
Алгоритм  криптографиялык  хеш-функциясы  SHA-1мен  қоса  1994  жылы  алғаш 
рет жарияланған DSS-тін мүшесі болып табылады. 
Сонғы  уакытта  DSA-нын  2  жаңартылған  түрі  шыққан.  Олар:  FIPS  186-2[2]  (27 
қаңтар 2000) және FIPS 186-3[3] (маусым 2009) 
Алгоритмнің қолданылуы 
Ақпаратты жазу үшін 2 кілт қажет ашық және жабық. Сонымен қатар жабық кілт 
тек  ақпаратты  жазып  жатқан  адамға  мәлім  болуы  кажет,  ал  ашық  кілт  ақпараттың 
растығын тексергісі келген кез келген адамға қол жетімді болуы кажет. 
Алгоритмнің параметрлері де бүкіл қауымға қол жетімді  
Сандық жазбалардың сұлбаларының параметрлері 
Сандық қолтаңбаны жүйесін орындау үшін келесі қадамдарды жүзеге асыруымыз 
қажет: 
1.Криптографиялык хеш-функциясын таңдау Н(х); 
2.N-биттік  кӛлемі  хеш-функциясының  битінің  кӛлемімен  сәйкес  келетін  жай 
үлкен q санын таңдау; 
1.(p-1) саны q санына бӛлінетіндей р-санын таңдау, р-санының биттік ұзындығы 
)
2
L(2
1
-
l
L
p


белгіленеді; 
2.модулі бойынша мультипликативтік қатары p=q болатындай g санын таңдау. 
g  санын  есептеу  үшін  тӛмендегі  формуланы  қолдансақ  болады 
p
mod
h
g
1)/q
-
(p

 
мұндағы  h-кез-келген  сан, 
1
g
 
1),
-
p
 
(1;
h


.  Кӛп  жағдайда  h=2  мәні  шешімді 
қанағаттандырады. 

 
147 
Жоғарыда  айтылып  ӛткендей,  цифрлық  қолтаңба  сұлбасының  ең  алғашқы 
параметрі  қолданыстағы  криптографиялық  хеш-функциясы  болып  табылады.Ол 
жазба түрдегі ақпаратты сандық түрге айналдырады.N(160 SHA-1 үшін) белгіленетін 
кезегімен  шығатын  ұзындық  осы  функцияның  құрылымының  маңызды  элементі 
болып табылады. 
DSS-тің  алғашқы  үлгісіде  SHA-1  функциясы  және  сәйкесінше  160  биттік 
ұзындық  ұсынылған.Қазіргі  күнде  SHA-1  қажетті  қауіпсіздікпен  қамтамасыз  ете 
алмайды. 
Стандартта L және N сандарының мүмкін мәндері кӛрсетілген: 
1.
 
L = 1024, N = 160 
2.
 
L = 2048, N = 224 
3.
 
L = 2048, N = 256 
4.
 
L = 3072, N = 256  
Ашық және жабық(құпия) кілттер 
Жабық кілт 
)
,
0
(
x
q

 түрде кездеседі 
Ашық кілт 
p
g
y
x
mod

 түрінде кездеседі 
Ашық параметрлерге мына сандар жатады (p, q, g, y) 
Жабық параметрге тек қана бір сан, яғни х жатады 
Сонымен қатар (p, q, g) сандары барлық қолданушыларға жалпы болуы мүмкін, 
ал  (х,у)  сандары  нақты  бір  қолданушының  ашық  және  жабық  кілттері  болып 
табылады. 
Ақпаратты жазу барысында x, k құпия сандары қолданылады, сонымен қатар әр 
ақпаратты жазған сайын k саны кездейсоқ таңдалу қажет. 
(p,q,g)  сандарын  бірнеше  пайдаланушылар  қолданатындық-тан,практикада 
пайдаланушыларды  критериялар  бойынша  бірнеше  топтарға  бӛледі.  Сондақтан  бұл 
параметрлерді домен параметрлері деп атайды.  
Сұлбаның дұрыстығы 
Қолтаңбаның  дұрыстығын  тексергісі  келген  кез-келген  адам  оң  жауап  алса, 
берілген сандық жазбаның сұлбасы әрқашан дұрыс, яғни: 
Біріншіден, егер 
p
h
q
p
mod
g
/
)
1
(


болса, онда Ферманың кіші теоремасы бойынша 
p
h
p
mod
1
g
)
1
(
q



.g>1 және q жай сан болғандықтан, g саны q және p-ның модулімен 
мультипликативтік тәртіппен орналасуы қажет. 
Ақпаратты жазу үшін тӛмендегі есептеулер жүргізіледі: 
q
r
x
m
H
k
mod
)
*
)
(
(
s
1



  
Келесі формулаға кӛшеміз: 
q
w
r
x
w
m
H
s
r
x
s
m
H
mod
*
*
*
)
(
*
*
*
)
(
k
1
1






 
g q-тәртібімен жазылғандықтан, біз келесі формуланы аламыз: 
p
y
g
y
g
g
g
u
u
q
w
r
q
w
m
H
q
w
r
x
q
w
m
H
mod
g
2
1
m od
*
m od
)*
(
m od
*
*
m od
)*
(
k



 
Сонымен DSA сұлбасының дұрыстығын келесі формуладан кӛруге болады: 
v
q
p
y
g
q
p
g
u
u
k



mod
)
mod
(
mod
)
mod
(
r
2
1
 
Алгоритмнің жузеге асырылуы 
Сандық  қолтаңбаны  жүзеге  асыру  кезінде  криптографиялық  алгоритмдерді, 
криптографиялык кілттердің генерациялық алгоритмдерін, кілттерді реттеу тәсілдерін 
және қауіпсіздікті қолдану керек. Тӛмендегі алгоритмдер келтірілген алгоритмдердің 
үлгілері болып табылады: 

 
FIPS (Federal Information Processing Standard) 

 
148 

 
FIPS немесе NIST ұсынуларында қабылданған 

 
FIPS 140-2 құжатында құпталған қауіпсіздікпен кӛрсетілген функция тізімі. 
ECDSA сұлбасы 
ECDSA  (Ellptic  Curve  Digital  Signature  Algorithm)  –  цифрлік  қолтаңбаны 
шығаруға  арналған  ашық  кілтті  алгоритм.  Оның  DSA-дан  айырмашылығы  ӛрістегі 
толық санға емес, қисық эллипстік нүктелер группасына жатады. 
Ерекшіліктері 
Шифрлау  қисық  эллипстік  группадағы  дискретті  логарифм  мәселесіне 
негізделеді.  Оның  жай  дискретті  логарифмнен  және  толық  санды  факторизациялау 
мәселесінен айырмашылығы, оның қисық эллипстік нүктелер группасында дискретті 
логарифм  мәселесіне  суб-экспенциялдық  алгоритмінің  болмауы.  Сол  себепті 
эллипстік қисықты қолданатын «бір битті кілттің күші» алгоритмде ӛте маңызды.  
ECDSA  алгоритмі  DSA-дан  қарағанда  қажетті  қауіпсіздікпен  қамтамасыз  ете 
алмайтындығын  Д.  Браун  (Daniel  R.  L.  Brown)  дәлелдеді.  Сондықтан  ECDSA-ға 
қауіпсіздік шектеулері қойылды. 
Егер элиптикалық қисықтың тобы негізгі топ секілді үлгісі жасалынып шығатын 
болса  және  оның  хеш-функциясы  белгілі  бір  дәлелденген  жорамалды 
қанағаттандырса,  онда  ECDSA  құрамында  бұрмалауы  бар  chosen-message  деген 
шабуылға нық келеді. 
ECDSA алгоритмі 1999 жылы ANSI, 2000 жылы IEE  және  NIST-тің стандартты 
болып  қабылданды.  Сонымен  қатар  ISO-ның  стандарты  болып  1998  жылы 
қабылданды.  ЭЦП  стандарты  жақында  құрастырылған  және  ӛрістеу  кезеңінде 
болғанына қарамастан, қазіргі кезде келешегі зор  ANSI X9.62 ECDSA эллиптикалық 
қисық ЭЦП жатады. 
Таңдау параметрлері 
Ақпаратты  жазу  үшін  ашық  және  жабық  кілттер  қажет.  Жабық  кілт  тек 
ақпаратты жазған адамға ғана мәлім болу керек. Ал ашық кілт жазбаның дұрыстығын 
тексергісі келген әрбір адамға мәлім болады. Сонымен қатар алгоритмінің параметрі 
барлығына ортақ болып табылады. 
Алгоритм параметрлері 
1.
 
H(x)  хеш-функциясын  таңдау.  Алгоритмді  қолдану  үшін  ақпарат  жазбасы  сан 
болу  керек.  Хеш-функциясы  әрбір  ақпаратты  кезекті  битке  айналдыру  қажет,  кейін 
оны санға айналдырады. 
2.
 
Эллиптикалық  қисықтар  тобында  жатқан  циклдық  топшадан  жай  q  санын 
таңдау.  Ескерту:  Таңдалған  санның  битпен  ӛлшенгедегі  кӛлемі  хеш-функциясынан 
H(x) кіші болса, онда хеш-функциясының сол жақ биттік мәндері қолданылады. 
3.
 
p
F
 координаталық кеңістігі жай р санымен белгіленеді. 
Сандық қолтаңбаны есептеу 
H  хеш-функциясының  һ  мәні  есептелінген  кез  келген  ақпаратты  жазу  үшін 
қолданушы келесі тізімді орындау қажет: 
1
]
1
,
1
[


q
k
 кездейсоқ бүтін санын таңдау.  
2. 
)
,
(x
 
P
*
k
1
1
y

  есептеп  және 
q
mod
x
r
1

  қою  керек,  мұндағы  r  саны  q 
модулімен келтірілген 0<
1
x
<(p-1) аралықта жатқан саннан алынған. 
Ескерту:  егер  r=0  болса,  онда 
q
r
x
h
mod
)
*
(
k
s
-1


  теңдігі  құпия  х  кілтіне 
тәуелсіз  болады,  демек,  (r,s)  сандық  қолтаңба  ретінде  жарамайды.  Онда  r=0 
жағдайында алғашқы қадамға оралуы қажет. 

 
149 
3. 
)
(mod
k
-1
q
  мәнін  есептеп,  келесі  формулаға  қоямыз 
q
r
x
h
mod
)
*
(
k
s
-1



мұндағы һ-жазылу барысындағы ақпараттың хеш-функциясының мәні. 
Ескерту:  егер  s=0  болса,  онда  тексеру  үшін  есептелінетін 
)
(mod
s
-1
q
  мәні 
болмайды. Онда s=0 жағдайында алғашқы қадамға оралуы қажет. 
Сандық қолтаңбаны тексеру 
Қолданушының  қолтаңбасының  дұрыстығын  тексеру  үшін  екінші  бір 
пайдаланушы келесі қадамдарды орындау қажет:  
1.
 
Қолданушының ашық кілтінің расталған кӛшірмесін алу; 
2.
 
 r  және  s  бүтін  сандарының  [1,q-1]  аралығынан  алынғанын  тексеріп,  һ  хеш-
функциясының мәнін есептеу; 
3.
 
q
h
s
u
mod
1
1


 және 
q
r
s
u
mod
1
2


 есептеу; 
4.
 
)
,
(
*
*
0
0
2
1
y
x
Q
u
P
u


 есептеп, 0 және (p-1) аралығынан алынған 
0
x
 саны үшін 
q
x
v
mod
0

 орындау қажет; 
5.
 
Тек v=r болған жағдайда ғана қолтаңбаны қабылдау қажет. 
Егер 
қолданушы 
ӛзінің 
қолтаңбасын 
дұрыс 
есептесе, 
онда 
P
k
P
q
r
s
x
q
h
s
P
xu
Q
u
P
u
*
*
)
mod
*
*
mod
*
(
)
u
(
*
*
1
1
2
1
2
1








  теңдігі  орындалады. 
)
)(mod
(
1
q
xr
h
s
k



 болғандықтан r=v болады. 
Жалпыға ортақ Q кілтін растау үшін келесі қадамдарды орындау қажет (мұндағы 
О шексіз алыс нүктені білдіреді): 
1.
 
Q кілті O-ға тең еместігін және координаталар дұрыстығын тексеру қажет; 
2.
 
Q-дың қисықта жатқандығын тексеру қажет: 
3.
 
qQ=O екендігін тексеру керек. 
ECDSA –ның DSA-дан артықшылығы 
ECDSA  ашық  кілтті  аргоритімі  ЭЦП-ны  орындау  үшін  ӛте  ыңғайлы  алгоритм 
болып  табылады.  ECDSA-ның  ең  маңызды  артықшылығы 
p
F
  ең  кіші  ӛрісінде  де 
жұмыс  жасай алу  қабілеті.  Құпия  кілттің  биттік ӛлшемі  ECDSA-ның  ашық  кілтінің 
биттік ӛлшемінен екі есе үлкен.80 биттік қауіпсіздік деңгейінде ашық кілтті DSA-ның 
кӛлемі  кем  дегенде  1024  битке  тең  болады,  ал  салыстырмалы  түрде  ECDSA-ның 
кӛлемі  160  битке  тең.Басқа  жағынан  алып  қарасақ,  ECDSA  мен  DSA  үшін 
қолтаңбаның  ӛлшемі  бірдей,яғни  4t  битке  тең,  мұндағы  t-битпен  ӛлшенетін 
қауіпсіздік  деңгейі. 
Тәжірибе жүзінде іске асырылуы 
Қазіргі 
таңда 
сандық 
қолтаңбалар 
программалау 
жүйесінде 
іске 
асырылады.Осындай  қолтаңбаларды  жасап  шығару  үшін    сыртқы  кұрылғылардың 
қауіпсіздігін  қамтамасыз  ете  отырып  криптографиялық  жағдайларды  жасайтын 
арнайы программалық пакеттер қолданылады. 
 
Криптотұрақтылық және ерекшеліктері 
Қазіргі  уақытта  ашық кілтті  криптожүйелер  болашағы  бар  деп саналады. Ашық 
кілтті  криптожүйелерге  Эль-Гамаль  сұлбасы  да  жатады.  Оның  криптотұрақтылығы 
дисктертті  логарифмдеу  проблемасын  есептеу  күрделілігіне  негізделген.  Онда 
)
(mod p
g
y
x

 салыстыруын қанағаттандыратын p, g белгілі және х-ті есептеу керек.  
 

 
150 
Кейбір алгоритмдермен салыстыстыру: 
__________________ 
1.Коржев В. Цифровая подпись. Эллиптические кривые. «Открытые системы» 
2.Brown D. Generic groups, collision resistance, and ECDSA. «Codes and Cryptography» 
2002 
3.Семаев И.А. «Анализ и синтез криптографических протоколов», 2001 
4.Кобец А.В. «Подмена подписанного документа в новом американском стандарте 
ECDSA» 
              
 


Достарыңызбен бөлісу:
1   ...   12   13   14   15   16   17   18   19   ...   22




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет