|
I. RC4 shifrlash algoritmi asosida ma’lumotlarni shifrlash va deshifrlash
|
bet | 2/7 | Sana | 04.01.2024 | Hajmi | 0,67 Mb. | | #129921 |
Bog'liq Individual loyiha II. RC4 shifrlash algoritmi asosida ma’lumotlarni shifrlash va deshifrlash
1.1 Shifrlash-Kriptografik haqida tushinsha
Shifrlash-Kriptografik uslublardan (shifrmatnga va dastlabki matnga oʻgirish, elektron raqamli imzoni shakllantirish va tekshirish, xesh-funksiya shakllantirish va tekshirish) foydalanishga asoslangan axborotni oʻzgartirish jarayoni. Axborotni shifrlash uni begonalar tomonidan oʻrganish yoki oʻzgartirish imkoniyatini yoʻqqa chiqaradi. Shuningdek, maʼlumotlarga va dasturlarga, ulardan noqonuniy foydalanish maqsadida, ruxsatsiz raqamli imzo tizimiga kirishning oldini olishni taʼminlaydi. Shifrlashning ikki usuli mavjud: simmetrik va asimmetrik.
Simmetrik shifrlashda, kodlash va kodni ochish uchun birgina kalitning oʻzidan foydalaniladi.
Asimmetrik shifrlashda ikkita kalitdan foydalaniladi. Ulardan biri (ochiq kalit) dastlabki matnni shifrmatnga oʻgirishni, ikkinchisi esa (yopiq kalit) dastlabki matnga oʻgirishni taʼminlaydi. Samaradorlikni yanada oshirish maqsadida simmetrik va asimmetrik shifrlash algoritmlari birgalikda ishlatiladi. Bu holatda simmetrik shifrlashdan maʼlumotlarni ochiq kanallar orqali uzatishda maʼlumotlarni shifrlashda, asimmetrik shifrlashdan esa simmetrik shifrlash algoritmlarining kalitlarini shifrlashda ishlatiladi. CryptoAPI yordamida simmetrik shifrlash sxemasini amalga oshirish Hozirgi kunda mavjud kriptografik shifrlash algoritmlarining asosida kriptografik kalit yotadi, shirlash algoritmlarining kriptobardoshliligi aynan shu kalitlarga bogʻliqdir. Shifrlash algoritmlari uchun kalitlarni generatsiya qilishning usullaridan biri bu parollardan (kalit soʻzdan) kriptografik kalit yaratishdir. Ushbu parol oʻzgaruvchan uzunlikda boʻladi va kriptografik kalitdan uzunligi kichik boʻladi. Lekin parol kalit yaratish uchun uncha yaxshi boʻlmagan material hisoblanadi, chunki foydalanuvchilar parol sifatida esda qoluvchi lugʻatlarda mavjud soʻzlardan koʻp foydalanadi, buni esa lugʻat yordamidagi hurujlardan osonlik bilan buzish mumkin. Odatda lugʻat yordamidagi hurujlar 105-106operatsiya yordamida amalga oshiriladi, shu sababli parollardan kalit yasash uzoq vaqt davom etishi kerak, bu vaqt hisoblash mashinalari uchun uzoq sanaladi, foydalanuvchilar uchun esa bilinmaydigan vaqtdir. Agar lugʻatdagi soʻzlar soni N ta, kalitnisaqlash vaqti T boʻlsa, u holdakalitdan parol yaratish uchun ketadigan vaqt t0quyidagi formula orqali hisoblanadi: t0= 2T/N Agar kalitni saqlash muddati oʻrtacha T = 7kun = 6,1 *105 sekund, lugʻat kattaligi N = 106ta boʻlsa paroldan kalit yaratish vaqti t0 = 1,2 sekunddan kam boʻlmasligi zarur. Agar xavfsizlikning yuqoribosqichi talab etilsa bunday hollarda parol tasodifiy ketma-ketliklardan tashkil topishi zarur. Bunday ketma-ketliklarni kriptoprovayderda CryptGenRandom()funksiyasi yordamida yoki boshqa tasodifiy sonlar datchigidan olish mumkin[23]. Parollar yordamida kalit yaratishning bir qancha shartlari mavjud: - parol ixtiyoriy uzunlikda berilishi mumkin, kalit esa fiksirlangan uzunlikda boʻladi; - bir-biriga oʻxshash va yaqin parollardan, bir-biriga oʻxshamagan va uzoq kalitlar yaratilishi kerak; - turli xil parollar yordamida bir xil kalitlar yaratilmasligi kerak; Bunday shartlar asosida kalit yaratishga xeshlash funksiyalarini ishlatish juda samarali hisoblanadi.Kalitlarning kriptobardoshliligini yanada oshirish maqsadida ushbu mexanizmga „asos“ vektori (salt) va iteratsiyalar sonini qoʻshish mumkin. „Asos“ vektori — tasodifiy ketma-ketlik boʻlib, parol bilan aralashtiriladi. „Asos“ vektorining qoʻllanilishi lugʻat hurujlarini qiyinlashtiradi, ushbu vektorning bugungi kunda tavfsiya etilgan uzunligi 8 bayt. Iteratsiyalar soni — bu paroldan kalit yaratish almashtirish funksiyasining qatnashishlar soni. Agar almashtirish funksiyasi sifatida xeshlash funksiyasi ishtirok etsa u holda xeshlash funksiyasi iteratsiyalar soniga teng miqdorda ishtirok etadi. Bugungi kunda iteratsiyalar soni 1000 tadan kam boʻlmasligi zarur. Bu holatda joʻnatuvchi va qabul qiluvchi parollarni oldindan kelishib olishlari zarur. Keltirilgan kalit yaratish mexanizmi orqali foydalanuvchilar quyidagi sxemada koʻrsatilgan kabi maʼlumot almashadi:
Himoyalangan kanal mavjud boʻlmagan holatda kalitlar asimmetrik shifrlash algoritmi yordamida shifrlab joʻnatiladi. Buning uchunxabar joʻnatuvchida qabul qiluvchining ochiq kaliti boʻlishi kerak, ushbu ochiq kalit yordamida shifrlash kaliti asimmetrik shifrlash usulida shifrlanadi va shifrlangan axborot bilan qoʻshib ochiq kanal orqali qabul qiluvchiga uzatiladi.Kalitlar sertifikatlarda yoki konteynerlarda saqlanadi. Shifrlash kalitini esa tasodifiy sonlar generatori orqali yaratiladi. Bu kalit ochiq holatda hech qaerda saqlanmaydi, ushbu kalit bilan bogʻliq barcha operatsiyalar kompyuter tezkor xotirasida amalga oshiriladi. Bunday kalitlar sessiya kaliti deb ham yoritiladi. Sessiya kaliti har bir yangi aloqa boshlanganda bir marta yaratiladi.
CryptoAPI yordamida asimmetrik shifrlash sxemasini amalga oshirish Asimmetrik shifrlash sxemalari ham simmetrik shifrlash sxemalari kabi amalga oshiriladi faqat kalitlarni tarqatish boshqa usulda amalga oshiriladi. Shifrlash amalga oshirilishidan oldin kalitlar juftligi yaratiladi hamda ochiq kalit yordamida sertifikat yaratiladi boshqa foydalanuvchilarga tarqatiladi. Boshqa foydalanuvchilar ushbu ochiq kalit yordamida maʼlumotlarni shifrlaydi ochiq kanal orqali uzatadi, qabul qilingan shifrlangan xabar ochiq kalitga mos yopiq kalit bilan deshifrlanadi.
Shifrlash mashhur so'zga aylandi. Biz har doim shifrlash oraqali bizni tinglash va kuzatuvdan qanday himoya qilishini eshitamiz. Ko'pgina Internet foydalanuvchilari ulanishni himoya qilish uchun shifrlangan ilovalar, elektron pochta, tezkor xabarlar yoki VPN-lardan foydalanadilar.
|
| |