Sezar usuli. Sezar shifri oddiy siljitish shifrining bir qismi xisoblanadi. Bu
shifrini rimlik imperator Gole Yuliy Sezar o`ylab topgan. Shifrlashda matining xar
biri boshqa xarf bilan quyidagi qoida asosida almashtiriladi. Xarflarni almashtirishda
kelayotgan yozuv xarflarni k-ga siljitib alamshtirildi. Bu yerda M- butun son
xisoblanib, ochiq matni belgisini biror alfavitdagi o`rini, C – butun son bo`lib, shifr
belgini biror alfavitagi o`rni. C=(M+k)modm, m – alfavit uzunligi. Deshifrlash
ifodasi esa M=(C-k)modm ifoda bilan ifodalanadi. Yuliy Sezar bevosita k = 10
bo`lganda ushbu usuldan foydalangan.
Sezar usulining kamchiligi bu bir xil xarflarning o`z navbatida, bir xil xarflarga
almashishidir.
Berilgan ochiq matnimiz: T
0
=BEKKAMOV FAYZI
Shifrlashda ishlatiladigan kalit jur
naldagi raqamimga mos ravishda 5 ga teng: K=5
1)Lotin alfabitida 26 ta harf borligi uchun jadvalni shunga moslab olamiz,ya`ni
jadvalimizda 26 ta ustun 2 ta qatordan iborat bo`ladi.Jadvalni birinchi qatorini lotin
alfabiti harflari ketma-ketligi bilan to`ldiramiz.(A,B,C,D.........X,Y,Z)
2)Jurnaldagi raqamim 5 bo`lganligi u
chun jadvalni ikkichi qatorini 5 ta harf qoldirib
6-harfdan boshlab lotin alfa
viti ketma-ketligi yozib chiqamiz.Bu yerda 1-qator
oxiri
dagi Z harfiga 2-qatordan E harfi to`gri keladi,shunda 1-qatordagi A harfiga 2-
qatordan F harfi most ravishda yoziladi va shu tariqa davom ettiriladi
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
Berilgan: T
0
= BEKKAMOV FAYZI
Kalit: K=5
1-qatordagi
B harfiga 2-qatordan G harfi to`g`ri keladi,1-qatordagi A harfiga 2-
qatordan
F harfi to`g`ri keladi va shu yo`sinda berilgan ochiq matnimiz 2-qatorda
turgan mos harflarga almashtiriladi,shundan so`ng shifrmatin hosil bo`ladi.
Natija: C=GJPPFRTA KFDEN
Deshifrlash:
Deshifrlashda bizga kalit va shifrmatin ma`lum bo`lsin.
K=5,
C= GJPPFRTA KFDEN
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
Deshifrlash uchun ham shifrlashda ishlatilgan jadvaldan foydalanamiz,ya`ni jadvalni
birinichi qatorini Lotin alfabiti harflarini tartibli ketma-ketligida to`ldiramiz,ikkinchi
qatorni esa kalitimiz 5 ga teng bo`lganligi uchun,5 ta harf qoldirib Lotin harflari
ketma-ketligini yozamiz,bu yerda 2-qator F harfidan boshlanadi.
Keyingi qiladigan ishimiz 2-qatordan shifrmatndagi harflarni topamiz va 1-qatorda
turgan mos harfga almashtiramiz:
Masalan,shifrmatndagi G harfini 2-qatordan topamiz va G harfi tepasidagi B harfi
ekanligiga guvoh bo`lamiz,
2-qatordagi J harfi,1-qatordan E harfiga to`g`ri keladi va
shu yo`sinda davom etamiz.
Deshifrlangan matn tayyor: T
0
= BEKKAMOV FAYZI
Dastur kodi:
#include
#include
using namespace std;
int main() {
char s1[50],s2[50];int k;
cout<<"Shifrlash:"<
cout<<"Satrni kiriting:";
cin.getline(s1,sizeof(s1));
cout<<"Kalitni kiriting:K=";cin>>k;
for(int i=0;s1[i]!='\0';i++){
if((int)s1[i]>=65 and (int)s1[i]<=90){
if((int)s1[i]+k>90)s2[i]=(int)s1[i]+k-26;
else s2[i]=(int)s1[i]+k;}
else if((int)s1[i]>=97 and (int)s1[i]<=122){