Mavzu: rc4 shifrlash algoritmi asosida ma'lumotlarni shifrlash va parolini hal qilish dasturini ishlab chiqish


Download 14.35 Kb.
Sana06.11.2023
Hajmi14.35 Kb.
#1752810
Bog'liq
7-amaliy


7-amaliy ish
Mavzu: RC4 shifrlash algoritmi asosida ma'lumotlarni shifrlash va parolini hal qilish dasturini ishlab chiqish
Ishning maqsadi: rc4 shifrlash algoritmining nazariy va amaliy bilimlari ko'nikma va ko'nikmalarni egallash.
Nazariy qism
Shifrlash – bu asl xabarni (ko'pincha oddiy matn deb ataladi) shifrlangan matnga-tasodifiy belgilar to'plami bilan ifodalanadigan qatorga aylantirish jarayoni. Shifrlangan xabarni faqat shifrlangan matnni qanday qilib asl holatiga keltirishni biladigan kishi o'qishi mumkin (ya'ni uni dekodlash).
RC4-bu kompyuter tarmoqlarida (masalan, SSL protokoli va Windows NT-da parollarni shifrlash uchun) turli xil ma'lumotlarni himoya qilish tizimlarida keng qo'llaniladigan oqim shifridir. Shifr RSA Security Inc tomonidan ishlab chiqilgan. va undan foydalanish uchun litsenziya talab qilinadi. Rc4 muallifi Ronald Rivestdir. RC Ron's Code yoki Rivest's Cipher degan ma'noni anglatadi. 1995 yilgacha rc4 dasturiy kodi hech qayerda nashr etilmagan.
Rc4 algoritmi har qanday oqim shifrlari singari kalit bilan parametrlangan psevdo tasodifiy bit generatori asosida bir tekis taqsimlangan holda qurilgan. Shifrlashning asosiy afzalliklari yuqori tezlik va o'zgaruvchan kalit o'lchamidir.
RC4-bu kompyuter tarmoqlarida (masalan, SSL protokoli va Windows NT-da parollarni shifrlash uchun) turli xil ma'lumotlarni himoya qilish tizimlarida keng qo'llaniladigan oqim shifridir. Shifr RSA Security Inc tomonidan ishlab chiqilgan. va undan foydalanish uchun litsenziya talab qilinadi. Rc4 muallifi Ronald Rivestdir. RC Ron's Code yoki Rivest's Cipher degan ma'noni anglatadi. 1995 yilgacha rc4 dasturiy kodi hech qayerda nashr etilmagan.
Rc4 algoritmi har qanday oqim shifrlari singari kalit bilan parametrlangan psevdo tasodifiy bit generatori asosida bir tekis taqsimlangan holda qurilgan. Shifrlashning asosiy afzalliklari yuqori tezlik va o'zgaruvchan kalit o'lchamidir.
7.1-rasm-RC4 asosiy oqim generatori
Algoritm yadrosi asosiy oqim hosil qilish funktsiyasidan iborat. Ushbu funktsiya bitlar ketma-ketligini hosil qiladi, so'ngra ikkita modulni yig'ish orqali oddiy matn bilan birlashtiriladi. Shifrni ochish ushbu asosiy oqimni qayta tiklash va uni manba matnini tiklash orqali ikkita modul shifrogramma bilan yig'ishdan iborat. Algoritmning yana bir asosiy qismi – bu kalit oqimi generatorining dastlabki holatini yaratish uchun o'zgaruvchan uzunlikdagi kalitdan foydalanadigan ishga tushirish funktsiyasi.
RC4 aslida uning blokining kattaligi bilan belgilanadigan algoritmlar sinfidir. Ushbu parametr n algoritm uchun so'z o'lchamidir. Odatda, n = 8, lekin tahlil qilish uchun uni kamaytirish mumkin. Biroq, xavfsizlikni oshirish uchun bu miqdorni oshirish kerak. Rc4 ning ichki holati 2n so'zli massiv va har biri bitta so'zli ikkita hisoblagichdan iborat. Massiv S-box deb nomlanadi va keyinchalik s deb belgilanadi, u har doim so'zning 2n mumkin bo'lgan ma'nolarini o'zgartirishni o'z ichiga oladi. Ikkita hisoblagich i va j orqali belgilanadi.
Rc4 ishga tushirish algoritmi quyida keltirilgan. Ushbu algoritm key-da saqlangan va uzunligi bo'lgan kalitdan foydalanadi l bayt. Ishga tushirish s qatorini to'ldirish bilan boshlanadi, keyin bu qator kalit bilan aniqlangan almashtirishlar bilan aralashtiriladi. S ustida faqat bitta harakat bajarilganligi sababli, s har doim kod so'zining barcha qiymatlarini o'z ichiga oladi degan bayonot bajarilishi kerak.
Massivni dastlabki to'ldirish:
for i = 0 to 2n − 1
S[i] = i
Skrambling:
j = 0
for i = 0 to 2n − 1
j=(j+S[i]+Key[imodl]) mod2n
O'zgartirish (S [i], S[j])
Rc4 kalit oqimi generatori s da saqlangan qiymatlarni o'zgartiradi va har safar natija sifatida s dan boshqa qiymatni tanlaydi. Bitta rc4 tsiklida bitta n-bitli k so'zi asosiy oqimdan aniqlanadi, keyinchalik shifrlangan matnni olish uchun manba matni bilan umumlashtiriladi.
Ishga tushirish:
i = 0
j = 0
Avlod tsikli:
i = (i + 1) mod 2n
j = (j + S[i]) mod 2n
O'zgartirish (S [i], S[j])
Natija: k = S[(S[i] + s[j]) mod 2n]
Jeneratörün dastlabki o'rnatilishi
j=0 S=(0, 1, 2, 3, 4, 5, 6, 7)
i=0; j=(0+0+0) mod8=0
S0↔S0 S=(0, 1, 2, 3, 4, 5, 6, 7)
i=1; j=(0+1+4) mod8=5
S5↔S1 S=(0, 5, 2, 3, 4, 1, 6, 7)
i=2; j=(5+2+0) mod8=7
S7↔S2 S=(0, 5, 7, 3, 4, 1, 6, 2)
i=3; j=(7+3+4) mod8=6
S6↔S3 S=(0, 5, 7, 6, 4, 1, 3, 2)
i=4; j=(6+4+0) mod8=2
S2↔S4 S=(0, 5, 4, 6, 7, 1, 3, 2)
i=5; j=(2+1+4) mod8=7
S7↔S5 S=(0, 5, 4, 6, 7, 2, 3, 1)
i=6; j=(7+3+0) mod8=2
S2↔S6 S=(0, 5, 3, 6, 7, 2, 4, 1)
i=7; j=(2+1+4) mod8=7
S7↔S7 S=(0, 5, 3, 6, 7, 2, 4, 1)
Psevdo tasodifiy ketma-ketlikning tasodifiy sonlarini ishlab chiqish
i=1; j=(0+5) mod8=5
S5↔S1 S=(0, 2, 3, 6, 7, 5, 4, 1) t=(5+2) mod8=1 z=2
i=2; j=(5+3) mod8=0
S0↔S2 S=(3, 2, 0, 6, 7, 5, 4, 1) t=(0+3) mod8=3 z=6
i=3; j=(0+6) mod8=6
S6↔S3 S=(3, 2, 0, 4, 7, 5, 6, 1) t=(6+4) mod8=2 z=0
i=4; j=(6+7) mod8=5
S5↔S4 S=(3, 2, 0, 4, 5, 7, 6, 1) t=(7+5) mod8=4 z=5
i=5; j=(5+7) mod8=4
S4↔S5 S=(3, 2, 0, 4, 7, 5, 6, 1) t=(5+7) mod8=4 z=7
i=6; j=(4+6) mod8=2
S2↔S6 S=(3, 2, 6, 4, 7, 5, 0, 1) t=(0+6) mod8=6 z=0
i=7; j=(2+1) mod8=3
S3↔S7 S=(3, 2, 6, 1, 7, 5, 0, 4) t=(4+1) mod8=5 z=5

z = (2, 6, 0, 5, 7, 0, 5)


Ikkilik kodda:
z = (010 110 000 101 111 000 101)
Xavfsizlik masalalari
1. Nosimmetrik oqim algoritmlarining umumiy tasnifi.
2. Oqim shifrlash algoritmlarining bir qismi bo'lgan algoritmlarmi?
Download 14.35 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling