Ini adalah tugas kuliah Keamanan Sistem Informasi. Saya mencoba menjawabnya dengan program MATLAB
Soal:
Tentukan d, jika d*19=1 mod 48!
Jawab:
Untuk menghitung d dari persamaan di atas diperlukan kemampuan matematis yang lebih dan memakan waktu yang agak lama. Namun, komputer mampu menghitung dengan cepat dengan algoritma tertentu. Oleh sebab itu, saya menawarkan solusi program komputer dengan algoritma yang saya buat sendiri sebagai berikut:
- Buat matriks yang isinya merupakan bilangan kelipatan 19 dengan komponen 200 baris x 1 kolom. Nilai 200 di sini dapat ditambah atau dikurang, tergantung keinginan dan prediksi nilai d.
- Lakukan operasi mod seluruh isi matriks tersebut dengan 48
- Bilamana hasil operasi mod adalah 1, ambil nilai posisi matriks.
- Nilai d adalah nilai posisi matriks
Algoritma tersebut saya terapkan pada program MATLAB dengan file bernama mencari_d.m, sehingga saya dapat mengubah-ubah nilai yang dilibatkan. Nilai d yang didapatkan lebih dari satu buah, namun biasanya dalam algoritma enkripsi-dekripsi RSA, diambil yang terkecil saja.
Dalam Command Window, saya melakukan perintah berikut:
mencari_d(19,1,4
ans =
43
91
139
187
Jadi, nilai d=43 karena diambil yang terkecil.
Lampiran Program:
Lampiran file mencari_d.m
%=========================================================== %
% TUGAS 5 KEAMANAN SISTEM INFORMASI %
% program mancari nilai d dari persamaan d*a = b mod c %
% Bernardus Ari Kuncoro 13204038 %
%=========================================================== %
function y = mencari_d(a,b,c)
i=1;
for k=1:200; % memulai looping
kelipatan(k,1)=a*k; % membuat matriks yang berisi kelipatan a sebanyak 1000 komponen
hasil(k,1)=mod(kelipatan(k,1),c); % menentukan nilai mod, agar didapat hasil mod-nya
if hasil(k,1)==b % jika hasil mod-nya adalah b, didapatkanlah nilai d
y(i,1)=k;
i=i+1;
end
end
% Pada soal diketahui d*19=1 mod 48.
% Masukkan nilai-nilai tersebut pada command window MATLAB, sebagai berikut:
% mencari_d=(19,1,48);
% sehingga hasil yang didapatkan adalah: 43, 91, 139, dan 187.
% Keterangan:
% Program ini merupakan salah satu langkah algoritma RSA dalam mencari
% kunci publik/privatnya. Langkah inilah yang sulit bila dilakukan secara
% manual, karena sangat memerlukan pemfaktoran yang berulang-ulang.
Ditulis dalam Kuliah






