Amaliy ish Ishdan maqsad: Chiziqli teskari aloqali registrlarni ishlashi haqida bilim ko‘nikmalarga EGA bo‘lish. Abduqosimov Shoxzamon #10001 00000 00101 01000 10000 01110 10101 10001 00000 00101 01000 10000 0111




Download 2,29 Mb.
bet1/3
Sana09.07.2024
Hajmi2,29 Mb.
#267172
  1   2   3
Bog'liq
Shoxzamon


Muhammad al - Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti

Kiberxavfsizlik fakulteti talabasi Abduqosimov Shoxzamon

Amaliy ishi


Topshiriq
Ko‘phadlar ustida qo‘shish, ko‘paytirish, bo‘lish amallari bajarilsin:


1011101011

110101

1 0 1 1 1 0 1 0 1 1 =




1 1 0 1 0 1=


1-ish : Qo’shish




Javob:


2-ish : Ko’paytirish





ushbu ko’p hadga bo’linadi
3-ish : Bo’lish



Javob:





Amaliy ish
Ishdan maqsad: Chiziqli teskari aloqali registrlarni ishlashi haqida bilim ko‘nikmalarga ega bo‘lish.
Abduqosimov Shoxzamon
Abduqosimov Shoxzamon #10001 00000 00101 01000 10000 01110 10101 10001 00000 00101 01000 10000 0111
1* X=01110 00011 01000 010119 bit;
Y=1 01110 10101 01110 00011 0 22 bit;
Z=1000 01011 01110 10101 1101 23 bit;
Majority m =maj(x8,y10,z10)=(1,1,1)=1;
1)X8=1 m ga teng o’zgaradi;
2) Y10=1 m ga teng o’zgaradi;
3)Z10=1m ga teng o’zgarmaydi:
tx=x13x16x17x18=0100=0;

ty=y20y21­=01=1;


t(z)=1
KALIT- K=x18y21z22=101=0 K1=0;
2* X=0 01110 00011 01000 01019 bit;
Y=11 01110 10101 01110 00011  22 bit;
Z=1 1000 01011 01110 10101 110 23 bit;
Majority m =maj(x8,y10,z10)=(0,0,0)=0;
1)X8=0 m ga teng o’zgarmaydi;
2) Y10=0 m ga teng o’zgaradi;
3)Z10=0m ga teng o’zgaradi:
ty=y20y21­=11=0;
tz=z7z20z21z22=0101=0;
t(x)=1
KALIT- K=x18y21z22=010=1 K2=1;
3* * X=10 01110 00011 01000 0119 bit;
Y=011 01110 10101 01110 0001  22 bit;
Z=01 1000 01011 01110 10101 11 23 bit;
Majority m =maj(x8,y10,z10)=(0,1,1)=1;
1)X8=0 m ga teng ozgarmaydi;
2) Y10=1 m ga teng o’zgaradi;
3)Z10=1m ga teng o’zgaradi;


t(y)=1
t(z)=0

tz=z7z20z21z22=101=0;
KALIT- K=x18y21z22=001=1 K3=1;
4* * X=1001 1100 0011 0100 00119 bit;
Y=1011 0111 0 1 0101 01110 000  22 bit;
Z=0011 0000 1011 0111 0101 011 23 bit;
Majority m =maj(x8,y10,z10)=(0,1,0)=0;
1)X8=0 m ga teng o’zgaradi;
2) Y10=1 m ga teng o’zgarmaydi;
3)Z10=0m ga teng o’zgaradi:
tx=x13x16x17x18=0000=0;
tz=z7z20z21z22=0011=0;
KALIT- K=x18y21z22=101=0 K4=0;
5* X=0 1001 1100 0011 0100 0019 bit;
Y=1011 0111 0 1 0101 01110 000  22 bit;
Z=0 0011 0000 1011 0111 0101 01 23 bit;
Majority m =maj(x8,y10,z10)=(0,0,0)=0;
1)X8=0 m ga teng o’zgaradi;
2) Y10=1 m ga teng o’zgaradi;
3)Z10=0m ga teng o’zgaradi:
tx=x13x16x17x18=0000=0;
tz=z7z20z21z22=0010=1;
t(y)= 00=0
KALIT- K=x18y21z22=001=1 K5=1;
A = 01110 bo’lsa
01101+01110 = 00011 = D
RSA bo’yicha O harfini va D harfini shifrlaymiz.

#include


#include
#include
#include
using namespace std;

int x, y, n, t, i, flag;


long int e[50], d[50], temp[50], j;
char en[50], m[50];
char msg[100];
int asal(long int);
void shifrlash();
long int ekuk(long int);
void shifr();
void deshifr();

int main()


{
cout << "\nBIRINCHI ASAL SONNI KIRITING \nP = ";
cin >> x;
flag = asal(x);
if(flag == 0)
{
cout << "\nNOTO'G'RI KIRITISH\n";
exit(0);
}

cout << "\nIKKINCHI SONNI KIRITING\n Q = ";


cin >> y;

flag = asal(y);


if(flag == 0 || x == y)
{
cout << "\nNOTO'G'RI KIRITISH\n";
exit(0);
}

cout << "\nSHIFRLENISH UCHUN XABAR YOKI MATNNI KIRITING\n";


cin >> msg;

for(i = 0; msg[i] != NULL; i++)


m[i] = msg[i];
n = x * y;
t = (x - 1) * (y - 1);

shifrlash();


cout << "\nMUMKIN BO'LGAN e VA d QIYMATLARI\n";

for(i = 0; i < j - 1; i++)


cout << "\n" << e[i] << "\t" << d[i];

shifr();
deshifr();


return 0;
}

int asal(long int pr)


{
int i;
j = sqrt(pr);
for(i = 2; i <= j; i++)
{
if(pr % i == 0)
return 0;
}
return 1;
}
void shifrlash()
{
int k;
k = 0;
for(i = 2; i < t; i++)
{
if(t % i == 0)
continue;
flag = asal(i);
if(flag == 1 && i != x && i != y)
{
e[k] = i;
flag = ekuk(e[k]);
if(flag > 0)
{
d[k] = flag;
k++;
}
if(k == 99)
break;
}
}
}

long int ekuk(long int a)


{
long int k = 1;
while(1)
{
k = k + t;
if(k % a == 0)
return(k/a);
}
}
void shifr()
{
long int pt, ct, key = e[0], k, len;
i = 0;
len = strlen(msg);

while(i != len)


{
pt = m[i];
pt = pt - 96;
k = 1;
for(j = 0; j < key; j++)
{
k = k * pt;
k = k % n;
}
temp[i] = k;
ct= k + 96;
en[i] = ct;
i++;
}
en[i] = -1;
cout << "\n\nSHIFRLENGAN XABAR\n";
for(i=0; en[i] != -1; i++)
cout << en[i];
}
void deshifr()
{
long int pt, ct, key = d[0], k;
i = 0;
while(en[i] != -1)
{
ct = temp[i];
k = 1;
for(j = 0; j < key; j++)
{
k = k * ct;
k = k % n;
}
pt = k + 96;
m[i] = pt;
i++;
}
m[i] = -1;
cout << "\n\nDESHIFRLENGAN XABAR\n";
for(i = 0; m[i] != -1; i++)
cout << m[i];

cout << endl;


}



