Kampyuter injeneringi fakulteti di-12-22 guruh talabasining


Download 2.22 Mb.
Sana13.11.2023
Hajmi2.22 Mb.
#1771713
Bog'liq
1-labaratoriya ishi Haydarov N.

KAMPYUTER INJENERINGI FAKULTETI

DI-12-22 GURUH TALABASINING

KIBERXAFSIZLIK ASOSLARI FANIDAN

LABARATORIYA ISHI

Bajarsi: Haydarov N.

Qabul qildi: ELMURODOVA B.

  • 1- LABARATORIYA ISHI
  • MAVZU:SEZAR USULI SHIFIRLASH VA DISHIFIRLAR.

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: T0=BEKKAMOV FAYZI Shifrlashda ishlatiladigan kalit jurnaldagi 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 uchun jadvalni ikkichi qatorini 5 ta harf qoldirib 6-harfdan boshlab lotin alfaviti ketma-ketligi yozib chiqamiz.Bu yerda 1-qator oxiridagi 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

Berilgan: T0= 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

#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){

if((int)s1[i]+k>122)s2[i]=(int)s1[i]+k-26;

else s2[i]=(int)s1[i]+k;}}

for(int i=0;i<=strlen(s2)-1;i++)

cout<

cout<<"Deshifrlash:"<

for(int i=0;s2[i]!='\0';i++){

if((int)s2[i]>=65 and (int)s2[i]<=90){

if((int)s2[i]-k<65)s1[i]=(int)s2[i]-k+26;

else s1[i]=(int)s2[i]-k;}

else if((int)s2[i]>=97 and (int)s2[i]<=122){

if((int)s2[i]-k<97)s1[i]=(int)s2[i]-k+26;

else s1[i]=(int)s2[i]-k;}}

cout<

return 0;}


Download 2.22 Mb.

Do'stlaringiz bilan baham:





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