Yo‘nalish: Axborot xavfsizligini boshqarish, kompyuter injinirengi


Download 1.35 Mb.
Sana18.02.2023
Hajmi1.35 Mb.
#1212872
Bog'liq
5-laboratoriya. Seazar shifrlash algoritmi. Vigenere shifrlash algoritmi (4)


O‘zbekiston xalqaro islom akademiyasi
5-laboratoriya. Seazar shifrlash algoritmi. Vigenere shifrlash algoritmi.
Fan: Algoritmlarni loyihalash
Yo‘nalish: Axborot xavfsizligini boshqarish,
kompyuter injinirengi

Sezar shifrlash algoritmi


Berilgan matnni shifrlash uchun bizga alfavitning nechta harf o`nga yoki chapga siljiganligini ifodalovchi butun son kerak bo'ladi. Shifrlash modulli arifmetika yordamida, avval harflarni raqamlarga aylantirish orqali ifodalanishi mumkin, sxema bo'yicha, A = 0, B = 1,…, Z = 25. Harfni n siljish bilan shifrlashni matematik tarzda tasvirlash mumkin.

Bajarish jarayoni


Sezar shifrlash algoritmi:
1) Kiritish:
- kichik harflar oraqali berilgan matn qatori;
  • kerakli siljishni bildiruvchi 0 dan 25 gacha bo'lgan butun son.

  • 2) Jarayon:
    - Berilgan matnni bir vaqtning o'zida bir belgidan o'tkazing. Har bir belgi uchun matnni shifrlash yoki parolini ochishimizga qarab, berilgan belgini qoidaga muvofiq o'zgartiring.Yaratilgan yangi qatorni qaytaring.Matn (string) va Shift qiymatini (integer) qabul qiladigan va shifrlangan matnni qaytaradigan dastur.

Online caesar cipher calculator


https://www.mymathtables.com/calculator/digital/caesar-cipher-encript-decript-converter.html

ASCII kodlash jadvali

Kichik harfli matnlarni shifrlash


#include
#include
using namespace std;
string seazar(string matn, int n)
{
string natija = "";
for (int i = 0; i < matn.length(); i++) {
natija += char(int((matn[i]) + n - 97) % 26 + 97);
}
return natija;
}
int main()
{
string text;
cout<<"Matn kiriting (Kichik harflarda): ";
getline(cin, text);
int s;
cout<<"Surishlar soni: ";
cin>>s;
cout << "Encryption= : " << seazar(text, s);
return 0;
}

Katta harfli matnlarni shifrlash


#include
#include
using namespace std;
string seazar(string matn, int n)
{
string natija = "";
for (int i = 0; i < matn.length(); i++) {
natija += char(int((matn[i]) + n - 65) % 26 + 65);
}
return natija;
}
int main()
{
string text;
cout<<"Matn kiriting(Katta xarflarda): ";
getline(cin, text);
int s;
cout<<"Surishlar soni: ";
cin>>s;
cout << "Encryption= : " << seazar(text, s);
return 0;
}

Katta harfli matnlarni shifrlash


#include
#include
using namespace std;
string seazar(string matn, int n)
{
string alfKAT="ABCDEFGHIJKLMNOPQRSTUVWXYZ", alfkich="abcdefghijklmnopqrstuvwxyz";
string natija = "";
for (int i = 0; i < matn.length(); i++) {
int found=alfKAT.find(matn[i]);
if (found==-1){
int found=alfkich.find(matn[i]);
natija += alfkich[(found+n)%26];
continue;
}
natija += alfKAT[(found+n)%26];
}
return natija;
}
int main()
{
string text;
cout<<"Matn kiriting (katta harflarda): ";
getline(cin, text);
int s;
cout<<"Surishlar soni: ";
cin>>s;
cout << "Encryption= : " << seazar(text, s);
return 0;
}

TOPSHIRIQ

  • Sezar shifrlash algoritmini ishlab chiqing.
  • ASCII kodlash jadvalidan foydalanib sezar shifrlash dasturini ishlab chiqing.
  • Kichik xarflar uchun sezar shifrlash dasturini ishlab chiqing (ASCII dan foydalanmang).
  • Hisobot tayyorlang.

Download 1.35 Mb.

Do'stlaringiz bilan baham:




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