Axborotni himoyalashning kriptografik usullari fanidan 1 amaliy mashg‘uloti Affin Sezar shifrlash algoritmi va uning dasturi Affin kriptotizimlari


Download 274.84 Kb.
bet4/4
Sana12.03.2023
Hajmi274.84 Kb.
#1263948
1   2   3   4
Bog'liq
Narimonoov 1 amaliy topshiriq

Vijiner jadvali



Yuqoridagi ifodadan ma’lumki Vijiner jadvali orqali shifrlashda matnning (axborotning) har bir harfiga mos keluvchi kalitning har bir harfi orqali ularning ustun va satrlari kesishmasiga mos keluvchi harflar olinadi. Agar o’zbek – kiril alfaviti ishlatilsa, Vijiner matritsasi [36x36] o’lchamga ega bo’ladi. Masalan, Agar kalit sifatida so’zi tanlangan bo’lsa, shifrlash matritsasi beshta qatordan iborat bo’ladi.


ABVGDEYoJZIYKLMNOPRSTUFXTSCHSH’EYuYaO’QG’H_ KLMNOPRSTUFXTSCHSH’EYuYaO’QG’H_ABVGDEYoJZIY O’QG’H_ABVGDEYoJZIYKLMNOPRSTUFXTSCHSH’EYuYa ZIYKLMNOPRSTUFXTSCHSH’EYuYaO’QG’H_ABVGDEYoJ ABVGDEYoJZIYKLMNOPRSTUFXTSCHSH’EYuYaO’QG’H_


Misol. K= kaliti yordamida T= dastlabki matni shifrlansin.


Ochiq matn

B

A

Y

R

A

M

_

K

U

N

I

Kalit

K

O’

Z

A

K

O’

Z

A

K

O’

Z

SHifrlangan
matn

L

O’

S

R

K

Z

J

K

O’

I

R

T1=LO’SR_KZJK_O’IR*







Dastur kodi
#include #include

using namespace std;

#pragma once class MyClass
{
public:
string key; MyClass(void);
void GetReady(string key){
for(int i = 0; i < key.length(); ++i){ if(key[i] >= 'A' && key[i] <= 'Z')
this->key += key[i];
else if(key[i] >= 'a' && key[i] <= 'z')
this->key += key[i] + 'A' - 'a';
}
}
string encrypt(string text){ string out;

for(int i = 0, j = 0; i < text.length(); ++i){


char c = text[i];
if(c >= 'a' && c <= 'z')
c += 'A' - 'a';
else if(c < 'A' || c > 'Z'){ out += c; continue;
}
out += (c + key[j] - 2*'A') % 26 + 'A'; j = (j + 1) % key.length();
}
return out;
}
string decrypt(string text){ string out;

for(int i = 0, j = 0; i < text.length(); ++i){ char c = text[i];


if(c >= 'a' && c <= 'z')
c += 'A' - 'a';
else if(c < 'A' || c > 'Z'){ out += c; continue;
}
out += (c - key[j] + 26) % 26 + 'A'; j = (j + 1) % key.length();
}
return out;
}
};

Adabiyotlar ro'yxati
1. Bossova L.L. Informatika va AKT: 8-sinf uchun darslik. - M.: BINOM. Bilim laboratoriyasi, 2012 yil.
2. Bossova L.L. Informatika: 8-sinf uchun ish daftarchasi. - M.: BINOM. Bilimlar laboratoriyasi, 2010 y.
3. Astafieva N.E., Rakitina E.A., sxemalarda informatika. - M.: BINOM. Bilimlar laboratoriyasi, 2010 y.
4. Tannenbaum E. Kompyuter arxitekturasi. - 5-nashr. - SPb.: Piter, 2007.
5. "Barcha maslahatlar" Internet-portali ()
6. "Kompyuter" elektron entsiklopediyasi "Internet-portali ()
7. "apparatnoe.narod.ru" Internet-portali ()






Download 274.84 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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