O’ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYLAR
VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI
QARSHI FILIALI
KOMPYUTER INJINIRINGI FAKULTETI
KI-13-22(S)-
GURUH TALABASINING
KIBERXAVFSIZLIK ASOSLARI
FANIDAN
1-Amaliy topshiriq
Bajardi:
Mahamadiyev N
Qabul qildi:
Uzaqov O.SH
QARSHI-2023
Sezar usuli. Sezar shifri oddiy siljitish shifrining bir qismi xisoblanadi. Bushifrini
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
sonxisoblanib, 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 = 13 bo`lganda ushbu usuldan foydalangan.
Sezar usulining kamchiligi bu bir xil xarflarning o`z navbatida, bir xil xarflarga
almashishidir.
Berilgan ochiq matnimiz: T0= Mahamadiyev Nozim
Shifrlashda ishlatiladigan kalit jurnaldagi raqamimga mos ravishda 5 ga teng:K=13
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 13bo`lganligi uchun jadvalni ikkichi qatorini 13 ta harf
qoldirib
13-harfdan boshlab lotin alfaviti ketma-ketligi yozib chiqamiz.
Berilgan:T0= Mahamadiyev Nozim
Kalit:K=13
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
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
Natija:C=ZNKZZNQVLRI ABEGBL
Deshifrlash:
Deshifrlashda bizga kalit va shifrmatn ma`lum bo`lsin.
K=13. C= ZNKZZNQVLRI ABEGBL
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
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
Deshifrlash uchun ham shifrlashda ishlatilgan jadvaldan foydalanamiz,ya`ni
jadvalni
birinichi qatorini Lotin alfabiti harflarini tartibli ketma-ketligida
to`ldiramiz,ikkinchi
qatorni esa kalitimiz 13ga teng bo`lganligi uchun,13ta harf qoldirib
va shu yo`sinda davom etamiz.
Deshifrlangan
matn tayyor :T0= Mahamadiyev Nozim
Dastur kodi
#include
#include
using namespace std;
int main(){
string s1,s2="";
int k;
cout<<"Shifrlash:\n";
cout<<"Shifrlanadigan matnni kiriting:";
getline(cin,s1);
cout<<"Kalitni kiriting: K=";
cin>>k;
for(int i=0;iif(('A'<=s1.at(i) && s1.at(i)<='Z')){
if(((int)s1.at(i)-65+k>=26))
s2+=(char)(((int)s1.at(i)+k-65)%26+65);
else
s2+=(char)((int)s1.at(i)+k);
}
else if(('a'<=s1.at(i) && s1.at(i)<='z')){
if(((int)s1.at(i)-97+k>=26))
s2+=(char)(((int)s1.at(i)+k-97)%26+97);
else
s2+=(char)((int)s1.at(i)+k);
}
else s2+=s1.at(i);
}
cout<<"Shifrlangan matn: ";
cout<cout<<"Deshifrlash: "<}
|