Tоshkеnt aхbоrоt tехnоlоgiyalari univеrsitеti kriptografiya 2 fanidan Loyiha ishi Bajardi


Download 202.03 Kb.
bet4/5
Sana18.06.2023
Hajmi202.03 Kb.
#1564941
1   2   3   4   5
Bog'liq
loyiha ishi

Faraz qilaylik, q= 8191 va p= 8111 ikkita tub son va ochiq kalit e= 2047. Maxfiy kalitlarni hisoblang. Nima uchun ochiq kalitni tanlash e= 2048 ishlamayotganligini tushuntiring.

p=8111, q=8191 va e= 2047 bo’lgan holda d maxfiy kalit hisoblandi.


Ammo e=2048 bo’lganda biz d ni hisoblay olmaymiz. Chunki e ni tanlash shartini e=2048 qiymatida qanoatlantirmaydi. e ni tanlsh sharti quyidagicha:
=>

Ko’rinib turibdiki e ning 2048 qiymati shartni qanoatlantirmadi. Shuning uchun e qiymati sifatida 2048 sonini ololmaymiz.








Quyida e=2047 bo’lganda chiqadigan natijani ko’rishimiz mumkin:



Quyida esa e=2048 qiymatni olinganda chiqadigan natijani ko’rishingiz mumkin:





Yuqoridagi natijadan ko’rinib turibdiki, e=2048 qiymatida shartni qanoatlantirmaganli sababli e uchun ushbu qiymatni olish mumkin emasligi ko’rsatilgan.


Dasturning c++ tilidagi kodi:


#include
#include
#include
#include
using namespace std;
typedef struct {
int d;
int x;
int y;
} EE;
EE extended_euclid(int a, int b) {
EE ee1, ee2, ee3;
if (b == 0) {
ee1.d = a;
ee1.x = 1;
ee1.y = 0;
return ee1;
} else {
ee2 = extended_euclid(b, a % b);
ee3.d = ee2.d;
ee3.x = ee2.y;
ee3.y = ee2.x - floor(a / b) * ee2.y;
return ee3;
}
}
///////////////////////////////
int gcd(int fi, int e)
{
// Find Minimum of a and b

Download 202.03 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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