p=3 , q=7
e=5 d=5
e=11 d=11
A harfini shifrlanishi ---->>>> [
SH harfini shifrlanishi ---->>>> Y
OCHIQ KALITLI KRIPTOLIZMLAR. RSA ALGORITM
T0= Abduqosimov

  1. p=3 va q=11

2)n=p*q=3*11=33
3)f(n)=(p-1)(q-1)=2*10=20
4) e soni ixtiyoriy va f(n) bilan tub bo’lishi kerak!
e=7;
5) e*d (mod(f(n))=1;
7*d(mod20)=1
d=3
{e,n} =barchaga ochiq kalit hisoblanadi.
d---->> esa maxfiy kalit ya’ni deshifrlash uchun ishlatiladi.

A

B

D

U

Q

O

S

I

M

O

V

15

4

9

12

15













22




SHIFRLASH FORMULASI f(x)=pow(x,e)(modn)


x=15 sh1=pow(15,7)(mod33)=27
x=4 sh2=pow(4,7)(mod33)=16
x=9 sh3=pow(9,7)(mod33)=15
x=12 sh4=pow(12,7)(mod33)=12
x=15 sh5=pow(15,7)(mod33)=27
x=22 sh6=pow(22,7)(mod33)=22

27

16

15

12

27

22

!

Q

P

M

!

W



DESHIFRLAYMIZ
y=27 D1=pow(27,3)mod(33)=15
y=16 D1=pow(16,3)mod(33)=4
y=15 D1=pow(15,3)mod(33)=9
y=12 D1=pow(12,3)mod(33)=12
y=27 D1=pow(27,3)mod(33)=15
y=22 D1=pow(22,3)mod(33)=22

15

4

9

12

15

22



NATIJA :

A

B

D

U

Q

O

S

I

M

O

V



A 5/1 MA’LUMOTNI SHIFRLASH ALGORITMI
T0= Abduqosimov
Abduqosimov#


amaliy ish

Ishdan maqsad: Psevdotasodifiy sonlar generatorlar haqida bilim ko‘nikmalarga ega bo‘lish.



X1=(7*X03+7*X02+7*X0+5)mod29;


X0=boshlang’ich son X0=2;
X1=103mod29=16(10) = 10000
X2==(7*X13+7*X12+7*X1+5)mod29;
X2= 15=1111
X3=14=1110
Bunda psevdotasodifiy generatsiyada faqat 10000 1111 1110 11101 11100……. lardan tashkil topgan bo’ladi.
Dastur kodi faqat alfavitda RC4 96 talik olingan
#include
#include


class RC4 {
private:
std::vector S;
int i;
int j;


public:
RC4(std::vector key) {
S.resize(256);
for (int i = 0; i < 256; ++i) {
S[i] = i;
}


j = 0;


for (int i = 0; i < 256; ++i) {
j = (j + S[i] + key[i % key.size()]) % 256;
std::swap(S[i], S[j]);
}


i = j = 0;
}


int generateByte() {
i = (i + 1) % 256;
j = (j + S[i]) % 256;
std::swap(S[i], S[j]);
return S[(S[i] + S[j]) % 256];
}


std::vector encrypt(std::vector plaintext) {
std::vector ciphertext;
for (int byte : plaintext) {
int keystreamByte = generateByte();
ciphertext.push_back(byte ^ keystreamByte);
}
return ciphertext;
}


std::vector decrypt(std::vector ciphertext) {
return encrypt(ciphertext);
}
};


int main() {
std::vector key = {0x2B, 0x2B, 0x3C, 0x4D, 0x5E};
std::vector plaintext = {0x61, 0x62, 0x63, 0x64, 0x65};


RC4 rc4(key);
std::vector ciphertext = rc4.encrypt(plaintext);
std::vector decryptedText = rc4.decrypt(ciphertext);


std::cout << "Original Plaintext: ";
for (int byte : plaintext) {
std::cout << std::hex << byte << " ";
}
std::cout << std::endl;


std::cout << "Encrypted Ciphertext: ";
for (int byte : ciphertext) {
std::cout << std::hex << byte << " ";
}
std::cout << std::endl;


std::cout << "Decrypted Plaintext: ";
for (int byte : decryptedText) {
std::cout << std::hex << byte << " ";
}
std::cout << std::endl;


return 0;
}
amaliy ish
Ishdan maqsad: A5/1 shifrlash algoritmi yordamida ma’lumotlarni shifrlash jarayonini amalga oshirish bo’yicha nazariy va amaliy ko’nikmalarga ega bo’lish.
Abduqosimov Shoxzamon#10001 00000 00101 01000 10000 01110 10101 10001 00000 00101 01000 10000 0111
1* X=01110 00011 01000 010119 bit;
Y=1 01110 10101 01110 00011 0 22 bit;
Z=1000 01011 01110 10101 1101 23 bit;
Majority m =maj(x8,y10,z10)=(1,1,1)=1;
1)X8=1 m ga teng o’zgaradi;
2) Y10=1 m ga teng o’zgaradi;
3)Z10=1m ga teng o’zgarmaydi:
tx=x13x16x17x18=0100=0;

ty=y20y21­=01=1;


t(z)=1
KALIT- K=x18y21z22=101=0 K1=0;
2* X=0

Download 2,29 Mb.
  1   2   3




Download 2,29 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Amaliy ish Ishdan maqsad: Chiziqli teskari aloqali registrlarni ishlashi haqida bilim ko‘nikmalarga EGA bo‘lish. Abduqosimov Shoxzamon #10001 00000 00101 01000 10000 01110 10101 10001 00000 00101 01000 10000 0111

Download 2,29 Mb.