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



Yüklə 274,84 Kb.
səhifə4/4
tarix08.03.2023
ölçüsü274,84 Kb.
#87001
1   2   3   4
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 ()






Yüklə 274,84 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin