Қазақстан республикасы білім және ғылым министрлігі павлодар мемлекеттік педагогикалық институты



жүктеу 5,01 Kb.
Pdf просмотр
бет28/59
Дата05.03.2018
өлшемі5,01 Kb.
#11345
1   ...   24   25   26   27   28   29   30   31   ...   59

 
71 
Кешігуі  бар  Фибоначчи  әдісі  бойынша  құрастырылған  генераторлар  үшін 
ұсынылған  a  және  b  параметрлер  бар.  Мысалы,  зерттеушілер  келесі  мәндерді  ұсынады:  
(a,b) = (55, 24),  (17, 5)  немесе  (97,33). Алынған кездейсоқ сандардың сапасы  a константа 
мәніне тәуелді:  ол неғұрлым үлкен болса, кездейсоқ векторлар сақталынатын кеңістіктің 
өлшемі  соғұрлым  жоғары  болады.  Сонымен  бірге,  a  константаның  өсуімен  алгоритм 
пайдаланатын жад көлемі де өседі.  
Нәтижесінде (a,b) = (17,5) мәндері қарапайым қосымшалар үшін ұсынылады. (a,b
=  (55,24)  мәндері  көптік  криптографиялық  алгоритмдарға  қанағаттанған  сандарды  алуға 
мүмкіндік береді. (a,b) = (97,33) мәндері өте сапалы кездейсоқ сандарды алуға мүмкіндік 
береді  және  жоғары  өлшемі  бар  кездейсоқ  векторлармен  істейтін  алгоритмда 
пайдаланады.  
Кешігуі  бар  Фибоначчи  әдісіне  негізделген  ПКС  генераторы  криптографияда 
пайдаланған  болатын.  Одан  басқа,  олар  математикалық  және  статистикалық  есептерде 
қолданылады,  және  де  кездейсоқ  процестерді  модельдеуде.  Кешігуі  бар  Фибоначчи 
әдісіне негізделген ПКС генераторы танымал Matlab жүйеде пайдаланған. 
 
7.5 BBS алгоритм негізіндегі кездейсоқ сандар генераторы 
 
BBS  алгоритмы  (авторлар  аттарынан  —  L.Blum,  M.Blum,  M.Shub)  немесе 
квадратты қалдығы бар генераторы деп аталатын псевдокездейсоқ сандарды генерациялау 
алгоритмы  кең  тараған.  Криптография  мақсаты  үшін  бұл  әдіс  1986  жылы  ұсынылған 
болатын. 
Осы  әдісте,  алдымен  екі  үлкен  жай  сандар  p  мен  q  таңдап  алынады.  p  мен  q 
сандары  модулі  4  бойынша  3-пен  салыстырмалы  болу  керек,  яғни  p  мен  q-ны  4-ке 
бөлгенде  бірдей  қалдығы  3  алыну  керек.  Онан  әрі  M  =  p q  саны  есептеледі,  оны  бүтін 
Блюм саны деп атайды. Сосын М-мен өзара жай (яғни бірден басқа ортақ бөлгіштері жоқ) 
басқа кездейсоқ бүтін сан х таңдап алынады. Есептейміз х
0
 = х

mod M. х

– генератордың 
бастапқы саны деп аталады.  
Генератор  жұмысының  әрбір  n  қадамында  есептеледі  х
n+1 
=  х
n
2
  mod  M.  n-ші 
қадамның  нәтижесі  х
n+1 
санның  бір  (әдетте  кіші)  биты  болып  табылады.  Кейде  нәтиже 
ретінде жұптық битын қабылдайды, яғни элементтің екілік түріндегі бірліктер саны. Егер 
сан жазуында бірліктер саны жұп болса  - жұптық  битын 0-ге тең деп алады, тақ болса  - 
жұптық битын 1-ге тең деп қабылдайды.  
Мысалыp = 11, q = 19 болсын (көз жеткендей,  11 mod 4 = 3, 19 mod 4 = 3). Онда 
M  =  p q  =  11 19  =  209.  М-мен  өзара  жай  х  таңдап  аламыз:  х  =  3  болсын.  Генератордың 
бастапқы саның х

есептейік: 
х
0
 = х
2
 mod M = 32 mod 209 = 9 mod 209 = 9. 
BBS алгоритмы бойынша алғашқы он  х
i
 санды есептейік. Кездейсоқ бит ретінде  х
i
 
санның екілік түріндегі жазуында кіші битты аламыз:  
 
х

= 9
2
 mod 209 = 81 mod 209 = 81 
кіші бит: 1 
х

= 81
2
 mod 209 = 6561 mod 209 = 82 
кіші бит: 0 
х

= 82
2
 mod 209 = 6724 mod 209 = 36 
кіші бит: 0 
х

= 36
2
 mod 209 = 1296 mod 209 = 42 
кіші бит: 0 
х

= 42
2
 mod 209 = 1764 mod 209 = 92 
кіші бит: 0 
х

= 92
2
 mod 209 = 8464 mod 209 = 104 
кіші бит: 0 
х

= 104
2
 mod 209 = 10816 mod 209 = 157  кіші бит: 1 
х

= 157
2
 mod 209 = 24649 mod 209 = 196  кіші бит: 0 
х

= 196
2
 mod 209 = 38416 mod 209 = 169  кіші бит: 1 


 
72 
х
10 
= 169
2
 mod 209 = 28561 mod 209 = 137 кіші бит: 1 
 
Тәжірибелік мақсаты үшін осы әдістің ең қызық қасиеті - тізбектін n-ші саның алу 
үшін  барлық  х
i
  санның  n  бұрыңғыларын  есептеу  қажет  емес.  Өйткені  мына  формула 
бойынша х
n
 тура алуға болады: 
M
x
x
q
p
n
n
mod
)]
1
)(
1
mod[(
2
0
 
Мысалы,  х
10
-нан
  
тура  х
0
-ды есептейік: 
137
209
mod
14976
209
mod
)
104
144
(
)
209
mod
42
)(
209
mod
26
(
)
209
mod
)
81
)((
209
mod
)
81
((
)
209
mod
81
)(
209
mod
81
(
209
mod
81
209
mod
)
9
(
209
mod
9
209
mod
209
mod
4
5
4
4
5
3
16
15
31
31
4
124
180
mod
1024
0
)]
1
19
)(
1
11
mod[(
2
0
10
10
x
x
x
 
 
Нәтижесінде,  шынында  да  рет-ретімен  есептегендей  мән  аламыз  -  137.  Есептеу 
күрделі  болып  көрінеді,  бірақ  оларды  кішкентай  процедура  немесе  программа  түрінде 
орындап, қажет болғанда пайдалануға болады.  
х
n
-ды  «тура»  алу  мүмкіндігі  BBS  алгоритмды  ағынды  шифрлауда  пайдалануға 
мүмкіндік  береді,  мысалы,  еркін  қатынауы  бар  файлдар  үшін  немесе  деректер  қорына 
жазулары бар файл фрагменттері үшін.  
BBS алгоритмның қауіпсіздігі үлкен М санды көбейткіштерге жіктеу күрделілігіне 
негізделген. Егер М жеткілікті үлкен болса, оны құпиялы түрде сақтаудың қажеті де жоқ; 
М-ды көбейткіштерге жіктемей ПКС генератордың шығыуын ешкім айталмайды. Себебі, 
n  = pq  (р  мен  q —  жай сандар) түрлі  сандарды көбейткіштерге жіктеу  өте қиын, егер біз 
тек  n-ды  ғана  білсек,  ал  р  мен  q  —  бірнеше  ондаған  немесе  жүздеген  биттен  тұратын 
үлкен сандар болса (бұл факторизациялау деп аталатын есеп).  
Одан  басқа,  BBS  генераторы  генерацияланған  кейбір  тізбекті  біле  отырып, 
қаскүнем не бұрыңғы не келесі биттерді анықтай алмайды. BBS генераторды сол жақ және 
оң жақ бағытта алдын ала болжауға болмайды. Бұл қасиеті криптография мақсатына өте 
пайдалы. 
Алгоритмның  ең  маңызды  кемшілігі  –  аса  жылдамды  еместігі,  сондықтан  оны 
нақты  уақыт  есептеуде  және  де,  өкінішке  орай,  ағынды  шифрлауда  пайдалануға 
болмайды. 
Дегенмен, бұл алгоритм үлкен периоды бар псевдокездейсоқ сандардың шынында 
жақсы тізбегін бергендіктен, оны шифрлауда кілттерді генерациялау үшін пайдалану жөн.  
 
 
Негізгі ұғымдар 
 
Stream cipher – ағынды шифр. 
BBS  алгоритмы  –  псевдокездейсоқ  сандарды  генерациялау  әдістерінің  біреуі. 
Алгоритм  аты  авторлар  есімдерінен  жиналған  -  L.Blum,  M.Blum,  M.Shub.  Алгоритм 
криптографияда  пайдалану  мүмкін.  BBS  алгоритмы  бойынша  келесі  x
n+1
  санды  есептеу 
үшін  пайдаланатын  формула:  х
n+1 
=  х
n
2
  mod  M,  мұнда  M  =  pq  екі  үлкен  p  мен  q  жай 
сандардың көбейтіндісі. 
Псевдокездейсоқ  сандар  генераторы  (ПКСГ)  –  сырттан  кездейсоққа  ұқсайтын 
биттер тізбегін жасайтын кейбір алгоритм немесе құрылғы.  
Псевдокездейсоқ  сандардың  сызықты  конгруэнтті  генераторы  -  ең  қарапайым 
генератордың біреуі, келесі k
i
 есептеу үшін  k

= (a k
i-1
+b) mod c  формуланы пайдаланады, 
мұнда  аbс — кейбір константалар,  ал k
i-1
 — алдыңғы псевдокездейсоқ сан. 


жүктеу 5,01 Kb.

Достарыңызбен бөлісу:
1   ...   24   25   26   27   28   29   30   31   ...   59




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

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау