## DIGITAL SIGNATURE PADA CITRA MENGGUNAKAN RSA DAN VIGENERE CIPHER BERBASIS MD5

## Lekso Budi Handoko
Fakultas Ilmu Komputer, Program Studi Teknik Informatika Universitas Dian Nuswantoro Email: handoko@dsn.dinus.ac.id
Chaerul Umam Fakultas Ilmu Komputer, Program Studi Teknik Informatika Universitas Dian Nuswantoro Email: chaerul@dsn.dinus.ac.id
De Rosal Ignatius Moses Setiadi Fakultas Ilmu Komputer, Program Studi Teknik Informatika Universitas Dian Nuswantoro Email: moses@dsn.dinus.ac.id

## Eko Hari Rachmawanto
Fakultas Ilmu Komputer, Program Studi Teknik Informatika Universitas Dian Nuswantoro Email: eko.hari@dsn.dinus.ac.id

## ABSTRAK
Salah satu teknik yang populer untuk mengamankan data dengan tingkat keamanan yang tinggi yaitu kriptografi . Berbagai  penelitian  telah  dilakukan  dengan  menggabungkan  kunci  simteris  dan  kunci asimteris  untuk  mendapatkan  keamanan  ganda.  Dalam  makalah  ini,  tanda  tangan  digital  diterapkan melalui Rivest  Shamir  Adleman  (RSA) sebagai  algoritma  kunci  asimteris  yang  akan  digabung  dengan algoritma  kunci  simteris  Vigenere  Cipher.  RSA  yang  tahan  terhadap  serangan  karena  menggunakan proses eksponensial dan kuadrat besar dapat menutupi kelemahan Vigenere Cipher , sedangkan Vigenere Cipher  dapat  mencegah  kemunculan  huruf  yang  sama  dalam  cipher  yang  mempunyai  pola  tertentu. Vigenere  cipher  mudah  diimplementasikan  dan  menggunakan  operasi  substitusi.  Untuk  mengkompresi nilai  numerik  yang  dihasilkan  secara  acak,  digunakan  fungsi  hash  yaitu Message  Digest  5  (MD5) . percobaan  dalam  makalah  ini  telah  memberikan  kontribusi  dalam  peningkatan  kualitas  enkripsi  dimana citra digital dioperasikan dengan MD5  yang kemudian hasilnya akan diubah  menjadi RSA. Fungsi hash awal  yaitu  32  karakter  diubah  menjadi  16  karakter  yang  akan  menjadi  inputan  untuk  proses  RSA  dan Vigenere Ciphe r. Pada citra berwarna yang digunakan sebagai media operasi, akan dilakukan pengecekan apakah citra tersebut sudah melalui proses digital signature.
Kata kunci: digital signature; rivest shamir adleman (RSA); vigenere cipher; message digest 5 (MD5) .

## ABSTRACT
One  of  the  most  popular  techniques  for  securing  data  with  high  security  is  cryptography.  Various studies have been done by combining simteric keys and asymmetric keys to obtain double security. In this paper, digital signatures are applied via Rivest Shamir Adleman (RSA) as an asymmetric key algorithm to be  combined  with  Vigenere  Cipher's  simultant  key  algorithm.  RSA  is  resistant  to  attack because  it  uses exponential process dan big square to cover the weakness of Vigenere Cipher, while Vigenere Cipher can prevent the occurrence of the same letter in a cipher that has a certain pattern. Vigenere ciphers are easy to implement and use substitution operations. To compress randomly generated numerical values, a hash function is Message Digest 5 (MD5). the experiments in this paper have contributed to the enhancement of  the  quality  of  the  encryption  in  which  the  digital  image  is  operated  with  MD5  which  will  then  be converted  to  RSA.  The  initial  32-character  hash  function  is  converted  to  16  characters  which  will  be input  for  RSA  and  Vigenere  Cipher  processes.  In  the  color  image  used  as  a  media  container,  will  be checked whether the image has been through the process of digital signature.
Keywords: digital signature; rivest shamir adleman (RSA); vigenere cipher; message digest 5 (MD5).

## 1. PENDAHULUAN
Kriptografi  menjadi  populer  dan  sering  digunakan  dalam  menyelesaikan  permasalahan  dalam kehidupan manusia menggunakan algroitma tertentu misalnya Vernam Cipher, One Time Pad (OTP) [1], Advance Encryption Standard (AES) [2]. Beberapa algoritma tersebut juga dapat dikombinasikan dengan teknik watermarking atau  steganografi  untuk  mendapatkan  keamanan  ganda.  Salah  satu  model impelementasi  kriptografi  yang  hingga  saat  ini  masih  digunakan,  khususnya  dalam  mengamankan  data dalam jaringan komputer yaitu digital signature [3]. Digital signature merupakan bentuk komputasional dari  tanda  tangan  digital  konvensional  dimana byte-byte pada  citra  digital  akan  di  cek  dengan  tujuan otentikasi data. Otentikasi data menjadi salah satu tujuan utama dilakukannya proses kriptografi. Menurut Saha  [4],  tujuan  utama  kriptografi  dapat  dibagi  menjadi  5  macam  yaitu:  (1)  Otentikasi  data,  (2) kerahasiaan  data,  (3)  non-repudiasi,  (4)  integritas  data,  (5)  ketersediaan  data.  Dalam  makalah  ini  akan dibahas mengenai implementasi teknik kriptografi dalam melakukan proses otentikasi data melalui digital signature.
Otentikasi  data  merupakan  proses  identifikasi  atau  pengenalan  terhadap  data  yang  dikirimkan  dari satu pihak  ke pihak lain. Untuk  mengamankan data,  maka  perlu adanya tanda tangan digital [5]. Dalam digital signature dapat diilustraiskan apabila seseorang  mengubah dokumen  orang lain dan berpura-pura menjadi  pemilik  dokumen  tersebut,  maka  manupulasi  data  dapat  saja  terjadi.  Orang  lain  yang  bukan pemilik  dokumen  dapat  menyalin  tanda  tangan  seseorang  dalam  dokumen  mereka  sendiri  secara  ilegal, tetapi  dalam  digital  signature  penyusup  maupun  orang  awam  tidak  dapat  melakukan  manipulasi  pada dokumen  tersebut  karena  dokumen  telah  ter-otentikasi  sebagai  milik  sah  dari  pemilik  asli  dokumen tersebut  [6].  Informasi  tersebut  dapat  diotentikasi  keasliannya,  isi  data  maupun  waktu  pengirimannya. Proses  otentikasi  data,  fungsi hash sering  digunakan  sebagai  alat  untuk  menyimpan  dan  memproses message  integrity .  Beberapa  bentuk  fungsi  hash  yang  dapat  digunakan  misalnya  MD4,  MD5,  SHA-1, SHA-256,  atau  SHA-512.  Bentuk  dan  konsep  fungsi  hash  lebih  detail  akan  dijelaskan  pada  sub  bab berikutnya. Fungsi hash mempunyai dua bagian operasi yaitu padding dan kompresi.

## 2. METODOLOGI PENELITIAN

## 2.1   Secure Hash Function (SHA)
Otentikasi  pesan  adalah  layanan  yang  digunakan  untuk  memverifikasi  integritas  pesan.  Otentikasi pesan  memastikan  bahwa  data  yang  diterima  sama  persis  dengan  yang  dikirim.  Fungsi  hash  digunakan untuk menyediakan otentikasi pesan [7]. Nilai kode hash juga disebut sebagai pesan Digest . Nilai fungsi hash digunakan  untuk  otentikasi  pesan  dalam  hal  ini:  "Pengirim  menghitung  nilai  kode hash sebagai fungsi bit dalam pesan dan mentransfer baik nilai hash dan pesan di sisi penerima. Menurut Ganeshkumar [8] tanda tangan digital digunakan untuk memilih informasi yang tepat dan konten resmi yang dienkripsi dengan  kunci  pribadi  pengirim  yang  hanya  diketahui  oleh  pengirim.  Pada  sisi  penerima  nilai hash dihitung untuk bit pesan dan kemudian nilai hash yang dihasilkan dibandingkan dengan nilai hash yang masuk.  Oleh  karena  itu,  tanda  tangan  yang  valid  memverifikasi  bahwa  pesan  itu  dibuat  oleh  pengirim. Kunci  publik  yang  terkait  digunakan  untuk  memverifikasi  tanda  tangan.  Jika  tanda  tangan  valid,  maka pesan diotentikasi.
Sesuai  perkembangannya,  bentuk  fungsi  hash  dari Message  Digest telah  berkemabang  menjadi Secure Hash Algorithm (SHA) antara lain:

## Tabel 1. Macam Secure Hash Function (SHA)
Nama Algoritma Output size (bit) Internal State size Block size Maksimum pesan (bit) Jumlah Iterasi Operasi Security bit MD5 128 128 512 Tidak terbatas 64 And, xor, rot, add (mod 2 32 ), or <64 SHA 0 160 160 512 2 64 -1 80 <34 SHA 1 <63 SHA 2 SHA 224 224 256 512 2 64 -1 64 And, xor, rot, add (mod 2 32 ), or, shr 112 SHA 256 256 256 512 2 64 -1 64 And, xor, rot, add 128 SHA 384 382 512 1024 2 128 -1 80 192
Nama Algoritma Output size (bit) Internal State size Block size Maksimum pesan (bit) Jumlah Iterasi Operasi Security bit SHA 512 512 (mod 2 64 ), or, shr 256 SHA 512/224 224 288 SHA 512/256 256 256 SHA 3
SHA3-224 224 1600 1152 Tidak terbatas 24 And, xor, rot, not 448 SHA3-256 256 1088 512 SHA3-384 384 832 768 SHA3-512 512 576 1024 SHAKE 128 berubah- ubah 1344 256 SHAKE 256 1088 512
Pada  Tabel  1,  diketahui  bahwa  algoritma hash  adalah  keluarga  fungsi  hash  kriptografi  yang diterbitkan oleh National Institute of Standards and Technology (NIST) sebagai U.S. Federal Information Processing Standard (FIPS) , yaitu:
a) SHA-0: Sebuah retronym diterapkan pada versi asli dari fungsi hash 160-bit  yang diterbitkan pada tahun 1993 dengan nama "SHA". Itu ditarik segera setelah publikasi karena "cacat signifikan" yang tidak diungkapkan dan digantikan oleh versi SHA-1 yang sedikit direvisi.
b) SHA-1:  Fungsi  hash  160-bit  yang  menyerupai  algoritma  MD5  sebelumnya.  Ini  dirancang  oleh National Security Agency (NSA) untuk menjadi bagian dari Digital Signature Algorithm . Kelemahan kriptografi  ditemukan  dalam  SHA-1,  dan  standar  itu  tidak  lagi  disetujui  untuk  sebagian  besar penggunaan kriptografi setelah 2010.
c) SHA-2:  Keluarga  dengan  dua  fungsi  hash  yang  sama,  dengan  ukuran  blok  yang  berbeda,  yang dikenal  sebagai  SHA-256  dan  SHA-512.  Mereka  berbeda  dalam  ukuran  kata;  SHA-256 menggunakan  kata-kata  32-bit  di  mana  SHA-512  menggunakan  kata-kata  64-bit.  Ada  juga  versi terpotong  dari  setiap  standar,  yang  dikenal  sebagai  SHA-224,  SHA-384,  SHA-512/224  dan  SHA- 512/256. Ini juga dirancang oleh NSA.
d) SHA-3:  Fungsi  hash  yang  sebelumnya  disebut Keccak ,  dipilih  pada  tahun  2012  setelah  kompetisi publik  di  antara  desainer  non-NSA.  Ini  mendukung  panjang  hash  yang  sama  dengan  SHA-2,  dan struktur internalnya berbeda secara signifikan dari sisa keluarga SHA.

## 2.2  Message Digest 5 (MD5)
Algoritma MD5 dikembangkan oleh Profesor Ronald  L. Rivest pada tahun 1991. Dalam algoritma ini, pesan panjang secara langsung diambil sebagai input dan menghasilkan output sebagai 128-bit "sidik jari" atau "pesan digest " dari input [9]. Algoritma MD5 ditujukan untuk aplikasi tanda tangan digital, di mana  sebelum  dienkripsi  dengan  kunci  privat  di  bawah cryptosystem  publickey seperti  RSA,  file  besar harus  dikompresi  dengan  cara  yang  aman.  MD5  adalah  fungsi hash paling  populer  yang  menghasilkan 128-nilai  hash  bit  atau  16  karakter  [10].  MD5  umumnya  digunakan  untuk  memeriksa  integritas  file. Operasi pergeseran siklus, penambahan modular dan operasi boolean bitwise . Menurut Ardy [11], berikut merupakan operasi pada Message Digest:
a) Padding
1) Langkah  1:  Pesan  ditambahkan  dengan  sejumlah  bit  padding  hingga  kongruen  dengan  448 modulo 512.
2) Langkah  2:  Jika  panjang  pesan  adalah  448  bit,  maka  pesannya  ditambahkan  dengan  512  bit hingga 960 bit. Dengan demikian, panjang bit padding adalah antara 1 dan 512.
3) Langkah 3: Padding bit terdiri dari bit “1” diikuti oleh sisa "0" bit.
4) Langkah 4: Pesan yang telah diberi bit padding kemudian ditambahkan lagi dengan 64-bit yang menyatakan panjang pesan asli.
5) Langkah  5:  Jika  panjang  pesan  lebih  besar  dari  264  kemudian  panjang  akan  digunakan  dalam modulo 264. Dengan kata lain, jika panjang pesan awal adalah K bit, maka 64 bit menambahkan K  modulo  264.  Setelah  ditambahkan  dengan  64  bit,  panjang  pesan  sekarang  menjadi  kelipatan 512 bit.
b) Kompresi
1) Langkah 1: MD5 membutuhkan 4 buffer setiap 32 bit. Jumlah seluruhnya panjang buffer adalah 4 x 32 bit = 128 bit. Keempat buffer ini mengakomodasi hasil tengah dan akhir. Keempat buffer ini diberi nama A, B, C, dan D. Setiap buffer diinisialisasi dengan nilai:
2) huruf A: 01 23 45 67;  huruf B: 89 AB CD EF; huruf C: FE DC BA 98; huruf D: 76 54 32 10. Register ini biasanya disebut variabel rantai.
3) Langkah  2:  Pesan  dibagi  menjadi  blok  L  yang  panjangnya  512-bit  setiap  blok  menggunakan fungsi nonlinier.

## 2.3  Vigenere Cipher
Vigenere  cipher ditemukan  oleh  Giovan  Battista  Bellaso  pada  tahun  1553  dan  dikembangkan  oleh Blaisede Vigenere karena menemukan kunci yang lebih aman yaitu autokey cipher [12]. Vigenere cipher menggunakan  bujur  sangkar vigenere yang  diperoleh  dari perhitungan Caesar  Cipher sesuai  Persamaan (1) sampai Persamaan (3).
(1) (2) (3)
Dimana m adalah  panjang  kunci, i =  1,  2,  3,  …,  (panjang  kunci)  dan j =  ((i  – 1)  mod 25)  +1 . Menurut Kromodimeoldjo [13], Vigenere cipher adalah salah satu algoritma kriptografi yang sederhana. Contoh perhitungan dengan menggunakan Tabula Recta dapat diilustrasikan sesuai Gambar 1, sedangkan Gambar 2 adalah tabula recta Vigenere .
Gambar 1. Contoh Enkripsi dengan Tabula Recta pada Vigenere Cipher

## 2.4  Rivest Shamir Adleman (RSA)
RSA  adalah  algoritma  kriptografi  asimetris  yang  merupakan  algoritma  pertama  yang  paling  tepat untuk  penandatanganan  dan  enkripsi  dan  salah  satu  penemuan  kriptografi  utama  pertama  dengan  kunci publik  [11].  Dalam  metode  ini,  ada  tiga  bagian  utama:  pembuatan  kunci,  enkripsi,  dan  proses  dekripsi [14].  Dalam  algoritma  RSA,  diperlukan  proses  enkripsi  dan  dekripsi  kunci  publik  dan  kunci  privat. Berikut adalah langkah-langkah untuk menghasilkan kunci publik dan pribadi pada algoritma RSA [15], [16]:
a) Generalisasi Kunci
Langkah 1: Hasilkan dua bilangan prima p dan q , di mana p ≠ q . Langkah 2: Hitung p dan q menggunakan Persamaan 4 sampai Persamaan 6:
(4)
(5)
(6)
Langkah 3: Fokuskan nilai k untuk mendapatkan nilai coprime , jadi faktor pertama yang digunakan untuk e dan faktor kedua adalah nilai d . Langkah 4: Kunci publik kami adalah [e, n] untuk pengirim dan pasangan kunci privat adalah [d, n] untuk penerima.
b) Enkripsi
Untuk  mengenkripsi  pesan  pengirim (M) menggunakan  kunci  publik [e,  n] yang  telah  dihasilkan pada proses pembuatan kunci Untuk menghasilkan cipher menggunakan Persamaan 7.
(7)
Dimana c adalah  elemen  dari cipher (c ϵ C), m adalah  elemen  dari  pesan (m ϵ M), e adalah  kunci publik dan n dapat ditampilkan pada Persamaan 4.
c) Dekripsi
Untuk  mendekripsi cipher (C), dari  penerima  gunakan  kunci  privat [d,  n]. Di  bawah  ini  adalah proses dekripsi dapat digunakan Persamaan 8 untuk melakukan proses dekripsi.
(8)
Dimana, m adalah elemen dari pesan (m ϵ M), c sebagai elemen dari cipher (c ϵ C), d adalah kunci privat. Sedangkan n diperoleh dari Persamaan 4.

## 3. HASIL DAN PEMBAHASAN
Dalam makalah ini, kami menggunakan model digital signature sesuai [11] yang diilustrasikan pada Gambar 3.
Gambar 3. Model Digital Signature yang Digunakan [11]
Dalam  makalah  ini,  percobaan  dilakukan  dengan  membuat  fungsi  MD5  terlebih  dahulu.  Fungsi MD5 dalam digital signature yang kami uji coba yaitu untuk melakukan fungsi hashing pada citra digital. Karakter awal sepanjang 32 karakter kemudian diubah menjadi 16 karakter melalui operasi fungsi hash . Hasil dari 16 karakter tersebut kemudian menjadi inputan dalam proses enkripsi menggunakan RSA dan Vigenere Cipher.
m = 2 ^ 32; s = [-7, -12,-17, -22 -5, -9, -14, -20 -4, -11, -16, -23 -6, -10, -15, -21]; t = floor(abs(sin(1:64)) .* m); digest = [hex2dec( '67452301' ) ... hex2dec( 'EFCDAB89' ) ... hex2dec( '98BADCFE' ) ... hex2dec( '10325476' )]; message = double(message); bytelen = numel(message);
Pada  operasi  MD5,  kami  menggunakan  tabel cirshift berisi  bilangan  negatif  dikarenakan  tabel  ini merupakan tabel left shift . Fungsi hex2dec digunakan untuk proses inisialisasi hash menjadi baris vektor dari  32 bit  integer .  Apabila message yang  digunakan  mengandung  karakter  maka  lakukan  proses perubahan  ke nilai  ASCII.  Berikut  ini adalah proses pada setiap blok 512-bit. Hal ini dikarenakan  kami menggunakan  32 bit  integer ,  sehingga  setiap  blok  mempunyai  16  elemen  dimana  jumlah  pesan  dapat diartikan menjadi message = k+(0:15) seperti pada pseudocode berikut.
for k = 1:16:numel(message) a = digest(1); b = digest(2); c = digest(3); d = digest(4);
for i = (1:64) bv = dec2bin(b, 32) - '0' ; cv = dec2bin(c, 32) - '0' ; dv = dec2bin(d, 32) - '0' ;
if i <= 16 % Round 1 f = (bv & cv) | (~bv & dv); ki = i - 1; sr = 1; elseif i <= 32 % Round 2 f = (bv & dv) | (cv & ~dv); ki = mod(5 * i - 4, 16); sr = 2; elseif i <= 48 % Round 3
f = xor(bv, xor(cv, dv)); ki = mod(3 * i + 2, 16); sr = 3; else % Round 4 f = xor(cv, bv | ~dv); ki = mod(7 * i - 7, 16); sr = 4; end
Pada percobaan yang kami lakukan, kunci pada algoritma RSA dikalkulasikan menggunakan nilai p =  7  dan q =  13  dimana n=p*q dan teta=  (p-1)*(q-1). berikut  adalah pseudocode untuk  membuat  MD5 pada citra. Citra dikonversi dalam bentuk alias (x,y,z) menjadi string. Hal ini berlaku bagi proses enkripsi maupun dekripsi.
for z=1:size(imgori,3) for x=1:size(imgori,1) for y=1:size(imgori,2) imgc=cat(2,imgc,imgori(x,y,z)); end end end hashimg=md5(imgc); disp([ 'The image hash(md5)is: ' num2str(hashimg)]);
Untuk citra asli kami menggunakan citra berwarna 256x256 piksel dengan format *.bmp, *.tif, dan *.jpg sesuai Gambar 4.
Babbon.bmp Candy.jpg
Eye.bmp F16.tif House.jpg Lena.bmp Logo.bmp Peppers.jpg
View.jpg
Gambar 4. Citra Asli
Sedangkan  hasil  proses  otentikasi  dengan  kunci  publik  13,91  dan  kunci  privat  61,91  dapat  dilihat pada Tabel 2 berikut.
Tabel 2. Proses Otentikasi Citra Citra Asli Fungsi hash Pre-processing hash 2 block Digital Signature Citra Yang di Cek Keterangan 48EA134BF167 EE21CC80EFE 6DB98EABC 72  234   19   75 241  103  238   33 204  128  239 230  219  152 234  188 72  52  19  75 59  12  56  33 22  37  57  48 37  61  52   6 Signatured FE1994827892 ACF53D82DC A2C2A64F0C 254   25  148  130 120  146  172 245   61  130  220 162  194  166   79 12 72  25  57  39 29  55  81  63 61  39  38  71 12  75  79  12 Signatured F16775025EB9 B347F8F39089 A4264A6E 241  103  117    2 94  185  179   71 248  243  144 137  164   38   74 110 59  12  26   2   3 3  88  71  66  61 53  46  73  38 74  19 Signatured 0C83D827644F 9CB27C5ADA0 D12C19EDC 12  131  216   39 100   79  156  178 124   90  218   13 18  193  158  220 12  40  34  39   9 79  65  87  33 90  36  13  18 11  67  38 Signatured 03A8C03F9C3 7B1002B4E95B EC7BAD373 3  168  192   63 156   55  177    0 43   78  149  190 199  186  211 115 3  77  10  63  65 55  86   0  43  78 58   8  17   4  29 24 Signatured A43AED63C10 D809B1E598E 7AC3DECD45 164   58  237   99 193   13  128  155 30   89  142  122 195  222  205   69 73  58  55   8  11 13  37  64  30 89  51  31  13 40  23  69 Signatured 4B27DB9BF41 F3BFFE11CEC 9651F8DE9A 75   39  219  155 244   31   59  255 225   28  236  150 81  248  222  154 75  39  37  64 62  31  59  73 43  28  54  59 81  66  40  63 Signatured E6B2E891D79 BEA5AA49E7E 28975FF8F6 230  178  232 145  215  155 234   90  164  158 126   40  151   95 248  246 48  87  50  54 33  64  52  90 73  67  35  40 60   4  66  64 Signatured 3A0DDDA28E3 696770B78904 6BE6748D4 58   13  221  162 142   54  150  119 11  120  144   70 190  103   72  212 58  13  39  71 51  54  59  28 11  29  53  70   8 12  72  30 Signatured
Berdasarkan  hasil  percobaan  yang  telah  diilustrasikan  pada  Tabel  2,  citra  asli  diproses  untuk mengetahui  nilai  heksadesimal  yang  dihasilkan  dari  proses  hashing  menggunakan  algoritma  MD5. selanjutnya  akan  diperoleh  nilai hashing 2  blok  dan  nilai  pada digital  signature dengan  menginputkan kunci.  Pada  tahap  akhir,  citra  yang  diproses  tadi  akan  disimpan  dalam database dan  dilakukan  proses pengecekan untuk mengetahui apakah digital signature sudah tertanam dalam citra tersebut dan terkenali sebagai data ter- signature . Seluruh percobaan telah membuktikan bahwa citra yang digunakan dapat ter- signature dengan baik.

## 4. KESIMPULAN
Digital  signature menjadi  penting  dalam  mengamankan  data  khususnya  citra  digital.  Beberapa algroitma  telah  digunakan  dalam  implementasi digital  signature yaitu  konvesional Rivest  Shamir Adleman (RSA) serta RSA dengan kombninasi fungsi hash . Dalam makalah ini, kami ingin berkontribusi untuk  mengimplementasikan  digital  signature  dengan  kombinasi  RSA- Vigenere  cipher dimana  citra inputan  yang  digunakan  akan  di  olah  terlebih  dahulu  dengan  MD5.  Citra  hasil hash dengan  MD5 kemudian  di  olah  dengan  RSA  telebih  dahulu  baru  disubstitusi  dengan  Vigenere  Cipher.  Dimana  pada penelitian  yang  dilakukan  oleh  [11]  diimplementasikan  dengan  melakukan hashing terlebih  dahuli  pada citra dilanjutkan dengan Vigenere Cipher , hasilnya baru diolah dengan  RSA. Perbedaan pada penelitian sebelumnya yaitu kami mengimplementasikan digital signature pada format file yang lebih beragam dan tahaoan operasi algoritma berbeda. Pada makalah ini, hasil implementasi menunjukkan bahwa citra dapat terotentikasi  dengan  baik.  Hal  ini  dapat  diterapkan  lebih  lanjut  untuk  mengamankan  data  pada  jaringan misalnya pada email .

