Program Enkripsi dan Dekripsi Kode Hill C++

Program Enkripsi dan Dekripsi Kode Hill C++

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

Your email address will not be published. Required fields are marked *