Berikut adalah contoh Program Enkripsi dan Dekripsi Kode Hill dengan menggunakan bahasa pemprogramman C++
C++
#include <iostream>
#include <vector>
using namespace std;
// Fungsi untuk mengenkripsi pesan
vector<vector<int>> enkripsi(vector<vector<int>> pesan, vector<vector<int>> kunci) {
vector<vector<int>> hasil;
int n = pesan.size();
int m = pesan[0].size();
for (int i = 0; i < n; i++) {
vector<int> baris;
for (int j = 0; j < m; j++) {
int sum = 0;
for (int k = 0; k < m; k++) {
sum += pesan[i][k] * kunci[k][j];
}
baris.push_back(sum % 26);
}
hasil.push_back(baris);
}
return hasil;
}
// Fungsi untuk mendekripsi pesan
vector<vector<int>> dekripsi(vector<vector<int>> pesan, vector<vector<int>> kunci) {
vector<vector<int>> hasil;
int n = pesan.size();
int m = pesan[0].size();
for (int i = 0; i < n; i++) {
vector<int> baris;
for (int j = 0; j < m; j++) {
int sum = 0;
for (int k = 0; k < m; k++) {
sum += pesan[i][k] * kunci[k][j];
}
baris.push_back(sum % 26);
}
hasil.push_back(baris);
}
return hasil;
}
int main() {
vector<vector<int>> pesan = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
vector<vector<int>> kunci = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
vector<vector<int>> pesanEnkripsi = enkripsi(pesan, kunci);
vector<vector<int>> pesanDekripsi = dekripsi(pesanEnkripsi, kunci);
cout << "Pesan Asli:" << endl;
for (int i = 0; i < pesan.size(); i++) {
for (int j = 0; j < pesan[i].size(); j++) {
cout << pesan[i][j] << " ";
}
cout << endl;
}
cout << "Pesan Terenkripsi:" << endl;
for (int i = 0; i < pesanEnkripsi.size(); i++) {
for (int j = 0; j < pesanEnkripsi[i].size(); j++) {
cout << pesanEnkripsi[i][j] << " ";
}
cout << endl;
}
cout << "Pesan Terdekripsi:" << endl;
for (int i = 0; i < pesanDekripsi.size(); i++) {
for (int j = 0; j < pesanDekripsi[i].size(); j++) {
cout << pesanDekripsi[i][j] << " ";
}
cout << endl;
}
return 0;
}
C++Silakan gunakan kode di atas untuk melakukan enkripsi dan dekripsi menggunakan metode Kode Hill. Anda dapat mengganti nilai pesan dan kunci sesuai kebutuhan Anda.
Leave a Reply