S. K. Ganiyev, M. M. Karimov, K. A. Tashev


n sonlari ishlatiladi. Listing



Download 7,8 Mb.
Pdf ko'rish
bet175/249
Sana11.06.2022
Hajmi7,8 Mb.
#655700
1   ...   171   172   173   174   175   176   177   178   ...   249
Bog'liq
3 G\'aniyev S K, Karimov M M, Tashiyev K V Axborot xavfsizligi 2017

n
sonlari ishlatiladi.
Listing
(S++ 
dasturlash tilida).
while(FLAG==l);
d = l;
do
{
s = (d*e)%phi;
d++;
}w h ile(s!-l);
d

d-1;
6-qadam.
Dastlabki axborotning fizik tabiatidan qat’iy nazar 
raqamli ikkili ko'rinishda ifodalanadi. Bitltfr ketma-ketligi 
L
bit 
uzunlikdagi bloklarga ajratiladi, bu Herda 
L-LAo%i(n+\)
shartini 
qanoatlantiruvchi eng kichik butun son. Har bir blok [0, 
n-
1] ora- 
liqqa taalluqli butun musbat son kabi ko‘riladi. Shunday qilib, dast­
labki axborot Д0» i=1,/ sonlaming ketma-ketligi orqali ifodalanadi. 
/ ning qiymati shifrlanuvchi ketma-ketlikning uzunligi orqali 
aniqlanadi.
7-qadam.
Shifrlangan axborot quyidagi formula bo‘yicha aniq- 
lanuvchi 
Y(i)
sonlaming ketma-ketligi ko‘rinishida olinadi:
Y(i) = ( X (f))e
 (mod и).
Listing (S++ dasturlash tilida).
262


{
inti;
С = 1;
for(i=0;i
C=C*M%n;
С

C%n;
printf("\n\tShifrlanganso
‘z: 
%d",C);
}
Axborotni rasshifrovka qilishda quyidagi munosabatdan foyda- 
laniladi:
X( i )
= (7(;))‘, (mod«).
Listing (S++ dasturlash tilida).
voiddecryptQ
{
inti;
M

1;
for(i=0;i
M=M*C%n;
M

M%n;
printf("\n\tDeshifrlanganso ‘z : %d",M);
}
DES shifrlash algoritmining dasturiy amalga oshirilishi.
DES standartida dastlabki axborot 64 bitli bloklarga ajratiladi 
va 56 yoki 64 bitli kalit yordamida kriptografik o‘zgartiriladi. 
Dastlabki axborot bloklari o‘rin almashtirish va shifrlash funksiyala- 
ri yordamida iteratsion ishlanadi. Shifrlash funksiyasini hisoblash 
uchun 64 bitli kalitdan 48 bitligini olish, 32 bitli kodni 48 bitli kod- 
ga kengaytirish, 6 bitli kodni 4 bitli kodga o‘zgartirish va 32 bitli 
ketma-ketlikning o‘mini almashtirish ko‘zda tutilgan.
Rasshifrovka jarayoni shifrlash jarayoniga invers bo‘lib, shifr- 
lashda ishlatiladigan kalit yordamida amalga oshiriladi.
263
voidencryptQ


Hozirda bu standart quyidagi ikkita sababga ko‘ra foydala- 
nishga butunlay yaroqsiz hisoblanadi:
• kalitning uzunligi 56 bitni tashkil etadi, bu shaxsiy kompyu- 
terlaming zamonaviy rivoji uchun juda kam;
• algoritm yaratilayotganida uning apparat usulda amalga 
oshirilishi ko‘zda tutilgan edi, ya’ni algoritmda mikroprotsessorlar- 
da bajarilishida ko‘p vaqt talab qiluvchi amallar bor edi (masalan, 
mashina so‘zida ma’lum sxema bo‘yicha bitlaming o‘mini almash- 
tirish kabi).
DES algoritmining dasturiy kodi:
• # include 
• # include 
• # include 
• # include 
• //Kalit kiritish j arayoni
• intkey[64]={
• 
0
,
0
,
0
,
1
,
0
,
0
,
1
,
1
,
• 0,0,1,1,0,1,0,0,
• 0,1,0,1,0,1,1,1,
• 0,1,1,1,1,0,0,1,
• 
1,0,0,1,1,0,
1
,
1
,
• 1,0,1,1,1,1,0,0,
• 1,1,0,1,1,1,1,1,
• 1,1,1,1,0,0,0,1
• };
• //Bloklarga ajratish jarayoni
• class Des
• {
• public:
• int keyi[16][48],
• total[64],
• left[32],
264


right[32],
ck[28],
dk[28],
expansion[48],
z[48],
xorl[48],
sub[32],
P[32], 
xor2[32], 
temp[64], 
pci [56], 
ip[64], 
inv[8][8]; 
char final[ 1000]; 
void IP();
void PermChoicel(); 
void PermChoice2(); 
void Expansion(); 
void inverse(); 
void xor_two(); 
void xoroneE(int); 
void xoroneD(int); 
void substitution(); 
void permutation(); 
void keygen(); 
char * Encrypt(char *); 
char * Decrypt(char *);
};
//Boshlang‘ich IP o‘zgartirish 
void Des::IP() //Initial Permutation
{
int k=58,i; 
for(i=0;i<32;i++)
265


• {
• ip[i]=total[k-l];
• if(k-8>0) k=k-8;
• else k=k+58;
• }
• k=57;
• for( i=32;i<64;i++)
• {
• ip[i]=total[k-l];
• if(k-8>0) k=k-8;
• else 
k=k+58;
• }
• }
• void Des: :PermChoice 1 () //Permutation Choice-1
• {
• intk=57,i;
• for(i=0;i<28;i++)
• {
• pcl[i]=key[k-l];
• if(k-8>0) k=k-8;
• else 
k=k+57;
• }
• k=63;
• for( i=28;i<52;i++)
• {
• pcl[i]=key[k-l];
• if(k-8>0) k=k-8;
• else 
k=k+55;
• }
• k=28;
• for(i=52;i<56;i++)
• {
• pcl[i]=key[k-l];
266


• к=к-8;
• }
• }
• void Des: :Expansion() //Expansion Function applied on 
'right' half
• {
• int exp[8][6],ij,k;
• for( i=0;i<8;i++)
• {
• for(j=0y<6y++)
• {
• if((j!=0)||(j!=5))
• {
• k=4*i+j;
• exp[i][j]=right[k-l];
• }
• if(j~ 0 )
• {
• k=4*i;
• exp[i][j]=right[k-l];
• }

Download 7,8 Mb.

Do'stlaringiz bilan baham:
1   ...   171   172   173   174   175   176   177   178   ...   249




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish