Proses enkripsi dilakukan dengan menggunakan aturan dasar algoritma McEliece. Adapun langkah dalam proses enkripsi adalah sebagai berikut :
- Pilihan integer positif k dan n (dengan k < n, jumlah pesan harus habis dibagi k) sebagai dimensi matriks generator G.
- Pilihan sembarang matriks A berdimensi k x (n-k).
- Matriks generator , yang merupakan kunci pribadi.
- Pilihan matriks nonsingular S berdimensi k x k, yang merupakan kunci pribadi.
- Pilih matriks permutasi P berdimensi n x n, yang merupakan kunci pribadi.
- Hitung Ga = SGP, yang merupakan kunci publik
- Masukkan teks asli (m)
- Mengubah teks asli kedalam bentuk kode ASCII.
- Mengubah kode ASCII kedalam bentuk bilangan biner.
- Ciphertext dihasilkan dengan proses perhitungan dengan menggunakan rumus : c = mG’ e
Proses enkripsi dapat dilihat pada contoh berikut :
Pertama-tama proses pembentukan kunci dilakukan :
(1) misalnya dipilih nilai k = 4 dan n = 7
(2)
(3) G = [Ik çA] =
(4) S =
(5) P =
(6) Ga = SGP =
Perhitungan tersebut menghasilkan pasangan kunci, yaitu kunci publik matriks Ga dan kunci pribadi matriks-matriks P, G, dan S.
Selanjutnya andaikan akan melakukan enkripsi terhadap pesan ‘YES’, pertama-tama pesan tersebut diterjemahkan ke dalam kode ASCII menjadi :
010110010100010101010011. Karena k = 4, maka pesan tersebut harus di blok dengan panjang tiap blok adalah 4 bit, menjadi :
0101 1001 0100 0101 0101 0011
Berturut-turut sebagai m1, m2, m3, m4, m5, dan m6. Misalnya dengan mengambil vektor biner random e = (1 0 1 1 1 0 1), enkripsi untuk mendapatkan ciphertext c1, c2, c3, c4, c5 dan c6 dilakukan sebagai berikut :
C1=m1G’Å e =
C1 =
C2 = m2 G’ Å e =
C3 = m3 G’ Å e =
C4 = m4 G’ Å e =
C5 = m5 G’ Å e =
C6= m6 G’ Å e =
Posted by Eko Nur Hidayat 