Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom_Kaliyev.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
951.81 Кб
Скачать

1.5 Кездейсоқ сандардың криптографиялық генераторлары

Кездейсоқ сандардың криптографиялық генераторлары криптографиялық үстемелерде қолданылатын кездейсоқ сандарды шығарады, мысалға кілттерді генерациялау үшін. Көптеген программалық тілдер мен программалық орталарда қолданылатын кездейсоқ сандардың қарапайым генераторлары криптографияның қажеттіліктеріне сәйкес келмейді (статистикалық кездейсоқ таратуларды алу мақсатында құрылған, криптоаналитик мұндай кездейсоқ генераторлардың әрекетін болжай алуы мүмкін) [10].

Идеалды жағдайда кездейсоқ сандар болжауға келмейтін нағыз физикалық үрдістерге негізделуі тиіс. Мысалға мұндай кездейсоқ сандардың көзі ретінде шулайтын жартылай өткізгіш құралдар, сандалған дыбыстың кіші биттері, құрылғылар мен пернелерді басудың үзілістерінің интервалдары бола алады. Физикалық көзден алынған шудың әр биті басқа әр биттен тәуелді болатындай криптографиялық хэш-функциямен “дистиллирацияланады” [10]. Көбінесе кездейсоқ ақпаратты сақтау үшін едәуір үлкен пул (бірнеше мың бит) қолданылады, және пулдың әр биті шудан алынған ақпараттың әр битіне және басқа пулдың әр битіне криптографиялық сенімді түрде тәуелді етіледі.

Шудың нағыз физикалық көзі болмаған жағдайда псевдокездейсоқ сандарды қолдануға тура келеді. Мұндай жағдай жағымсыздығына қарамастан жалпы қолданыстағы компьютерлерде көптеп кездеседі. Әр уақытта қоршаған ортадағы қандай да бір шуды қолдану дұрыс – айталық құрылғылардың тоқтап тұру шамаларын, ресурстарды қолдану статистикасының сандарынан , желілік статистикадан және тағы басқалардан. Бұған жету үшін кездейсоқ пулдың кем дегенде 128 Бит нағыз энтропиясы болуы қажет.

Псевдокездейсоқ сандардың криптографиялық генераторлары көбінесе кездейсоқ ақпаратты қамтитын үлкен пулды (seed – мәні ) қолданады. Пулдың ішіндегісін бөгде адамнан жасыру үшін берілген биттер криптографиялық хэш-функциядан өту мүмкіндігімен қоса іріктеліп генерацияланады. Биттердің жаңа порциясын қажет еткенде пулдың әр биті басқа битке тәуелді болу үшін берілген пул кездейсоқ кілтпен шифрлеу арқылы араластырылады (оны сіз пулдың қолданылған бөлігінен ала аласыз). Қоршаған ортаның шуы араластыру алдында пулға қосылуы тиіс, бұл пулдың жаңа мәндерін болжауды одан әрі қиындатады.

Ұқыпты жобалауда криптографиялық сенімді генераторларды жасап шығаруға болатынына қарамастан, бұл мәселе көбінесе тасада қалады. Сонымен, кездейсоқ генераторлардың маңыздылығын ескерте кеткен жөн – егер ол дұрыс жасалмаған болса, оның жүйедегі ең осал элемент болуы тіптен оңай.

Кездейсоқ сандарды генерациялау әдістерінің ең үлкен мәселесі – бұл шынымен кездейсоқ биттердің тізбегін шығару. Жалпы қолданыстағы кездейсоқ тізбектердің генераторлары, мысалға программалау тілдеріндегі , шынымен псевдокездейсоқ генераторлар болып табылады. Ал ЭЕМ-нің күйлерінің жиынтығы шекті, сондықтан алгоритмдегі сан қалай пайда болғанына қарамастан, бәрібір оның ақпараттық қаныққан биттерінің саны салыстырмалы түрде аз болады.

Кездейсоқ және псевдокездейсоқ сандарды құру мәселесін толығырақ қарастырып өтейік. Көбінесе тиктердің счетчиктерінен, яғни жүйелік уақыттан құрылады. Бұл жағдайда ағымдағы сағаттың уақыты туралы мәліметтер 16 биттік ақпаратқа тең, тиктердің счетчиктерінің мәні тағы 16 Бит. Бұл бізге 32 Биттік ақпаратты береді, ал өздерініз білетіндей қазіргі уақытта криптографиялық тұрақтылықтың шекарасы 40 Битке тең, шынайы кілттердің ұзындығы 128 Битке тең [10]. Әрине, мұндай әдіс жеткіліксіз. Әрі қарай қарастып өтейік. Берілген 32 Битке 1,2 Мгц жиілігімен жұмыс істейтін IBM PC архитектуралы компьютерлеріндегі өте тез таймердің 16 Битін қосуға болады. Оған қоса, егерде біз ұзындығы 128 Битке тең кілтті жинап алғанның өзінде ол псевдокездейсоқ сипатқа ие болады, себебі ол шифрленген кезінде тек берілген ЭЕМ күйіне негізделген. Шынымен кездейсоқ шамалардың көзі тек сырт нысандар бола алады, мысалға адам.

Адамның арқасында алынатын кездейсоқ тізбектерді алудың ең көп тараған екі әдісі де пернелерден енгізуге негізделген. Екі жағдайда да қолданушыны ойланусыз-ақ әріптердің мағынасыз байланыстарын теруді сұрайды. Бірінші әдіс бойынша шығыс лектің кездейсоқтығын арттыратындай енгізілген мәндердің өздерімен әрекеттер жасайды. Мысалға, ASCII символдың жоғарғы үш биті міндетті түрде өшіріледі, әдетте тағы бір жоғарғы және төменгі бит өшіріледі. Кейін, алынған тізбектің көлемі бірінші және екінші битті XOR операциясының көмегімен үшінші битке қосу арқылы үш есе азаяды.

Екінші әдіс бойынша алгоритм енгізілген символдарға көңіл аударылмайды, бірақ басылулардың уақыт интервалдарын есепке алады. Мезеттерді жазып алу шапшаң жүйелік таймермен (жиілігі 1,2 МГц) немесе Intel Pentuim процессорларында пайда болған процессордың ішкі счетчигімен (жиілігі процессордың жиілігіне сәйкес) жүргізіледі. Жоғарғы және кіші биттердің символдары арасындағы қандай да бір корреляциясы болғандықтан (біріншісі адамның физикалық сипатынан , екіншісі операциялық операциялық жүйенің ерекшеліктерінен) , олар алынып тасталынады (әдетте 0-8 үлкен бит және 4-10 кіші бит өшіріледі).

Екі пернетақталық әдісті бірге қолданатын нұсқаулары сирек кездеседі, және “тышқанның” манипуляторына негізделген әдіс – ол қолданушының тышқанның көрсеткішін жылжытуынан кездейсоқ ақпаратты алады.

Әскери қолданыстағы мықты криптожүйелерде физикалық үрдістерге негізделген шынайы кездейсоқ генераторлар қолданылады. Олар ЭЕМ-нің кіріс-шығыс портына қосылатын сырт құрылғы не плата түрінде болады. Гаусстық ақ шудың екі негізгі көзі – жылу флуктуацияларының өте дәл өлшеулері және радиобайланыстан еркін жиіліктегі радиоэфирдің көшірмелері.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]