Toshkent axborot texnologiyalari universiteti ganiev salim karimovich karimov madjit malikovich tashev komil axmatovich axborot xavfsizligi
Download 5.01 Kb. Pdf ko'rish
|
61b762c5e6d666.07483815
ILOVALAR
1 - ilova RSA shifrlash algoritmining dasturiy amalga oshirilishi. Algoritm modul arifmetikasining darajaga ko‘tarish amalidan foydalanishga asoslangan. Algoritmni quyidagi qadamlar ketma-ketligi ko‘rinishida ifodalash mumkin. 1-qadam. Ikkita 200dan katta bo‘lgan tub son p va q tanlanadi. 2-qadam. Kalitning ochiq tashkil etuvchisi n hosil qilinadi n=p*q. 3-qadam. Quyidagi formula bo‘yicha Eyler funksiyasi hisoblanadi: f(p,q)=(p-1)(q-1). Listing (S++ dasturlash tilida). printf("Ikkitatubsonnikiriting\t: "); scanf("%d%d",&p,&q); n = p*q; phi=(p-1)*(q-1); printf("\n\tF(n)\t= %d",phi); do { printf("\n\nKiritishe\t: "); scanf("%d",&e); Eyler funksiyasi n bilan o‘zaro tub, 1 dan n gacha bo‘lgan butun musbat sonlar sonini ko‘rsatadi. O‘zaro tub sonlar deganda 1 dan boshqa birorta umumiy bo‘luvchisiga ega bo‘lmagan sonlar tushuniladi. 4-qadam.f(p,q) qiymati bilan o‘zaro tub bo‘lgan katta tub son d tanlab olinadi. 5-qadam. Quyidagi shartni qanoatlantiruvchi e soni aniqlanadi 274 d e =1(modf(p,q)). Bu shartga binoan d e ko‘paytmaning f(p,q) funksiyaga bo‘lishdan qolgan qoldiq 1ga teng. e soni ochiq kalitning ikkinchi tashkil etuvchisi sifatida qabul qilinadi. Maxfiy kalit sifatida d va n sonlari ishlatiladi. Listing (S++ dasturlash tilida). while(FLAG==1); d = 1; do { s = (d*e)%phi; d++; }while(s!=1); d = d-1; 6-qadam. Dastlabki axborotuning fizik tabiatidan qat’iy nazar raqamli ikkili ko‘rinishda ifodalanadi. Bitlar ketma-ketligi L bit uzunlikdagi bloklarga ajratiladi, bu erda L–L log 2 (n+1) shartini qanoatlantiruvchi eng kichik butun son. Har bir blok [0, n-1] oraliqka taalluqli butun musbat son kabi ko‘riladi. Shunday qilib, dastlabki axborot X(i), i= I , 1 sonlarning ketma-ketligi orqali ifodalanadi. I ning qiymati shifrlanuvchi ketma-ketlikning uzunligi orqali aniqlanadi. 7-qadam. Shifrlangan axborot quyidagi formula bo‘yicha aniqlanuvchi Y(i) sonlarning ketma-ketligi ko‘rinishida olinadi: ). (mod )) ( ( ) ( n i X i Y e Listing (S++ dasturlash tilida). voidencrypt() { inti; C = 1; for(i=0;i C=C*M%n; C = C%n; 275 printf("\n\tShifrlanganso’z: %d",C); } Axborotni rasshifrovka qilishda quyidagi munosabatdan foydalaniladi: ). (mod )) ( ( ) ( n i Y i X d Listing (S++ dasturlash tilida). voiddecrypt() { inti; M = 1; for(i=0;i M=M*C%n; M = M%n; printf("\n\tDeshifrlanganso’z : %d",M); } Download 5.01 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling