Coding Affine Chiper Bahasa C++

 

#include<iostream>

using namespace std;

int main () {
int a, b, formula, n = 26, kali, hasilkali, hasili, counter = 0, nhuruf, hasilmod;
char alfabet = 'a', input;

cout << "===== Affine Chiper =====" << endl;
cout << "---- Chiper to Plaintext ----" << endl << endl;

cout << "Kunci A = ";
cin >> a;
cout << "Kunci B = ";
cin >> b;

for(int i = 1; i <= 30; i++) {
kali = i * a;
hasilkali = kali % n;

if(hasilkali == 1) {
cout << "x = " << i << endl;
hasili = i;
}
}
// cout << hasili << endl;
cout << endl;

cout << "Masukkan Banyak Huruf = ";
cin >> nhuruf;

for(int j = 1; j <= nhuruf; j++) {
cout << "Masukkan Huruf = ";
cin >> input;

counter = 0;
for(alfabet = 'a'; alfabet <= 'z'; alfabet++) {
// cout << counter << endl;

if(input == alfabet) {
cout << "Posisi Huruf ke-" << counter << endl;

formula = hasili * (counter - b);
if(formula < 0) {
hasilmod = ((formula % 26) + 26) % 26;

// if(hasilmod == counter) {
// cout << "Alfabet = " << alfabet << endl;
// } else {
// cout << "Tidak ada huruf yang sama" << endl;
// }

} else {
cout << "c - b = " << counter - b << endl;
hasilmod = formula % n;

// if(hasilmod == counter) {
// cout << "Alfabet = " << alfabet << endl;
// } else {
// cout << "Tidak ada huruf yang sama" << endl;
// }

}

}

counter++;

}
// cout << "hasil x = " << hasili << endl;
cout << "Hasil Sebelum Mod= " << formula << endl;
cout << ">> Hasil Mod = " << hasilmod << endl << endl;
}

}

Komentar