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 ()
Dostları ilə paylaş: |