- •2.Ақпаратты қорғау программалық құралдарына түсінік беріңіз
- •3.Компьютерлік желілерде деректердің қауіпсіздігіне қауып-қатерлерді көрсетіңіз.
- •4.Компьютерлік желілерде ақпаратты қорғау тәсілдерін түсіндіріңіз.
- •6.Ақпаратты қорғау криптографиялық принциптері
- •7. Шифрлеу әдістердің түрлері. Шифрлеуші кестелерді қарастырыңыз
- •10. Ақпаратты-есептеуіш желілерде қауіпсіздік қызметтерін жазыңыз.
- •11.Компьютерлік желілерде деректер қауіпсіздігінің негізгі механизмдерін көрсетіңіз
- •12.Бөгеуге тұрақты (коррекциялау) кодтаулардың топтамасын қарастырыңыз.
- •13.Виртуалды желілердің қызметтері
- •17.Ақпараттық-есептеуіш желілерде деректерді қорғау мақсаттары.
- •18.Бөгеуге тұрақты Хэмминг әдісінің этаптары
- •25.Цезарьдіңаффиндікорынауыстырушифрлеушіжүйесі
- •27.Ашық жүйе эталондық модельдің деңгейлері
- •28. Қарапайым алмастырудың шифрі. Цезардің шифрлау жүйесі
- •29.Кездейсоқ сандардың криптографиялық генераторлары
- •30. Криптографиялық хэш-функция
29.Кездейсоқ сандардың криптографиялық генераторлары
Кездейсоқ сандардың аппараттық генераторы - өтіп жатқан физикалық процесс параметрлері негзінде кездейсоқ сандар тізбегін генерациялайтын құрылғы. Кездейсоқ сандардың аппараттық генераторы - жай жұмыс жасайды немесе аралас тізбек өндіреді. Мұндай генераторларды қолдану пәндік обылыстың және генератордың өзінің құралдарынан тәуелді. Кездейсоқ сандар генераторын қолдану деңгейі әртүрлі, яғни қарапайым ойыншықтан күрделі шифрлауға дейін. Сәйкесінше генераторға қойылатын талап та күшейеді.
Кілтті генерациялау үшін бізге кездейсоқ сандарды генерациялауыш (random number generator - RNG) керек. Жақсы кездейсоқтықтың генерациясы – расында да көптеген криптографиялық операциялардың ең қажетті және сонымен қатар аса ауыр бөліктерінің бірі.
Көптеген криптографиялық функцияларға жақсы кездейсоқ сандардың генераторлары керек. Біз А және Б қолданушыларға белгілі кілт бар деп жорамалдадық. Бұл кілт бір жерде шығарылу керек. Кілттерді таңдау үшін кілттерді басқару жүйесі кездейсоқ сандардың генераторын қолданады. Егер генератор онша мықты болмаса, нашар кілт алынады. Тап осы жағдай Netscape шолушысының ерте нұсқаларының бірінде болды.
Енді генератордың жұмысын толығырақ қарастырайық.
Біз кілт пен есептеуіштің мәндерін генераторға бастапқы санның берілмегенін білдіретіндей нөлге тең деп аламыз.
функция InitiaizeGenerator
выход G Генератор күйі.
К кілтінің және С есептеуішінің мәндерін нолге тең деп қоямыз.
(К, С)(0, 0)
Күйді құрамыз.
G (K, C)
Return G
Reseed функциясы генератордың күйін туынды ұзындықты кіріс жолдың көмегімен жаңартады. Бұл деңгейде кіріс жолы нені құрайтыны бізге керек емес. Кіріс жолының бар кілттің көмегімен тиянақты араласқанын дәләел беру үшін кэштау фукнциясын қолданамыз.
функция Reseed
вход: G Генератордың күйі; осы функциямен өзгереді.
s Жаңа немесе қосымша бастапқы сан.
Кэштау функциясының көмегімен жаңа кілтті есептеп шығарамыз.
K SHAd – 256(K || s)
Есептеуіштің мәнін ол нолге тең болмағандай етіп бір мәнге көбейтеміз және генераторға бастапқы санның берілгені туралы белгі қоямыз. Берілген жағдайда С 16-байттық бүтін сан ретінде, байттың мәні онша емесі бірінші жазылатындай форматта берілген түрінде қарастырылады.
С С + 1
Бұл жерде С есептеуішінің мәні бүтін сан ретінде қарастырылады. Кейінірек ол ашық текстің блогы ретінде берілетін болады. Бір мәннің басқаға ауысуына мәні онша емесі бірінші жазылатын бүтін санның жазу форматы туралы келісімді қолданатын боламыз. Ашық тексттің блогы дегеніміз – 16 байттан: p0, … , p15 тұратын блок. Ол бүтінсанды мәнге сәйкес келеді
Осы келісімді қолдана отырып біз С-ті 16-байттық жол ретінде де, бүтін сан ертінде де қарастыра аламыз.
Келесі функция кездейсоқ мәліметтердің блоктарының берілген санын генерациялайды. Бұл жалғанкездейсоқ сандардың генераторының өзімен ғана қолданылатын ішкі функция. Генератордан тыс кез келген объект бұл функцияға доступы болмауы керек.
функция GenerateBlocks
вход: G Генератор күйі; осы функциямен өзгереді.
k Генерациялауға керекті блоктардың саны.
выход: r 16к байт ұзындықты жалғанкездейсоқ жол.
assert C ≠ 0
Бос жолдан бастаймыз.
r €
Оған керекті блоктар санын қосамыз.
for i = 1, … , k do
r r || E (K, C)
C C + 1
od
return r
