FOYDALANILGAN ADABIYOTLAR
1. Ўзбекистон Республикасининг: «Кадрлар тайёрлаш миллий дастури тўғрисида»ги
Қонуни. Т., 1997.
2. Ўзбекистан Республикаси қонуни. «Ахборотлаштириш тўғрисида»// «Халқ сўзи», 11
февраль 2004 й.
3. С.К. Ғаниев, М.М. Каримов, К.А. Ташев Ахборот хавфсизлиги. “ALOQACHI” –
2008.-381 бет.
4. Л.К.Бабенко, Е.А.Мишустина «Криптографические методы и средства обеспечения».
Таганрог: Изд-во ТРТУ, 2003.66 с.
7-LABORATORIYA MASHG’ULOT MAVZU: Ma’lumotlami shifrlashning assimetrik
algoritmlari
Ish maqsadi
1. Kriptografik metodlarni klassifikasiyasini o’rganish;
2. RSA kriptosistemasini tadqiq etish;
3. Ushbu shifrlash tizimining afzalliklari va kamchiliklarini baholash.
Qisqa nazariy ma’lumotlar
1. P va Q tanlash
179
P va Q sonlarni tanlovidan shifrning kriptobardoshligi bog’liq bo’ladi. Ular katta tub sonlar bo’lishi
kerak. Amaliyotda 100 o’nli xonalardan kam bo’lmagan P va Q sonlar ishlatiladi (laboratoriya ishi
doirasida kichik uzunlikdagi sonlardan foydalanish mumkin). Agarda bu sonlar tub bo’lmasa, unda
shifrlash va deshifrlash ishlamaydi. P va Q sonlar yaqin bo’lmasligi kerak, chunki aks holda N
faktorizasiyalash uchun Ferma metodidan foydalanib
- N =
tenglamani yechish mumkin. P-1, P+1, Q-1, Q+1 sonlar kichkina tub ko’paytuvchilarga ajralmasligi
lozim, bunda kamida bitta katta ko’paytuvchini o’z ichiga olishi kerak. P-1 va Q-1 sonlarning eng
katta umumiy bo’luvchisi uncha katta bo’lmasligi kerak. Blekli va Borosh taklifiga ko’ra P va Q
shunday tanlab olish lozimki, P
1
=
va Q
1
=
ham tub sonlar bo’lsin. 1978 yilda
Rivest eng kuchli talablarni shakllantirdi. Chisla P
1
=
, P
2
=
, Q
1
=
,
Q
2
=
sonlar tub bo’lishlari lozim, bunda P
1
-1 va Q
1
-1 kichikina tub sonlar ko’paytmasiga
ajralmasligi lozim.
2. E va D tanlash
E va D qiymatlari shifrlash va deshifrlaщ vaqtini aniqlaydi. Ko’pincha E qiymati sifatida 3, 17 yoki
65537 (ushbu sonning ikkilik sistemadagi ifodasi faqatgina ikkita birni o’z ichiga oladi, shu sababli
darajaga ko’tarish uchun atigi 17 ko’paytirish mamalini bajarish kerak xolos ) tanlashadi. E qiymati
sifatida yuqorida keltirilgan sonlarning ixtiyoriy birini tanlash, hattoki E ning bitta qiymati
foydalanuvchilarning bir guruhi tomonidan ishlatilsa ham kriptobardoshlikka ta’sir ko’rsatmaydi.
Deshifrlash eksponentasini odatda unchalik katta bo’lmagan sonni (10000 atrofida). Ammo lekin E
yoki D kichik qilib tanlab olish xavfli bo’lishi mumkin. Agarda D juda kichkina bo’lsa, unda
«perebor» usulini qo’llab D izlanayotgan qiymatini hosil qilish mumkin.
3. RSA qo’llash variantlari
Kriptosistema RSA kriptosistemasini shifrlash va kalitlarni taqsimlashda, hamda raqamli imzo
uchun ishlatish mumkin.
1. Uzatiladigan va saqlanadigan berilganlarni himoyalashning mustaqil vositasi sifatida, ya’ni
shifrlash va deщifrlash algoritmi sifatida yuboruvchi xabarni qabul qiluvchining ochiq kaliti
yordamida shifrlaydi.
2. Kalitlarni taqsimlash vositasi sifatida. RSA algoritmi berilganlarni shifrlash uchun zarur
bo’ladigan ochiq kalitini ochiq aloqa kanali bilan hyech qanday qo’shimcha himoya vositasisiz
uzatishi mumkin.
3. Foydalanuvchilarni autentifikasiyalash vositasi. Raqamli imzo sifatida yuboruvchi o’zining
maxfiy kaliti yordamida xabarga «imzo qo’yadi». Imzo xabarga yoki unchalik katta bo’lmagan
berilganlarning blokiga kriptografik algoritmni qo’llash natijasida hosil bo’ladi va u xabarning xesh
funksiyasidan iboratdir.
4. RSA tezligi
Maxfiy kalitli kriptografik tizimlarga nisbatan barcha afzalliklarga ega bo’lishiga qaramay, RSA
algoritmi baribir DES olgoritmina nisbatan ancha sekin ishlaydi. Aytish joizki, RSA algoritmining
dasturiy versiyalari apparat versiyalariga ko’ra ancha sekin ishlaydi. Tijorat maqsadlarida
ishlatiladigan RSA shifrlash algoritmining eng tez ishlaydigan dasturiy realizasiyasi 20 Kbit/s
(modul uzunligi 1024 bitdan iboart bo’lganda) tezlik bilan shifrlaydi va 40 Kbit/s (modul uzunligi
512 bitdan iboart bo’lganda) tezlik bilan shifrlaydi. BSAFE 3.0 (RSA D.S.) kriptografik paket
Pentium-90 kompyuterida shifrlashni 512-bitli kalit uchun 21,6 Kbit/s tezlik bilan va 1024-bitli kalit
uchun 7,4 Kbit/s tezlik bilan amalga oshiradi.
RSA algoritmining apparat realizasiyasi DES algoritmining apparat realizasiyasidan taxminan 1000
barobar sekin ishlaydi. 512-bitli kalit uchun RSA algoritmining eng tez ishlaydigan apparat
realizasiyasi 64 Kbit/s tezlik bilan shifrlaydi. RSA algoritmi bo’yicha 1024–bitli shifrlashni amalga
oshiruvchi mikrosxemalar ham mavjud. Hozirgi paytda 512 bitli modullardan foydalanib 1 Mbit/s
tezlikda shifrlaydigan mikrosxemalar ishlab chiqilayapti.
DES algoritmi RSA algoritmiga nisbatan 100 marotaba tezroq ishlaydi. Bu sonlar, texnologiyalar
o’zgarganda, juda kam o’zgaradi, ammo RSA algoritmining tezligi hyech qachon simmetrik
algoritmlarining tezligiga erisholmaydi.
180
RSA tezligi modullarning har xil uzunligi uchun 8-bitli ochiq kalitda (SPARC II -da) 1 jadvalda
keltirilgan.
1 jadval
512 bit
768 bit
1024 bit
Shifrlash
0,03 s
0,05 s
0,08 s
Deshifrlash
0,16 s
0,48 s
0,93 s
Imzo
0,16 s
0,52 s
0,97 s
Tekshirish
0,02 s
0,07 s
0,08 s
5. RSA bardoshligi
RSA xavfsizligi batamom katta sonlarni ko’paytuvchilarga ajratish muammosiga bog’liq. Yopiq
kalitni ochishning eng ayon bo’lgan vositasi N sonni ko’paytuvchilarga ajratishdir. Har qanday
dushman (N, E) ochiq kalitni olishi mumkin. D deshifrlash kalitini topish uchun, dushman N sonni
ko’paytuvchilarga ajratishi lozim. Ko’paytuvchilarga ajratish vositalarining hozirgi ahvoli shundan
iboratki, 2005 yilda 193 o’nli xonalardan iborat son ko’paytuvchilarga ajratilgan. Shu sababli
uzunligi 200 o’nli sonlardan ko’p bo’lgan N sonini tanlash tavsiya etiladi. RSA algoritmini
amaliyotda qo’llash uchun har xil uzunlikka ega bo’lgan sonlarni ko’paytuvchilarga ajratish
qiyinligini baholashni bilish foydalidir.
2 jadval
lo g
10 n
Amallar soni
Izoh
50
1.4*10
10
Superkompyuterlarda ajratiladi
100
2.3*10
15
Zamonaviy texnologiyalar doirasida
200
1.2*10
23
Zamonaviy texnologiyalar doirasidan tashqarida
400
2.7*10
34
Texnologiyani keskin o’zgarishini talab qiladi
800
1.3*10
51
Ajratib bilmaymiz
Sami avtorы RSA mualliflarining o’zlari N modulining qo’yidagi uzunliklarini tavsiya beradi:
– jismoniy shaxslar uchun;
– tijorat axborotlari uchun;
– muhim maxfiy axborotlar uchun.
6. RSA algoritmiga hujum
Eng ayon bo’lgan ochish vositasi, masalan ko’paytuvchilarga ajratishning ehtimollik usullaridan
foydalanib N ko’paytuvchilarga ajratishdan iborat. Bundan tashqari, kriptoanalitik mumkin bo’lgan
barcha D (to uning to’g’ri qiymatini topmaguncha) bitta-bitta saralab ko’radi. Bunday kuch bilan
qo’pol ochish hattoki N ko’paytuvchilarga ajratishga urinishdan ko’ra kamroq samara beradi.
Vaqt-vaqti bilan RSA ochishni oddiy usuli topilgani to’g’risida xabarlar paydo bo’ladi, ammo
hanuzgacha bunga o’xshagan xabarlar tasdiqlanmadi. Masalan 1993 yilda Vilyama Peyna qoralama
maqolasida Fermaning kichik teoremasiga asoslangan metod taklif qilindi. Ammo bu metod
ko’paytuvchilarga ajratishdan sekinroq ekanligi ma’lum bo’ldi. Ba’zi ochilishlar RSA
realizasiyasiga qarshi ishlaydi. Ular tayanch algoritmini o’zini emas, balki uni ustiga qurilgan
protokolni ochadi. Shuni anglash lozimki RSA ishlatish o’z-o’zidan xavfsizlikni ta’minlamaydi,
hamma narsa uni qanday realizasiya qilishga bog’liqdir..
7. Shifrlash va deshifrlashning kichik ko’rsatkichlarini ochish
RSA bo’yicha shifrlash tezroq ishlaydi, agarda E uchun unchalik katta bo’lmagan qiymat olinsa,
ammo bu xavfsiz bo’lmasligi mumkin. Agarda E*(E+1)/2 chiziqli bog’liq bo’lgan xabarlar har xil
bo’lgan ochiq kalitlar va bir xil bo’lgan E qiymati bilan shifrlansa, unda bunday sistemani ochish
usuli mavjud. Agarda xabarlar unchalik ko’p bo’lmasa, yoki xabarlar bog’lanmagan bo’lsa, unda
hyech qanday muammo yo’q. Agarda xabarlar bir xil bo’lsa, unda E xabarlar yetarli bo’ladi.
Misol: Uchta foydalanuvchi har xil N
1
, N
2
, N
3
modullar va umumiy E = 3 shifrlash eksponentasidan
foydalanadi. Agarda bu foydalanuvchilar bitta x xabarni o’zini shifrlasalar, unda bu holatda dastlabki
matnni ochishning qo’yidagi usuli mavjud. Kriptoanalitik bu holatda uchta shifrlangan matniga ega
bo’ladi: y
i
= x
3
(mod N
i
), i = 1, 2, 3. So’ngra u 0 1
*N
2
*N
3
, intervalda yotgan qiymatni aniqlashi
mumkin, shu maqsadda u qator qiymatlarni hisoblaydi:
m
1
= N
2
*N
3
, m
2
= N
1
*N
3
, m
3
= N
1
*N
2
, n
i
=
mod N
i
, i = 1, 2, 3.
M
0
= N
1
*N
2
*N
3
, y = S(mod M
0
).
181
Bunda y = x
3
. Shu sababli kubik ildizni hisoblab dastlabki xabarni topish mumkin. Yaxshisi xabarni
bir-biriga bog’liq bo’lmagan qo’shimcha tasodifiy sonlar bilan to’ldirish lozim. Bu esa M
E
mod N
M
E
ekanligini kafolatlaydi. RSA algoritmining aksariyat amaliy realizasiyalarida (masalan PEM va
PGP) aynan shunday yo’l tutishadi.
Maykl Viner tomonidan taklif etilgan ochishning boshqa usulida D ochiladi, bu yerda D soni N-ning
o’lchovini chorak qismidan oshmaydi, E esa N-dan kichik. E va D sonlar tasodifiy tanlanganda bu
hodisa juda kam uchraydi va hyech qachon sodir bo’lmaydi, agarda E qiymati kichik bo’lsa. Agarda
D-ning qiymati kichik bo’lsa, uni oddiy perebor usuli yordamida topish mumkin.
8. RSA umumiy modulini ochish
Agarda ikkita foydalanuvchi bir xil N modulga va har xil E, D shifrlash va deshifrlash kalitlariga
ega bo’lsa, unda bu holda dastlabki xabarni ochib olish mumkin. Agarda aynan bir xabarni
darajaning har xil ko’rsatkichlari (bir xil modul bilan) bilan shifrlansa va bu ikkala ko’rstakich o’zaro
tub sonlar bo’lsa, unda dastlabki matnini hatto deshifrlashni kalitlarini birortasini ham bilmasdan
turib oson ochish mumkin.
Misol: Faraz qilamiz M – xabarning ochiq matni bo’lsin. E
1
va E
2
- shifrlashning ikkita kaliti bo’lsin.
N-umumiy modul. Xabarning shifrmatnlari qo’yidagilar bo’ladi:
C
1
= M
mod N, C
2
=M
mod N.
Kriptoanalitik N, E
1
, E
2
, C
1
, C
2
biladi. M – qo’yidagicha topish mumkin. E
1
va E
2
– o’zaro tub sonlar
bo’lganligi sababli Evklidning kengaytirilgan algoritmi yordamida r*E
1
+ s*E
2
= 1shartni
qanoatlantiruvchi r va s qiymatlarini topish mumkin. r manfiy deb olib (yoki r, yoki s manfiy bo’lishi
lozim), unda yana Evklidning kengaytirilgan algoritmi yordamida
hisoblash mumkin. So’ngra
qo’yidagi qiymat hisoblanadi:
*
= M mod N.
Shu tipdagi sistemalarni yanada nozikroq ikkita ochish usuli mavjud ikkita. Ulardan bittasi N sonin
ko’paytuvchilarga ajratishning ehtimollik metodidan foydalanadi. Boshqasi – modulni
ko’paytuvchilarga ajratmasdan maxfiy kalitni hisoblash algoritmidan foydalanadi.
9. Takroriy shifrlash orqali hujum
Faraz qilamiz kriptoanalitik foydalanuvchining (N, E) ochiq kaliti orqali shifrlangan C xabarni
ushlab oldi. Dastlabki xabar M –ni o’qib olish uchun qo’yidagi amallar bajariladi.
Avval birinchi N –dan kichik bo’lgan r tasodifiy son tanlab olinadi. So’ngra qo’yidagilar
hisoblanadi:
x = r
E
mod N, y = x*C mod N, t = r
-1
mod N.
Agar x = r
E
mod N bo’lsa, unda r = x
D
mod N bo’ladi.
Endi kriptoanalitik foydalanuvchidan y xabarni shifrlashini so’raydi. Foydalanuvchi y xabarni
o’zining yopiq kaliti yordamida shifrlaydi va uni kriptoanalitikga yuboradi:
u = y
D
mod N.
Endi kriptoanalitik qo’yidagilarni hisoblaydi:
t*u mod N = r
-1
*y
D
mod N = r
-1
*x
D
*C
D
mod N = C
D
mod N = M.
Shu tarzda kriptoanalitik dastlabki xabarni oladi.
10. RSA-ga qo’yilgan talablar
Djudit Mur yuqorida sanab o’tilgan ochishlarga asoslanib RSA-ga qo’yilgan qo’yidagi chegaralarni
keltiradi:
berilgan modul uchun shifrlash/deshifrlashning bir juft ko’rsatkichlarini bilish sindiruvchiga
modulni ko’paytuvchilarga ajratishga imkon beradi;
berilgan modul uchun shifrlash/deshifrlashning bir juft ko’rsatkichlarini bilish sindiruvchiga
modulni ko’paytuvchilarga ajratmasdan boshqa juft ko’rsatkichlarni hisoblashga imkon beradi;
RSA-ni ishlatadigan aloqa tarmoqlari protokollarida umumiy modul ishlatilmasligi lozim;
kichik shifrlash ko’rsatkichini ochish oldini olish uchun xabarni tasodifiy qiymatlarni qo’shib
to’ldirish lozim;
deshifrlash ko’rsatkichi katta bo’lishi lozim.
Kriptosistema parametrlarini tanlash juda muhim masaladir va ushbu parametrlarning samaradorligi
butkul kriptografik sistemani kriptobardoshligiga keskin ta’sir ko’rsatadi.
Do'stlaringiz bilan baham: |