## DAFTAR PUSTAKA
[1]  D.  R.  I.  M.  Setiadi,  E.  H.  Rachmawanto,  and  C.  Sari,  “Secure  Image  Steganography  Algorithm Based on DCT with OTP Encryption,” J. Appl. Intell. Syst. , vol. 2, no. 1, pp. 1–11, 2017.
[2]  M.  Najih,  D.  R.  I.  M.  Setiadi,  C.  A.  Sari,  and  S.  Astuti,  “An  Improved  Secure  Image  Hiding Technique Using PN-Sequence Based On DCT-OTP,” in International Conference on Informatics and Computational Sciences (ICICoS) , 2017.
[3]  C.  Mahalle,  M.  Kulkarni,  T.  Nangude,  and  P.  G.  Navale,  “Digital  Signature  Authentication  and Verification on Smart Phones using CR   PT Algorithm,” Int. Res. J. Eng. Technol. , vol. 4, no. 5, pp. 332–338, 2017.
[4]  P.  Saha,  “A  comprehensive  study  on  digital  signature  for  internet  security,” Accent.  Trans.  Inf. Secur. , vol. 1, no. 1, pp. 1–6, 2016.
[5]  G.  Ranjith,  B.  Prathusha,  and  P.  Sagarika,  “Arbitrated  Digital  Signature  for  e-Authentication Technique of a Digital Message,” Int. J. Adv. Eng. Technol. , vol. 8, no. 5, pp. 753–761, 2015.
[6]  V.  Kumar  and  P.  K.  Koul,  “Robust  RSA  for  Digital  Signature,” IJCSI  Int.  J.  Comput. Sci.  Issues , vol. 8, no. 6, pp. 359–362, 2011.
[7]  E. Biham and O. Dunkelman, “A Framework for Iterative Hash Functions-HAIFA.,” IACR Cryptol. ePrint Arch. , vol. 1, no. August, pp. 1–20, 2007.
[8]  K. Ganeshkumar and D. Arivazhagan, “Generating a digital signature based on new cryptographic scheme for user authentication and security,” Indian J. Sci. Technol. , vol. 7, no. Specialissue6, pp. 1–5, 2014.
[9]  D. P. Joseph and M. Krishna, “Cognitive Analytics and Comparison of Symmetric and Asymmetric Cryptography Algorithms,” Int. J. Adv. Res. Comput. Sci. , vol. 6, no. 3, pp. 51–56, 2015.
[10]  S. Singh, M. S. Iqbal, and A. Jaiswal, “Survey on Techniques Developed using  Digital Signature : Public key Cryptography,” Int. J. Comput. Appl. , vol. 117, no. 16, pp. 1–4, 2015.
[11]  R.  D.  Ardy,  O.  R.  Indriani,  C.  A.  Sari,  D.  R.  Ignatius,  and  M.  Setiadi,  “Digital  Image  Signature using Triple Protection Cryptosystem (RSA, Vigenere, and MD5),” in International Conference on Smart Cities, Automation & Intelligent Computing Systems , 2017, pp. 1–6.
[12]  K. Senthil, K. Prasanthi, and R. Rajaram, “A modern avatar of Julius Ceasar and Vigenere cipher,” in 2013  IEEE  International  Conference  on  Computational  Intelligence  and  Computing  Research , 2013, pp. 1–3.
[13]  S. Kromodimoeljo, Teori dan Aplikasi Kriptografi . SPK IT Consulting, 2009.
[14]  S.  A.  Jaju  and  S.  S.  Chowhan,  “Analytical  Study  of  Modified  RSA  Algorithms  for  Digital Signature,” Int. J. Recent Innov. Trends Comput. Commun. , vol. 3, no. 3, pp. 944–949, 2015.
[15]  D.  R.  I.  M.  Setiadi,  A.  E.  Handoyo,  E.  H.  Rachmawanto,  C.  A.  Sari,  and  A.  Susanto,  “Teknik Penyembunyian dan Enkripsi Pesan pada Citra Digital dengan Kombinasi Metode LSB dan RSA,” J. Teknol. dan Sist. Komput. , vol. 6, no. 1, p. 37, Feb. 2018.
[16]  S. Goyal, M. Ramaiya, and D. Dubey, “Improved Detection of 1-2-4 LSB Steganography and RSA Cryptography in Color and Grayscale Images,” in 2015 International Conference on Computational Intelligence and Communication Networks (CICN) , 2015, pp. 1120–1124.