Perbandingan Algoritma 3DES dan Rinjdael Dalam Perancangan Aplikasi Keamanan Data

(1)

LISTING PROGRAM Home :

<?php

session_start();

if ( !isset($_SESSION['userid']) ) { header('location:login.php'); } else

{ $usr = $_SESSION['userid']; } require_once('connect.php');

$query = mysql_query("SELECT * FROM anggota WHERE userid = '$usr'"); $hasil = mysql_fetch_array($query);

?> <html> <head>

<title>Halaman Utama</title> </head>

<body> <?php

echo "<h2>Selamat Datang, $usr</h2>";

echo "Nama Lengkap : " . $hasil['nama'] . "<br />"; echo "Email : " . $hasil['email'];

?>

<a href="logout.php"><b>Logout</b></a> </body>


(2)

Profil :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

<head>

<title>Aplikasi Enkripsi & Dekripsi</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style>

#css3pic{background: rgb(176,174,38); /* Fallback Background color */

background: url(images/pattern.png), -moz-linear-gradient(top, rgba(176,174,38,1) 0%, #6e6c00 100%);

background:url(images/pattern.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(176,174,38,1)), color-stop(100%,rgba(110,108,0,1)));width:980px;border-top:1px solid #ccc;margin:0 auto;padding:0 auto;border-radius: 5px;

-webkit-border-radius: 5px; -moz-border-radius: 5px; border: solid 1px #251400;}

#css3wrapper{width:980px;height:27px;margin:0 auto} .clearit{clear:both;height:0;line-height:0.0;font-size:0} #css3bar{width:100%}

#css3bar,#css3bar ul{list-style:none;font-family:Arial, serif;margin:0;padding:0} #css3bar a{display:block;text-decoration:none;font-size:12px;font-weight:bold;text-transform:uppercase;color:#333;padding:8px 8px 8px}

#css3bar a.trigger{padding:8px 13px 8px 9px} #css3bar li{float:left;position:static;width:auto} #css3bar li ul,#css3bar ul li{width:140px}

#css3bar ul li a{text-align:left;color:#fff;font-size:11px;font-weight:400;text-transform:none;font-family:Arial;border:none;padding:5px 10px;}

#css3bar li ul{z-index:100;position:absolute;display:none;background:#333;padding-bottom:5px;border-radius: 5px;

-webkit-border-radius: 5px; -moz-border-radius: 5px; border: solid 1px #251400;}


(3)

#css3bar li:hover a,#css3bar a:active,#css3bar a:focus,#css3bar li.hvr a{;color:#fff;-webkit-transition: all .2s ease-in-out;

-moz-transition: all .2s ease-in-out; -ms-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; }

#css3bar li:hover ul,#css3bar li.hvr ul{background: rgb(176,174,38); /* Fallback Background color */

background: url(images/pattern.png), -moz-linear-gradient(top, rgba(176,174,38,1) 0%, #6e6c00 100%);

background:url(images/pattern.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(176,174,38,1)), color-stop(100%,rgba(110,108,0,1)));display:block} #css3bar li:hover ul a,#css3bar li.hvr ul a{color:#fff;background-color:transparent;text-decoration:none}

#css3bar li ul li.hr{border-top:1px solid #444;display:block;font-size:1px;height:0;line-height:0;margin:2px 0}

#css3bar ul a:hover{background-image: -webkit-linear-gradient(top, #990066, #cc0099, #990066);

background-image: -moz-linear-gradient(top, #990066, #cc0099, #990066); background-image: -ms-linear-gradient(top, #990066, #cc0099, #990066); background-image: -o-linear-gradient(top, #990066, #cc0099,

#990066);!important;color:#fff!important;text-decoration:none} </style>

</head>

<body background="gambar/putih.jpg" >

<table align="center" height="1000" width="1000"> <tr>

<td>

<table align="center" height="200" width="1000"> <tr>

<td align="center">


(4)

align="middle" type="application/x-shockwave-flash"

pluginspage="http://www.macromedia.com/go/getflashplayer" /> </td>

</tr> </table>

<table border"5" align="center" width="1000"> <tr>

<td>

<div id='css3pic'> <div id='css3wrapper'> <ul id='css3bar'>

<li><a href='index2.php'>Home</a></li> <li><a href='profil.php'>Profil</a></li> <li><a class='trigger' href='#'>Tutorial</a> <ul>

<li><a href='bahan.php'>Bahan Jurnal PDF</a></li> </ul>

</li>

<li><a class='trigger' href='#'>Enkripsi/Dekripsi PDF</a> <ul>

<li><a class='trigger' href='programenkripsi.php'> (AES-128/Rinjdael)</a></li> <li><a class='trigger' href='programenkripsi3des.php'>Triple DES (3 DES)</a></li> </ul>

</li>

<li><a href='logout.php'>Keluar Aplikasi</a></li> </ul>

<br class='clearit'/> </div>

<div style='clear:both;'/> </div>


(5)

</td> </tr> </table>

<table align="center" background="gambar/oke.jpg" width="1000"> <tr>

<td>

<u><h3>Tentang Encryption</h3></u><br><br> <p align="center"><br><br>

<img src="gambar/gambar6.jpg"><br><br>

Encryption menjadi kebutuhan bagi mereka yang ingin menyimpan file salinan yang tidak dapat diakses tanpa izin.

Encryption adalah proses membuat sandi atau mengacak data untuk menyelubungi pesan yang sesungguhnya dari orang-orang yang tidak mempunyai kunci khusus untuk membaca pesan tersebut. Untuk informasi lebih lanjut tentang encryption ...

<a href="read.php">Silakan Baca...</a></p> </td>

</tr> </table>

<table align="center" background="gambar/oke.jpg" height="500" width="1000"> <tr>

<td align="center"> </td>

</tr> </table> <br><br>

<table align="center" background="gambar/putih.jpg" height="30" width="1000"> <tr>

<td align="center">

---TERIMA KASIH-2016@Rahman--- </td>


(6)

</table> </td> </tr> </table> </body> </html>

Index :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

<head>

<title>Aplikasi Enkripsi & Dekripsi</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style>

#css3pic{background: rgb(176,174,38); /* Fallback Background color */

background: url(images/pattern.png), -moz-linear-gradient(top, rgba(176,174,38,1) 0%, #6e6c00 100%);

background:url(images/pattern.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(176,174,38,1)), color-stop(100%,rgba(110,108,0,1)));width:980px;border-top:1px solid #ccc;margin:0 auto;padding:0 auto;border-radius: 5px;

-webkit-border-radius: 5px; -moz-border-radius: 5px; border: solid 1px #251400;}

#css3wrapper{width:980px;height:27px;margin:0 auto} .clearit{clear:both;height:0;line-height:0.0;font-size:0} #css3bar{width:100%}

#css3bar,#css3bar ul{list-style:none;font-family:Arial, serif;margin:0;padding:0} #css3bar a{display:block;text-decoration:none;font-size:12px;font-weight:bold;text-transform:uppercase;color:#333;padding:8px 8px 8px}

#css3bar a.trigger{padding:8px 13px 8px 9px} #css3bar li{float:left;position:static;width:auto} #css3bar li ul,#css3bar ul li{width:140px}


(7)

#css3bar ul li a{text-align:left;color:#fff;font-size:11px;font-weight:400;text-transform:none;font-family:Arial;border:none;padding:5px 10px;}

#css3bar li ul{z-index:100;position:absolute;display:none;background:#333;padding-bottom:5px;border-radius: 5px;

-webkit-border-radius: 5px; -moz-border-radius: 5px; border: solid 1px #251400;}

#css3bar li:hover a,#css3bar a:active,#css3bar a:focus,#css3bar li.hvr a{;color:#fff;-webkit-transition: all .2s ease-in-out;

-moz-transition: all .2s ease-in-out; -ms-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; }

#css3bar li:hover ul,#css3bar li.hvr ul{background: rgb(176,174,38); /* Fallback Background color */

background: url(images/pattern.png), -moz-linear-gradient(top, rgba(176,174,38,1) 0%, #6e6c00 100%);

background:url(images/pattern.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(176,174,38,1)), color-stop(100%,rgba(110,108,0,1)));display:block} #css3bar li:hover ul a,#css3bar li.hvr ul a{color:#fff;background-color:transparent;text-decoration:none}

#css3bar li ul li.hr{border-top:1px solid #444;display:block;font-size:1px;height:0;line-height:0;margin:2px 0}

#css3bar ul a:hover{background-image: -webkit-linear-gradient(top, #990066, #cc0099, #990066);

background-image: -moz-linear-gradient(top, #990066, #cc0099, #990066); background-image: -ms-linear-gradient(top, #990066, #cc0099, #990066); background-image: -o-linear-gradient(top, #990066, #cc0099,

#990066);!important;color:#fff!important;text-decoration:none} </style>

</head>

<body background="gambar/putih.jpg" >


(8)

<tr>

<td align="center">

<embed src="kepalarahman1.swf" quality="high" width="950" height="200" align="middle" type="application/x-shockwave-flash"

pluginspage="http://www.macromedia.com/go/getflashplayer" /> </td>

</tr> </table>

<table border"5" align="center" width="1000"> <tr>

<td>

<div id='css3pic'> <div id='css3wrapper'> <ul id='css3bar'>

<li><a href='index2.php'>Home</a></li> <li><a href='profil.php'>Profil</a></li> <li><a class='trigger' href='#'>Tutorial</a> <ul>

<li><a href='bahan.php'>Bahan PDF</a></li> </ul>

</li>

<li><a class='trigger' href='#'>Enkripsi/Dekripsi PDF</a> <ul>

<li><a class='trigger' href='enkripsi_aes.php'> (AES-128/Rinjdael)</a></li> <li><a class='trigger' href='enkripsi_tripledes.php'>Triple DES (3 DES)</a></li> </ul>

</li>

<li><a href='logout.php'>Keluar Aplikasi</a></li> </ul>


(9)

</div>

<div style='clear:both;'/> </div>

</td> </tr> </table>

<table align="center" background="gambar/oke.jpg" height="500" width="1000"> <tr>

<td>

<p align="center"><h3><font size="6">APLIKASI ENKRIPSI DAN DEKRIPSI PDF<br><br></font></h3>\

<br><br>

<img src="gambar/kunci2.jpg"><br><br> <img src="gambar/data2.jpg"><br><br>

<h4><font size="4">Keamanan data merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi, terutama yang berisi informasi sensitif yang hanya boleh diketahui isinya oleh pihak tertentu, sehingga perlu dilakukan penyandian data supaya beberapa pihak yang tidak memiliki kewenangan tidak akan dapat membuka informasi yang dikirim. Salah satu cara yang digunakan untuk pengamanan data adalah menggunakan sistem kriptografi yaitu dengan menyediakan isi informasi (plaintext) menjadi isi yang tidak dipahami melalui proses enkripsi (encipher), dan untuk memperoleh kembali informasi yang asli, dilakukan proses deskripsi (decipher), dengan menggunakan kunci yang benar

</h4> </p> </font> </td> </tr> </table> <br><br>

<table align="center" background="gambar/putih.jpg" height="30" width="1000"> <tr>

<td align="center">


(10)

</td> </tr> </table> </td> </tr> </table> </body> </html>

Enkripsi Rinjdael : <!DOCTYPE html> <html>

<head>

<meta charset="utf-8"/>

<title>ENKRIPSI DAN DEKRIPSI FILE PDF KE DOC MENGGUNAKAN AES DAN TRIPLE DES</title>

<meta name="viewport" content="width=device-width, initial-scale=1" />

<link href="http://fonts.googleapis.com/css?family=Raleway:400,700" rel="stylesheet" /> <link href="assets/css/style.css" rel="stylesheet" />

</head> <body>

<a class="back"></a> <div id="stage"> <div id="step1"> <div class="content">

<h1>Apakah Yang Ingin Anda Lakukan?</h1>

<a class="button encrypt green"><Font size="2">Enkripsi File PDF AES-128</font></a> <a class="button decrypt magenta"><Font size="2">Dekripsi File PDF AES-128</font></a> </div>


(11)

</div>

<div id="step2">

<div class="content if-encrypt">

<h1>Pilih Mana File Yang Ingin Dienkripsi</h1> <h2>Silakan Pilih File PDF.</h2>

<a class="button browse blue">Browse</a> <input type="file" id="encrypt-input" /> </div>

<div class="content if-decrypt">

<h1>Pilih File Yang Akan DiDekripsi</h1>

<h2>Hanya File Yang Sudah Terenkripsi Yang Dapat Diproses </h2> <a class="button browse blue">Browse</a>

<input type="file" id="decrypt-input" /> </div>

</div>

<div id="step3">

<div class="content if-encrypt"> <h1>Masukan Kunci</h1>

<h2>Kunci Yang Dimasukan Sebagai Kunci Membuka File Ter-Enkripsi </h2> <input type="password" />

<a class="button process red">Encrypt!</a> </div>

<div class="content if-decrypt"> <h1>Masukan Kunci</h1>

<h2>Masukan Kunci Untuk Membuka File Ter-Enkripsi</h2> <input type="password" />

<a class="button process red">Decrypt!</a> </div>


(12)

<div id="step4"> <div class="content">

<h1>File PDF Di Enkripsi Ke Format Doc Sukses!</h1>

<a class="button download green"><Font size="2">Silakan Download</font></a> </div>

</div> </div> <footer>

<a href="http://localhost/programRahman/index2.php">Kembali Kehalaman Utama >>>>HOME</a>

<div id="tzine-actions"></div> <span class="close"></span> </footer>

</body>

<!-- Include the AES algorithm of the crypto library --> <script src="assets/js/aes.js"></script>

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="assets/js/script.js"> </script>

</html>

Enkripsi 3DES : <!DOCTYPE html> <html>

<head>

<meta charset="utf-8"/>

<title>ENKRIPSI DAN DEKRIPSI FILE PDF KE DOC MENGGUNAKAN AES-128(Rinjdael) DAN TRIPLE DES</title>

<meta name="viewport" content="width=device-width, initial-scale=1" />


(13)

<link href="assets2/css/style.css" rel="stylesheet" /> </head>

<body>

<a class="back"></a> <div id="stage"> <div id="step1"> <div class="content">

<h1>Apakah Yang Ingin Anda Lakukan?</h1>

<a class="button encrypt green"><Font size="2">Enkripsi File PDF Triple DES</font></a> <a class="button decrypt magenta"><Font size="2">Dekripsi File PDF Triple

DES</font></a> </div>

</div>

<div id="step2">

<div class="content if-encrypt">

<h1>Pilih Mana File Yang Ingin Dienkripsi</h1> <h2>Silakan Pilih File PDF.</h2>

<a class="button browse blue">Browse</a> <input type="file" id="encrypt-input" /> </div>

<div class="content if-decrypt">

<h1>Pilih File Yang Akan DiDekripsi</h1>

<h2>Hanya File Yang Sudah Terenkripsi Yang Dapat Diproses.</h2> <a class="button browse blue">Browse</a>

<input type="file" id="decrypt-input" /> </div>

</div>

<div id="step3">

<div class="content if-encrypt"> <h1>Masukan Kunci</h1>


(14)

<h2>Kunci Yang Dimasukan Sebagai Kunci Membuka File Ter-Enkripsi . </h2> <input type="password" />

<a class="button process red">Encrypt!</a> </div>

<div class="content if-decrypt"> <h1>Masukan Kunci</h1>

<h2>Masukan Kunci Untuk Membuka File Ter-Enkripsi.</h2> <input type="password" />

<a class="button process red">Decrypt!</a> </div>

</div>

<div id="step4"> <div class="content">

<h1>File PDF Di Enkripsi Ke Format Doc Sukses!</h1> <a class="button download green">Silakan Download</a> </div>

</div> </div> <footer>

<a class="tz" href="http://localhost/programRahman/index2.php">Kembali Kehalaman Utama >>>>HOME</a>

<div id="tzine-actions"></div> <span class="close"></span> </footer>

</body>

<!-- Include the AES algorithm of the crypto library --> <script src="assets2/js/aes.js"></script>

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="assets2/js/script.js"></script>


(15)

Pilih Bahan :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

<head>

<title>Aplikasi Enkripsi & Dekripsi</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style>

#css3pic{background: rgb(176,174,38); /* Fallback Background color */

background: url(images/pattern.png), -moz-linear-gradient(top, rgba(176,174,38,1) 0%, #6e6c00 100%);

background:url(images/pattern.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(176,174,38,1)), color-stop(100%,rgba(110,108,0,1)));width:980px;border-top:1px solid #ccc;margin:0 auto;padding:0 auto;border-radius: 5px;

-webkit-border-radius: 5px; -moz-border-radius: 5px; border: solid 1px #251400;}

#css3wrapper{width:980px;height:27px;margin:0 auto} .clearit{clear:both;height:0;line-height:0.0;font-size:0} #css3bar{width:100%}

#css3bar,#css3bar ul{list-style:none;font-family:Arial, serif;margin:0;padding:0} #css3bar a{display:block;text-decoration:none;font-size:12px;font-weight:bold;text-transform:uppercase;color:#333;padding:8px 8px 8px}

#css3bar a.trigger{padding:8px 13px 8px 9px} #css3bar li{float:left;position:static;width:auto} #css3bar li ul,#css3bar ul li{width:140px}

#css3bar ul li a{text-align:left;color:#fff;font-size:11px;font-weight:400;text-transform:none;font-family:Arial;border:none;padding:5px 10px;}

#css3bar li ul{z-index:100;position:absolute;display:none;background:#333;padding-bottom:5px;border-radius: 5px;

-webkit-border-radius: 5px; -moz-border-radius: 5px;


(16)

border: solid 1px #251400;}

#css3bar li:hover a,#css3bar a:active,#css3bar a:focus,#css3bar li.hvr a{;color:#fff;-webkit-transition: all .2s ease-in-out;

-moz-transition: all .2s ease-in-out; -ms-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; }

#css3bar li:hover ul,#css3bar li.hvr ul{background: rgb(176,174,38); /* Fallback Background color */

background: url(images/pattern.png), -moz-linear-gradient(top, rgba(176,174,38,1) 0%, #6e6c00 100%);

background:url(images/pattern.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(176,174,38,1)), color-stop(100%,rgba(110,108,0,1)));display:block} #css3bar li:hover ul a,#css3bar li.hvr ul a{color:#fff;background-color:transparent;text-decoration:none}

#css3bar li ul li.hr{border-top:1px solid #444;display:block;font-size:1px;height:0;line-height:0;margin:2px 0}

#css3bar ul a:hover{background-image: -webkit-linear-gradient(top, #990066, #cc0099, #990066);

background-image: -moz-linear-gradient(top, #990066, #cc0099, #990066); background-image: -ms-linear-gradient(top, #990066, #cc0099, #990066); background-image: -o-linear-gradient(top, #990066, #cc0099,

#990066);!important;color:#fff!important;text-decoration:none} </style>

</head>

<body background="gambar/putih.jpg" >

<table align="center" height="200" width="1000"> <tr>

<td align="center">

<embed src="kepalarahman1.swf" quality="high" width="950" height="200" align="middle" type="application/x-shockwave-flash"

pluginspage="http://www.macromedia.com/go/getflashplayer" /> </td>


(17)

</tr> </table>

<table border"5" align="center" width="1000"> <tr>

<td>

<div id='css3pic'> <div id='css3wrapper'> <ul id='css3bar'>

<li><a href='index2.php'>Home</a></li> <li><a href='profil.php'>Profil</a></li> <li><a class='trigger' href='#'>Tutorial</a> <ul>

<li><a href='bahan.php'>Bahan Jurnal PDF</a></li> </ul>

</li>

<li><a class='trigger' href='#'>Enkripsi/Dekripsi PDF</a> <ul>

<li><a class='trigger' href='programenkripsi.php'> (AES-128/Rinjdael)</a></li> <li><a class='trigger' href='programenkripsi3des.php'>Triple DES (3 DES)</a></li> </ul>

</li>

<li><a href='logout.php'>Keluar Aplikasi</a></li> </ul>

<br class='clearit'/> </div>

<div style='clear:both;'/> </div>

</td> </tr>


(18)

</table>

<table align="center" border="3" background="gambar/oke.jpg" height="600" width="1000">

<tr>

<td align="center">

<table align="center" border="3" background="gambar/hijau.jpg" width="600" height="400">

<tr>

<td align="center" colspan="4">

<h1><u><b>Daftar Repository Jurnal PDF</b></u></h1> </td>

</tr> <tr> <td>

<b>File</b> </td><td><b>Description</b></td><td><b> Size</b></td><td><b>Format</b></td>

</tr> <tr>

<td><a href="saputra2014.docx">Download Jurnal Oleh Saputra

2014.docx</a></td><td>Jurnal Oleh Saputra 2014</td><td>88Kb</td><td>PDF</td></tr> <br>

<br> <tr>

<td><a href="refrensi4.pdf">Download

Refrensi4.pdf</a></td><td>Refrensi4</td><td>175Kb</td><td>PDF</td></tr> <br><br>

<tr>

<td><a href="jurnal1.pdf">Download Jurnal1.pdf</a></td><td>Jurnal 1</td><td>256Kb</td><td>PDF</td>

</tr> <br><br> <tr>


(19)

<td><a href="transformasi_jurnal2.pdf">Download

transformasi_jurnal2.pdf</a></td><td>transformasi_jurnal2</td><td>162Kb</td><td>PDF< /td>

</tr> </table> </td> </tr> </table> <br><br>

<table align="center" background="gambar/putih.jpg" height="30" width="1000"> <tr>

<td align="center">

---TERIMA KASIH-2016@Rahman---


(20)

Abdul, Muhammad, Rahim. 2013. Implementasi Kombinasi Algoritma 3DES Dan Algoritma BASE64 Pada Sistem Keamanan Handshaking Animation Store Di CV. Edukreasi. Universitas Dian Nuswantoro

Dwi, Hartanto, Anggit. 2011. Penerapan Teknik Komputer Forensik Untuk Pengembalian Dan Penghapusan Berkas Digital. STMIK AMIKOM Yogyakarta

Edhy, Sutanta. 2012. Aplikasi Penjualan Toko Online dengan menggunakan PHP.

Jakarta: PT. Elex Media Komputindo.

Efendi. 2012. Implementation Sms Gateway In The Development Web Based Information System Schedule Seminar Thesis. Lampung, UNILA

Fauziah, Yuli. 2014. Tinjauan Keamanan Sistem Pada Teknologi Cloud Computing UPN, Yogyakarta

Haviluddin. 2011. Memahami Penggunaan UML (Unified Modelling Language).

Samarinda, Universitas Mulawarman

Hendry. 2002. Perancangan Sistem Keamanan Untuk Aplikasi Survey Berbasis Web.

STMIK Budi Darma Jakarta, Jakarta

Herny, Februarianti. 2014. Rancang Bangun Sistem Perpustakaan untuk Jurnal Elektronik. Universitas Stikubank

Kroenke. 2010. Database Processing Dasar-Dasar, Desain & Implementasi. Jakarta, Erlangga

Kurniawan. 2011. Pengembangan Aplikasi Helpdesk Pada PT. JICT (Jakarta International Container Terminal). Universitas Islam Negeri Syarif Hidayatullah, Jakarta

Mustafa. 2010. Perancangan Keamanan Database Server mySQL Bebasis Sistem Operasi Open Sourcee Pada PT. PLN P3B Sumatera Utara UPT Palembang.

Universitas Palembang, Palembang

Nugroho. 2010. Perencanaan dan Implementasi Sistem Basis Data. ANDI OFFSET, Yogyakarta

Nur, Rohmat, Ibrahim. 2012. Kriptografi Algoritma DES, AES/Rijndael, Blowfish Untuk Keamanan Citra Digital Dengan Menggunakan Metode Discrete Wavelet Transformation (DWT). STMIK Mardira Indonesia, Bandung

Saharia. 2013. Analisis Pengakuan Dan Pengukuran Pendapatan Berdasarkan PSAK NO. 23 Pada PT. Misa Utara Manado. Universitas Sam Ratulangi, Manado


(21)

Surian. 2009. Algoritma Kriptografi Aes Rijndael.Universitas Tarumanegara, Jakarta Sulindawati. 2010. Pengantar Analisa Perancangan Sistem. AMIKOM, Jakarta

Sudrajat, Jaja. 2009. Implementasi Kriptografi Untuk Keamanan Data Dengan Menggunakan Metode Advanced Encryption Standard (AES) 128. Universitas Komputer Indonesia, Bandung


(22)

BAB 3

ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Sistem

Dalam tahap analisa ini menentukan informasi, fungsi, proses atau prosedur yang diperlukan beserta antar muka. Maka sistem ini nantinya dapat mengamankan data input yang berupa plainteks yang kemudian di enkripsi menggunakan algoritma 3DES (Triple DES) dan algoritma AES Advanced Encryption Standard dengan proses yang relatif cepat sehingga pada saat pengujian dapat dilakukan perbandingan.

3.1.1 Analisa Algoritma 3DES

Algoritma 3DES sebagai salah satu algoritma enkripsi data yang sering digunakan di dunia. Algoritma ini sendiri berasal dari pengembangan algoritma DES (Data Encryption Standard) yang diulang sebanyak 3 kali. Algoritma ini sangat cocok dan memang kerap digunakan pada teknologi VPN (Virtual Private Network) yang menjamin keamanan interkoneksi.

VPN adalah teknologi yang menjamin keamanan jaringan meskipun memakai jaringan publik seperti internet atau yang lainnya dengan menggunakan tunnel diantara ujung-ujung koneksinya. Ketika data akan masuk ke dalam tunnel, maka data teersebut akan terlebih dahulu dienkripsi. Setelah proses enkripsi tersebut selesai barulah data yang teelah terenkripsi masuk kedalam tunnel. Ketika data teersebut keluar dari ujung tunnel yang satunya lagi, barulah data tersebut kembali di konversi ke bentuk semula dengan proses dekripsi. Selain yang penulis sbutkan, masih ada beberapa langkah proses dalam VPN yang menjadikan VPN

sebagai solusi keamanan interkoneksi yang melewati jaringan publik. Ada banyak implementasi perangkat lunak dan perangakat keras DES. Melihat pengertian 3DES

diatas, pengulangan sebanyak 3 kali sangatlah penting guna mencegah meet-in-the-middle-attack. Ada beberapa versi 3DES yang bisa dibentuk dalam bentuk sederhana yaitu:

Enkripsi: C=Ek3(Ek2(Ek1(P))) Dekripsi: D=Dk1(Dk2(Dk3(C)))


(23)

Versi pertama 3DES menggunakan 2 buah kunci (mode EDE):

Enkripsi: C=Ek1(Ek2(Ek1(P))) Dekripsi: D=Dk1(Dk2(Dk1(C)))

Versi kedua 3DES menggunakan 3 buah kunci (mode EDE):

Enkripsi: C=Ek3(Dk2(Ek1(P))) Dekripsi: D=Dk1(Ek2(Dk3(P)))

3DES memungkinkan pengguna memakai tiga sub kunci dengan masing-masing panjang 64 bit. Data dienkrip dengan kunci pertama kemudian didekrip dengan kunci kedua dan terakhir dienkrip lagi dengan kunci ke tiga seperti gambar 3.7 proses enkripsi dan dekripsi 3DES berikut.

Gambar 3.1 Proses Enkripsi dan Dekripsi Algoritma 3DES

Ada banyak implementasi perangkat lunak dan perangakat keras DES. Melihat pengertian 3DES diatas, pengulangan sebanyak 3 kali sangatlah penting guna mencegah meet-in-the-middle-attack yang dapat digambarkan seperti skema enkripsi dan dekripsi berikut.


(24)

Gambar 3.2 Enkripsi dan Dekripsi Algoritma 3DES

3.1.2 Algoritma AES

Algoritma AES atau Rijndael menyandikan data dalam empat langkah dasar yaitu, langkah SubBytes(), langkah ShiftRows(), langkah MixColumns() dan AddRoundkey(). Langkah-langkah tersebut dapat di deskripsikan lebih mudah dengan memvisualisasikan data yang akan dikonversi dalam array byte segi empat.

SubBytes() diperoleh dengan memakai atau mensibtusikan kedalam tabel nonliniear

yang dikenal dengan tabel S-Box. ShiftRows() dilakukan melalui permutasi byte-byte

data dari kolom array yang berbeda.

Langkah MixColumns() menyandikan data menjadi kombinasi linear dari byte-byte dari data dalam satu kolom array tersebut. AddRoundKey() dilakukan dengan operasi XOR antara data dengan kunci. Keempat langkah tersebut akan memiliki nama khusus dalam algoritma yang diterangkan AES pada gambar 3.3 dibawah ini.

Plaintext : tampilkerenlebihbaik

Kunci : 47034 9 53 0 04

State : tampilkerenlebihbaik

AES mempresentasikan data dengan cara urutan byte dan bit (0 atau 1 pada bn), dimana data diturunkan dari urutan input 128 bit per blok. Bit-bit tersebut diberi indeks mulai dari 0 sampai dengan 127 (0 ≤ I < 128). Setiap urutan 8 bit (1 byte) diberlakukan sebagai entitas tunggal yang merupakan elemen finite field, sesuai persamaan (3.1).


(25)

Tabel 3.1 Pengindeksan Aliran Input Urutan

Bit

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 …

Input Input0 Input1

Posisi Bit/Byte

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 …

State State0 State1

Cipher AES dilakukan pada array byte dua dimensi yang disebut state. Block data disusun dalam state yang terdiri atas empat baris Nb byte (Nb= panjang block/4 adalah 4 untuk AES-128). Setiap byte diberi dua indeks yang menyatakan posisinya, dinyatakan sebagai sr,c atau s[r,c], dengan indeks baris r(row) dalam interval 0 ≤ r < 4,

sedangkan indeks kolom c (coloum) dalam 0 ≤ c < Nb. Data dalam state

menginformasikan hasil setiap tahap transformasi (intermediate result). Input dikopi ke state array pada permulaan cipher dan inverse cipher, kemudian state diperbaharui pada akhir setiap transformasi sesuai pada gambar 3.1. Nilai state pada transformasi yang terakhir kemudian dikopi ke output kembali sesuai tabel 3.1.

Input State Output

In0 In4 In8 In12 S0,0 S0,1 S0,2 S0,3 Out0 Out4 Out8 Out12 In1 In5 In9 In13 S1,0 S1,1 S1,2 S1,3 Out1 Out5 Out9 Out13 In2 In6 In10 In14 S2,0 S2,1 S2,2 S2,3 Out2 Out6 Out10 Out14 In3 In7 In11 In15 S3,0 S3,0 S3,2 S3,3 Out3 Out7 Out11 Out15

Gambar 3.3 State Array Pada Input dan Output

State juga dapat dipandang sebagai word 4 byte dalam setiap word. Dengan kata lain, state ekivalen dengan array dari empat word yang berindeks c atau indek kolom dari Sr,c seperti gambar 3.4.

W0 = S0,0 . S1,0 . S2,0 . S3,0 W2 = S0,2 . S1,2 . S2,2 . S3,2


(26)

S0,0 S0,1 S0,2 S0,3

=

W0 W1 W2 W3 S1,0 S1,1 S1,2 S1,3

S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3

Gambar 3.4 State ArrayEkivalen Pada Word Array

AES termasuk dalam jenis algoritma kriptografi yang sifatnya simetri dan cipher block. Dengan demikian algoritma ini mempergunakan kunci yang sama saat enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah bit tertentu. Contoh Penerapan, misalkan Jodi mengirim data kepada Mira. Data (plainteks) yang akan dikirimkan oleh Mira adalah :

Plaintex : 0 1 2 3 4 5 6 7 8 9 A B C D E F

In HEX : 30 31 32 33 34 35 36 37 38 3 41 42 43 44 45 46 Key : A B C D E F G H I J K L M N O P

In HEX : 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50

3.1.3 Proses Enkripsi Menggunakan AES

1. SubBytes()

Operasi ini merupakan suatu operasi subtitusi nonlinier yang beroperasi secara mandiri pada setiap byte dengan menggunakan tabel S-Box pada tabel 3.2, transformasi yang telah ditabelkan tersebut mengambil invers multiplikatif

GF(28) tiap byte, kemudian diikuti dengan transformasi yang terdiri dari perkalian oleh matriks yang diikuti dengan penjumlahan vector seperti yang ditunjukan pada persamaan 3.2.

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 X0 X1 X2 X3 X4 X5 X6 X7


(27)

2. Add Round Key

Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang sudah ada dengan chiper key yang chiper key dengan hubungan XOR.

Gambar 3.5 AddRoundKey

XOR dilakukan per kolom yaitu kolom-1 chiper teks di XOR dengan kolom-1

round key dan seterusnya.

3.1.4 Proses Dekripsi Menggunakan AES InvShiftRows :

InvShiftRows adalah transformasi byte yang berkebalikan dengan transformasi

ShiftRows. Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan sedangkan pada ShiftRows dilakukan pergeseran bit ke kiri.

Gambar 3.6 Proses Dekripsi

3.1.5 Analisa Perbandingan Algoritma 3DES dengan Algoritma AES

3DES (Triple Data Encryption Standard) merupakan salah satu algoritma simetris pada kriptografi yang digunakan untuk mengamankan data dengan cara menyandikan data. Proses yang dilakukan dalam penyandian datanya, yaitu proses enkripsi dan


(28)

proses dekripsi. Algoritma 3DES adalah suatu algoritma pengembangan dari algoritma

DES (Data Encryption Standard). Perbedaan DES dengan 3DES terletak pada panjangnya kunci yang digunakan. Pada DES menggunakan satu kunci yang panjangnya 56-bit, sedangkan pada 3DES menggunakan 3 kunci yang panjangnya 168- bit atau masing-masing panjangnya 56-bit. Pada 3DES, 3 kunci yang digunakan bisa bersifat saling bebas (K1 ≠ K2 ≠ K3) atau hanya dua buah kunci yang saling bebas dan satu kunci lainnya sama dengan kunci pertama (K1 ≠ K2 dan K3 = K1). Karena tingkat kerahasiaan algoritma 3DES terletak pada panjangnya kunci yang digunakan, maka penggunaan algoritma 3DES dianggap lebih aman dibandingkan dengan algoritma DES.

Tahap pertama, plainteks yang diinputkan dioperasikan dengan kunci eksternal pertama (K1) dan melakukan proses enkripsi dengan menggunakan algoritma DES. Sehingga menghasilkan pra-cipherteks pertama. Tahap kedua, pra-cipherteks pertama yang dihasilkan pada tahap pertama, kemudian dioperasikan dengan kunci eksternal kedua (K2) dan melakukan proses enkripsi atau proses dekripsi atau tergantung cara pengenkripsian yang digunakan dengan menggunakan algoritma DES. Sehingga menghasilkan prs-cipherteks kedua.

Tahap terakhir, pra-cipherteks kedua yang dihasilkan pada tahap kedua, dioperasikan dengan kunci eksternal ketiga (K3) dan melakukan proses enkripsi dengan menggunakan algoritma DES, sehingga menghasilkan cipherteks (C). Dalam kriptografi, Triple DES adalah nama umum untuk algoritma data Encryption Triple

(TDEA atau Triple DEA) blok cipher, yang menerapkan Standar Enkripsi Data (DES) algoritma cipher tiga kali untuk setiap blok data. Ukuran kunci DES asli cipher dari 56 bit pada umumnya cukup ketika algoritma yang dirancang, tetapi ketersediaan daya komputasi semakin membuat serangan semakin layak. Triple DES menyediakan metode yang relatif sederhana meningkatkan ukuran kunci DES untuk melindungi terhadap serangan tersebut, tanpa perlu merancang sebuah algoritma blok cipher


(29)

Gambar 3.7 Blok Chiper

Seperti semua blok cipher pada gambar 3.7 diatas, enkripsi dan dekripsi dari beberapa blok data dapat dilakukan dengan menggunakan berbagai modus operasi, yang secara umum dapat didefinisikan secara independen dari algoritma blok cipher. Namun, ANS X9.52 menentukan secara langsung dan NIST SP 800-67 menentukan melalui SP 800-38A bahwa beberapa mode hanya dapat digunakan dengan batasan tertentu pada mereka yang belum tentu berlaku untuk spesifikasi umum dari mode. Sebagai contoh, ANS X9.52 menetapkan bahwa untuk chaining blok cipher, vektor inisialisasi akan berbeda setiap kali, sedangkan ISO / IEC 10116 tidak. PUB FIPS 46-3 dan ISO / IEC 18033-3 mendefinisikan hanya algoritma blok tunggal, dan tidak menempatkan batasan pada mode operasi untuk beberapa blok. Perbedaan antara

Triple Data Encryption Standard dengan AES adalah :

3DES = Triple DES Key: 112 ato pake 168 bit

Resource and Speed: Medium and Low AES = Advanced Encryption Standard Key: 128, 192, atau 256bit

Resource and Speed: Low and High

3.2 Analisa Kebutuhan Sistem

Pada perbandingan algoritma 3DES dengan Rinjdael (AES) dalam perancangan aplikasi keamanan data PDF terdapat dua kebutuhan dalam lingkungan pengembangan sistem, yaitu perangkat lunak dan perangkat keras.


(30)

1. Kebutuhan Perangkat Keras (Hardware)

Adapun perangkat keras yang digunakan dalam membuat aplikasi ini, yaitu: a. Laptop Toshiba Satellite L510

b. Core2Duo 2.20 Ghz

c. RAM 2 GB DDR3

d. Hardisk 320 GB

2. Analisis Perangkat Lunak

Adapun spesifikasi perangkat lunak yang dibutuhkan untuk sistem yang akan dibangun adalah sebagai berikut :

a. Sistem operasi menggunakan minimal Microsoft Windows XP. b. Database system menggunakan MySQL.

c. Bahasa pemrograman menggunakan PHP d. Server localhost menggunakan XAMPP

e. Browser yang digunakan diantaranya seperti mozilla firefox ,opera, google chrome

3. Analisis Kebutuhan Pengguna

Adapun untuk mendukung dalam mengolah informasi, dibutuhkan spesifikasi pengguna yang dibutuhkan untuk sistem yang akan dibangun. Kebutuhan pengguna terdiri dari beberapa kategori adalah sebagai berikut:

a. Admin

Seorang admin harus memiliki kemampuan diantaranya, harus mempunyai kemampuan dasar di bidang komputer khususnya di bidang pemrograman PHP dapat mengolah database. Mampu mengoperasikan sistem operasi minimal Microsoft Windows XP. Selanjutnya mampu menggunakan fasilitas internet. b. Pengunjung

Adapun karakteristik minimal pengunjung yang dibutuhkan dalam menjalankan sistem yang kaan dibangun yaitu, mempunyai kemampuan menggunakan komputer. Mampu mengoperasikan sistem operasi minimal Microsoft Windows XP. Mengerti dalam menggunakan internet.


(31)

3.3 Model Perancangan Sistem

Model perancangan sistem perangkat lunak yang dibuat meliputi perancangan model perangkat lunak meliputi pembuatan antarmuka aplikasi sistem keamanan data yang terintegrasi dengan 3DES dan AES.

3.3.1 Activity Diagram

Diagram aktivitas menggambarkan suatu urutan proses yang terjadi pada sistem dari dimulainya aktivitas hingga aktivitas berhenti. Diagram aktivitas hampir mirip dengan

flowchart sistem. Diagram aktivitas merupakan salah satu cara untuk memodelkan

event-event yang terjadi dalam suatu use-case.

Gambar 3.8. Activity Diagram

3.3.2 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan


(32)

sistem. Gambar 3.6 menunjukkan use case enkripsi dan menunjukkan use case

dekripsi.

Gambar 3.9. Use Case Diagram

3.3.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem atau termasuk pengguna, display dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal atau waktu dan dimensi horizontal atau objek-objek yang terkait.


(33)

3.3.4 Class Diagram

Class diagram menggambarkan struktur dan deskripsi kelas, paket dan objek beserta hubungan satu sama lain seperti containment, pewarisan dan asosiasi. Gambar 10 menunjukkan diagram kelas dari aplikasi enkripsi dan dekripsi email.


(34)

2. Flowchart Enkripsi dan Dekripsi Algoritma AES

Pada gambar 3.12 flowcahrt enkripsi dan dekripsi algoritma AES memiliki dasar pengoprasian pada blok 128 bit dengan pembangkitan kunci 128 bit adalah yang pertama dilakukan adalah SubByte melakuakan substitusi byte dengan menggunakan tabel Substitusi (S-box). ShiftRows melakukan pergesaran baris-baris array secara wrapping. MixColumns mengacak data masing-masing kolom

array state dan ADdRoundKey melakukan XOR antara state sekarang Roun key. Pada final round proses yang dilakukan adalah SubBytes, ShiftRows dan

AddRoundKey.


(35)

Gambar 3.12(b) FlowchartSistem Proses Enkripsi Dan Dekripsi Algoritma AES

3.4 Perancangan Interface Sistem 3.4.1 Perancangan Menu Home

Gambar 3.13 Perancangan Menu Home

Sedang Berada di Halaman Menu Home….

SELAMAT DATANG

PERBANDINGAN ALGORITMA 3DES DENGAN RINJDAEL DALAM PERANCANGAN APLIKASI

KEAMANAN DATA PDF

Menu Home Menu Profil Menu Enkripsi/Dekripsi Menu Administrator

Foother

Enkripsi/Dekripsi AES Enkripsi/Dekripsi 3DES


(36)

3.4.2 Perancangan Menu Profil

Gambar 3.14 Perancangan Menu Profil

3.4.3 Perancangan Menu Enkripsi Algoritma 3DES Dan AES

Gambar 3.15 Perancangan Enkripsi 3DES Dan AES

Sedang Berada di Halaman profil

Profil

Menu Home Menu Profil Menu Enkripsi/Dekripsi Menu Administrator

Foother

Sedang Berada di Halaman enkripsi

Menu Home Menu Profil Menu Enkripsi/Dekripsi Menu Administrator

Foother

Enkripsi/Dekripsi AES Enkripsi/Dekripsi 3DES Enkripsi/Dekripsi AES Enkripsi/Dekripsi 3DES

Plainteks : Pesan : Password :

Enkripsi 3DES

Enkripsi AES


(37)

3.4.4 Perancangan Menu Dekripsi Algoritma 3DES Dan AES

Gambar 3.16 Perancangan Dekripsi 3DES Dan AES

3.4.5 Perancangan Menu Administrator

Gambar 3.17 Perancangan Menu Login Sistem Aplikasi

Sedang Berada di Halaman administrator….

Menu Home Menu Profil Menu Enkripsi/Dekripsi Menu Administrator

Foother

Enkripsi/Dekripsi AES Enkripsi/Dekripsi 3DES

LOGIN SISTEM PERBANDINGAN ALGORITMA 3DES DENGAN RINJDAEL (AES)

DALAM PERANCANGAN APLIKASI KEAMANAN DATA PDF

USERNAME

PASSWORD

LOGIN

Sedang Berada di Halaman dekripsi

Menu Home Menu Profil Menu Enkripsi/Dekripsi Menu Administrator

Foother

Enkripsi/Dekripsi AES Enkripsi/Dekripsi 3DES

Plainteks : Pesan : Password :

Dekripsi 3DES


(38)

Gambar 3.17 menampilkan perancangan login sistem perbandingan algoritma 3DES dengan Rinjdael (AES) dalam perancangan aplikasi keamanan data PDF.

Informasi yang ditampilkan pada halaman perancangan menu login sistem aplikasi tersebut diantaranya, username, password dan tombol login yang bertujuan mengeksekusi sistem.


(39)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Pada bab ini akan diuraikan cara dan langkah-langkah untuk mengimplementasikan rancangan perangkat lunak, kebutuhan perangkat lunak maupun perangkat keras yang digunakan, pengujian sistem dan klasifikasi infrastruktur.

4.1.1 Kebutuhan Sistem

Kebutuhan sistem yang diperlukan dan yang digunakan dalam pembuatan sistem perbandingan algoritma 3DES dengan rinjdael dalam perancangan aplikasi keamanan data PDF ini yang diantaranya yaitu, kebutuhan perangkat keras, kebutuhan perangkat lunak.

4.1.2 Perangkat Keras

Perangkat keras menjelaskan spesifikasi perangkat keras standart yang dibutuhkan dalam merancang aplikasi adalah sebagai berikut:

1. Processor Intel Core 2 Ghz

2. RAM 1 GB

3. Hardisk40 GB

4. Keyboard dan Mouse

5. Monitor 14“ 4.1.3 Perangkat Lunak

Perangkat lunak menjelaskan spesifikasi perangkat lunak standart yang dibutuhkan dalam merancang aplikasi adalah sebagai berikut :


(40)

3. Bahasa pemrograman menggunakan PHP

4. Server localhost menggunakan XAMPP

5. Browser yang digunakan diantaranya seperti mozilla firefox, opera, google chrome

4.2 Antarmuka Aplikasi Enkripsi dan Dekripsi File Jurnal

Antarmuka (interface) dilakukan dengan mempertimbangkan factor kemudahan pengguna dan secara tidak langsung dapat digunakan untuk menuntun pengguna agar terhindar dari kekeliruan pada saat mengisi masukan ke dalam perangkat lunak. Proses input output menu enkripsi perancangan antarmuka perancangan keamanan file jurnal menggunakan algoritma aes (rijndael) dan 3DES sebagai berikut :

Gambar 4.1 Antarmuka Menu Login Aplikasi Enkripsi dan Dekripsi

Berdasarkan gambar 4.1 merupakan hasil implementasi aplikasi yang menampilkan antarmuka menu login. Antarmuka menu login tersebut merupakan implementasi pengguna yang bermanfaat untuk mempermudah pengguna dalam melakukan proses login kedalam aplikasi. Antarmuka menu login menyediakan informasi login dengan memasukan userid dan password sebagai bukti sudah pernah menjadi anggota.


(41)

Gambar 4.2 Antarmuka MenuHome

Gambar 4.2 antarmuka menu home merupakan hasil implementasi aplikasi yang menampilkan halaman utama aplikasi. Selain itu antarmuka menuhome juga menampilkan informasi tentang keamanan data. Keamanan data merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi, terutama yang berisi informasi sensitif yang hanya boleh diketahui isinya oleh pihak tertentu saja, sehingga perlu dilakukan penyandiaan data supaya beberapa pihak yang tidak memiliki kewenangan tidak akan dapat membuka informasi yang dikirim atau disimpan. Salah satu cara yang digunakan untuk mengamankan data adalah menggunakan sistem kriptografi yaitu dengan mengubah file menjadi enkripsi dan memasukan kata kunci dan melakukan proses dekripsi file.


(42)

Gambar 4.3 Antarmuka Menu Enkripsi dan Dekripsi AES Dengan 3DES Gambar 4.3 antarmuka menu enkripsi dan dekripsi file dapat dilakukan dengan memilih antarmuka menu enkripsi dan dekripsi file dan dilanjutkan dengan memilih salah satu proses yang akan dilakukan antara proses enkripsi atau proses dekripsi file.

Gambar 4.4 Antarmuka MenuUpload File Enkripsi AES Dengan 3DES Gambar 4.4 antarmuka menu upload file enkripsi. Proses upload dimulai dengan memilih file yang akan upload dan memilih browse. Setelah itu sistem dapat melanjutkan proses enkripsi


(43)

Gambar 4.5 Antarmuka Menu Input Kode Enkripsi AES Dengan 3DES Gambar 4.5 antarmuka menu input kode enkripsi dapat dimulai dengan memasukan angka minimal 6 digit. Selanjutnya setelah kode angka dimasukan sistem dapat melanjutkan proses enkripsi file.

Gambar 4.6 Antarmuka Proses Download Enkripsi File Jurnal1.PDF

Gambar 4.6 antarmuka proses enkripsi file jurnal bab1.doc. proses

download dimulai dengan menyelesaikan proses enkripsi terlebih dahulu kemudian dilanjutkan dengan proses download file.


(44)

Gambar 4.7 Download Hasil Enkripsi File Jurnal 1.PDF

Gambar 4.7 merupakan antarmuka proses download hasil enkripsi file jurnal skripsi pada jurnal1.doc. proses ini dimulai dengan menyelesaikan proses upload

kemudian proses input kode kunci dan proses download file. Pada proses

download file sukses maka sistem menampilkan hasil download file yang telah di enkripsi.

Gambar 4.8 Tampil Hasil Enkripsi File Jurnal 1.PDF

Gambar 4.8 merupakan antarmuka hasil enkripsi file jurnal1.pdf. Proses ini dimulai dengan menyelesaikan proses upload kemudian proses input kode kunci dan proses download file. Pada proses download file sukses maka sistem menampilkan hasil download file yang telah dienkripsi dan proses yang paling akhir adalah menampilkan hasil enkripsi dalam bentuk tulisan buatan.


(45)

Gambar 4.9 Antarmuka Proses Upload File PDF

Gambar 4.9 merupakan antarmuka proses dekripsi file pdf. Proses dekripsi dimulai dengan proses upload file pdf. Kemudian dilanjutkan dengan memilih

browse, pada proses akhir sistem melakukan proses browse file.

Gambar 4.10 Upload File Jurnal1.PDF

Gambar 4.10 merupakan proses upload file jurnal1.pdf, setelah proses

upload dengan memilih browse file dilakukan maka sistem menampilkan form


(46)

Gambar 4.11 Input Kode Dekripsi File Jurnal1.PDF

Gambar 4.11 merupakan input kode dekripsi file jurnal 1.PDF, yang dimulai dengan memasukan kode input minimal 6 digit dan memilih enter.

Gambar 4.12 Hasil Proses Dekripsi File Jurnal 1.PDF

Gambar 4.12 merupakan proses dekripsi file jurnal1.pdf, yang dimulai dengan proses upload, selanjutnya setelah proses upload selesai memilih


(47)

Gambar 4.13 Hasil Proses Dekripsi File Jurnal1.PDF

Gambar 4.13 merupakan hasil proses dekripsi file jurnal pada jurnal1.pdf, yang dimulai dengan proses upload dan dilanjutkan dengan proses download file, setelah itu sistem akan menampilkan jurnal1.pdf yang telah di dekripsi.

Gambar 4.14 Hasil Dekripsi File Jurnal1.PDF

Gambar 4.14 menampilkan hasil dekripsi file jurnal1.pdf, yang dimulai dengan proses upload, input kode dan download hasil dekripsi. Hasil dekripsi yang ditampilkan adalah hasil enkripsi file buatan menjadi plainteks.


(48)

4.3 Pengujian Aplikasi Program

Pada bagian ini dilakukan pengujian aplikasi untuk mengenkripsi file dan setelah proses enkripsi selesai dilakukan akan dilihat hasilnya kemudian dilakukan pengujian apakah file tersebut bisa dikembalikan seperti semula. Pengujian dilakukan pada beberapa file dengan ekstensi berbeda, yaitu ekstensi-ekstensi file

yang didukung oleh aplikasi ini kemudian akan dilihat perubahan dari setiap ekstensi serta hasil enkripsi dari masing-masing file. Pengujian dilakukan pada ukuran file yang berbeda dan membandingkan waktu proses untuk masing-masing proses enkripsi atau dekripsi. Kemudian hasil pengujian terhadap ukuran file dan waktu proses. Hasil pengujian pada beberapa file di atas dapat dirangkum dalam tabel berikut yang menunjukkan ukuran dan waktu proses untuk masing-masing

file pada tiap proses enkripsi dan dekripsi. Hasil proses enkripsi beberapa file yang berekstensi berbeda dapat dilihat pada tabel 4.1.

Tabel 4.1. Hasil Perbandingan Enkripsi Beberapa File Perbandingan Algoritma 3DES Dengan Rinjdael Dalam Perancangan Aplikasi Keamanan

Data PDF

No Nama File Plainteks

Ukuran File Plainteks

(KB)

Ukuran File Cipherteks (KB)

Waktu Proses Enkripsi (s)

3DES Rinjdael 3DES Rinjdael

1 Cover.pdf 378 KB 843 KB 672KB 2.87 s 2.15 s

2 Berkas.pdf 317 KB 738 KB 565KB 2.60 s 2.11 s

3 Bab1.pdf 90 KB 296 KB 161 KB 1.96 s 1.67 s

4 Bab2.pdf 336 KB 781 KB 597 KB 2.75 s 2.12 s

5 Bab3.pdf 414 KB 968 KB 736 KB 3.04 s 2.47 s 6 Bab4.pdf 981 KB 1.780 KB 1.445 KB 3.89 s 3.58 s


(49)

Tabel 4.2. Hasil Proses Dekripsi Beberapa File Hasil Enkripsi No Nama File

Plainteks

Ukuran File Cipherteks (KB)

Ukuran File Plainteks(KB)

Waktu Proses Enkripsi (s)

3DES Rinjdael 3DES Rinjdael 3DES Rinjdael

1 Cover.pdf 843 KB 672KB 378 KB 378 KB 3.98 s 3.25 s

2 Berkas.pdf 738 KB 565KB 317 KB 317 KB 3.57 s 3.04 s

3 Bab1.pdf 296 KB 161 KB 90 KB 90 KB 2.49 s 2.07 s

4 Bab2.pdf 781 KB 597 KB 336 KB 336 KB 3.65 s 3.13 s

5 Bab3.pdf 968 KB 736 KB 414 KB 414 KB 4.13 s 3.47 s 6 Bab4.pdf 1.780 KB 1.445 KB 981 KB 981 KB 6.14 s 5.79 s

7 Bab5.pdf 387 KB 227 KB 128 KB 128 KB 2.68 s 2.14 s

Dari hasil di atas dapat dilihat bahwa besarnya ukuran file mempengaruhi waktu atau lamanya proses enkripsi atau dekripsi. Dari tujuh file yang diproses oleh aplikasi ini terlihat bahwa semakin besar ukuran file, maka semakin banyak waktu yang diperlukan untuk proses tersebut. Waktu proses untuk enkripsi dan dekripsi untuk masing-masing file sedikit berbeda, diakibatkan ukuran antara file plainteks dan file cipherteks-nya sedikit berbeda. Ukuran file cipherteks sedikit lebih besar dibandingkan plainteksnya. Perbedaan ukuran antara plainteks dan

cipherteks ini mengakibatkan waktu proses yang diperlukan untuk dekripsi sedikit lebih besar dibandingkan untuk proses enkripsi. Penambahan ukuran file cipherteks diakibatkan penambahan beberapa byte untuk mode enkripsi pada proses enkripsi. Tetapi ketika cipherteks didekripsi kembali, ukuran file kembali seperti plainteks-nya.


(50)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari hasil perbandingan algoritma 3DES dengan AES-128 (Rinjdael) pada data

PDF ini, dapat diambil kesimpulan sebagai berikut :

1. Dalam perbandingan Algoritma 3DES dan Rinjdael dalam aplikasi ini menunjukan bahwa kompleksitas runtime 3DES lebih besar dari pada Rinjdael.

2. Selain dalam ukuran runtime yang berbeda, perbedaan kedua algortima dari hasil pengujian nya, dapat dilihat bahwa hasil ukuran file yang di enkripsi menggunakan Algoritma 3DES lebih besar dari pada file Algoritma Rinjdael.

3. Mengubah data yang ingin diamankan ke dalam bilangan hexadesimal baik plainteks dan kuncinya dengan menggunakan tabel ASCII, kemudian dilakukan dengan proses enkripsi dan dekripsi, proses enkripsi dilakukan proses sebanyak empat (4) langkah, langkah pertama yang dilakukan proses

AddRoundkey, melakukan XOR antara plainteks dengan cipher key, langkah ke dua proses subbbytes, substitusi byte dengan menggunakan tabel substitusi (S-BOX), langkah ke tiga proses ShiftRows, mengacak data di masing-masing kolom array state, langkah ke empat proses MixColumns, mengajak data di masing-masing kolom array state.

5.2. Saran

Saran – saran yang berguna untuk pengembangan lebih lanjut dalam membandingkan kedua algoritma adalah sebagai berikut:

1. Pada perbandingan algoritma 3DES dengan rinjdael yang diuji hanya ukuran dan waktu enkripsi, data yang dienkripsi data berformat PDF, maksimal data yang dienkripsi 100 MB, data yang digunakan berupa angka, huruf, tabel, gambar rumus dan lain-lain sehingga untuk selanjutnya ada baiknya proses


(51)

enkripsi tidak hanya dilakukan untuk format pdf namun dapat juga digunakan untuk mengenkripsi data berformat docx, excel, notepad dan lain-lain

2. Agar program aplikasi ini dapat digunakan oleh masyarakat secara bebas sehingga dapat lebih bermanfaat, maka sebaiknya program aplikasi memiliki lisensi free software, serta bersifat stand alone.


(52)

BAB 2

LANDASAN TEORI

2.1. Kriptografi

Kriptografi merupakan langkah- langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut dengan melakukan pembangkitan kunci, enkripsi dan dekripsi. Kriptografi bertujuan untuk memberi layanan keamanan atau yang juga dinamakan sebagai aspek-aspek keamanan (Mustafa, 2010).

Secara bahasa kriptografi berasal dari kata crypto yang berarti rahasia dan

graphy yang berarti tulisan. Jadi kriptografi dapat diartikan sebagai tulisan rahasia. Secara istilah dapat didefinisikan sebagai studi tentang teknik-teknik matematika yang berhubungan dengan keamanan informasi. Teknik kriptografi terdiri dari simetri dan asimetri. Teknik ini digunakan untuk mengamankan aplikasi atau kemanan informasi sehingga dapat menjaga kerahasiaan, integritas data, autentikasi data dan non-repudiation kriptografi diperlukan karena pada dasarnya informasi sangat peting bagi segala aspek, tuntutan kemanan informasi berubah dari waktu ke waktu. Perubahan tuntutan ini terjadi karena transformasi atau penggunaan perlengkapan kebutuhan utama untuk pertukaran informasi, dari mulai cara tradisional atau fisik yang membutuhkan mekansime pengarsipan atau administrasi secara fisik dan membutuhkan ruang yang lebih besar, menggunakan otomatisasi komputer personal, sampai transfer informasi melalui penggunaan jaringan komputer, baik intranet maupun internet yang sekarang menjadi tren dan kebutuhan.

Kriptografi secara umum merupakan ilmu dan seni untuk menjaga kerahasian berita (Bruce Scheiner–Applied Cryptography). Kriptografi juga dapat diartikan sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta otentifikasi data. Namun, pada kriptografi tidak semua aspek keamanan informasi akan ditangani. Kriptologi merupakan ilmu gabungan antara kriptografi dan analisis sandi. Kriptografi berusaha mengamankan data agar hanya yang disetujui yang dapat membaca pesan atau enkripsi. Kriptografi juga dapat memberi keyakinan


(53)

bahwa pengirimnya merupakan orang yang sudah kita percaya atau otentifikasi dan berfungsi juga agar pengirim tidak dapat mengingkari telah mengirim pesan (non repudiation). Sebaliknya, analisis sandi berusaha memecahkan algoritma kriptografi. Tanpa analisis sandi, sangat sulit bagi kita untuk mengukur kekuatan algoritma kriptografi. Kebanyakan peneliti di tanah air hanya menitikberatkan penelitiannya pada bagaimana membuat algoritma kriptografi yang dianggap aman, tanpa sedikitpun memberikan bukti bahwa algoritmanya aman, setidaknya terhadap serangan atau analisis sandi tertentu. Seringkali algoritma dianggap aman hanya berdasar kompleksitasnya. Oleh karena itu, kami mencoba melakukan penelitian bagaimana membuktikan keamanan algoritma enkripsi, khususnya terhadap Analisis Sandi Diferensial (ASD). ASD sendiri dapat diterapkan untuk memeriksa keamanan stream cipher, block cipher, dan fungsi hash.

AES menggunakan struktur yang berbeda. Penggunaan struktur yang sama ini dimaksudkan agar lebih efisien jika diimplementasikan pada perangkat keras. Penggunaan ulang struktur pengacakan untuk ekspansi kunci juga bertujuan agar setiap bit kunci utama memiliki pengaruh yang sama ke setiap ronde, karena memiliki difusi yang sangat besar. Sehingga ekspansi kunci pada AE1 memiliki difusi yang jauh lebih cepat daripada AES. Hal ini bertujuan untuk menggagalkan serangan related key attack. Akibat lanjutnya adalah, setiap perubahan satu bit kunci utama akan mengakibatkan perubahan sejumlah besar bit ciphertext. Dalam makalah ini, penelitian ditekankan pada bagaimana cara mengukur kekuatan AE1 terhadap analisis sandi diferensial, dan perbandingannya dengan DES serta AES. Kriptografi dapat memenuhi kebutuhan umum suatu transaksi yaitu, kerahasiaan (confidentiality), keutuhan (integrity), jaminan atas identitas dan keabsahan (authenticity), tidak bisa disangkal (non-repudiation). Mekanisme kriptografi dibagi menjadi dua bagian yaitu : a. Kriptografi Sederhana

Gambar 2.1 Mekanisme kriptografi sederhana

plaintext

ciphertext

plaintext

Enkripsi

Dekripsi

plaintext

ciphertext

plaintext


(54)

b. Kriptografi Berbasis Kunci

Gambar 2.2 Mekanisme kriptografi berbasis kunci

Suatu data yang tidak disandikan disebut plaintext atau cleartext. Sedangkan data yang telah tersandikan disebut ciphertext. Proses yang dilakukan untuk mengubah plaintext menjadi ciphertext disebut enkripsi (encryption) atau

encipherment. Sedangkan proses untuk mengubah ciphertext kembali ke plaintext

disebut dekripsi (decryption) atau decipherment. Dalam kriptografi diperlukan parameter yang digunakan untuk proses konversi data yaitu suatu set kunci. Berdasarkan jenis kunci yang digunakan dalam proses enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi dua jenis, yaitu kriptografi simetrik dan kriptografi asimetrik. Perbedaan utama di antara keduanya terletak pada sama dan tidaknya kunci yang digunakan dalam proses enkripsi dengan kunci yang digunakan pada proses dekripsi. Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan atas dua jenis yaitu algoritma simetrik (symmetric) dan asimetrik

(asymmetric) :

2.1.1 Proses Enkripsi Menggunakan Algoritma AES

Proses enkripsi pada algoritma. AES terdiri dari 4 jenis transformasi bytes, yaitu

SubBytes, ShiftRows, Mixcolumns dan AddRoundKey. Pada awal proses enkripsi, input yang telah dikopikan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns dan

AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES

disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir, state tidak mengalami transformasi

MixColumns (Sudrajat, 2009). kunci

plaintext ciphertext

plaintext

Enkripsi Dekripsi

kunci kunci

plaintext ciphertext

plaintext

Enkripsi Dekripsi


(55)

   

 

   

 

02 01 01 03

03 02 01 01

01 03 02 01

01 01 03 02

Gambar 2.3 Diagram Alir Proses Enkripsi Metode Rijndael (AES 128)

(sumber : Sudrajat, 2009)

2.1.2 Proses Dekripsi Menggunakan Algoritma AES Atau Rinjdael

Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse cipher yang mudah dipahami untuk algoritma

AES. Transformasi byte yang digunakan pada invers cipher adalah InvShiftRows, InvSubBytes, InvMixColumns dan AddRoundKey (Sudrajat, 2009).


(56)

            E D B B E D D B E D B E 0 09 0 0 0 0 09 0 0 0 0 09 09 0 0 0

Gambar 2.4 Diagram Alir Proses Dekripsi Metode Rijndael (AES 128)

(sumber : Sudrajat, 2009)

2.2 Data

Data merupakan sekumpulan informasi yang diperlukan untuk pengambilan kesimpulan. Secara umum data dapat diartikan dalam beberapa pengertian diantaranya, data adalah fakta berupa angka, karakter, simbol, gambar, tanda-tanda, isyarat, tulisan, suara, bunyi yang merepresentasikan keadaan sebenarnya yang selanjutnya digunakan sebagai masukan suatu sistem informasi (Saharia, 2013).

Data adalah deskripsi dari sesuatu dan kejadian yang dihadapi (data is the description of things and events that we face). Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Data adalah bahan yang akan diolah atau diproses berupa angka-angka, huruf-huruf, simbol-simbol, kata-kata yang akan menunjukkan situasi dan lain-lain yang berdiri sendiri. Dalam bahasa sehari-hari data adalah fakta tersurat atau dalam bentuk catatan atau tulisan tentang suatu obyek. Dalam dunia komputer data adalah segala sesuatu yang dapat disimpan dalam memori menurut format tertentu.

Data adalah fakta yang sudah ditulis dalam bentuk catatan atau direkam ke dalam berbagai bentuk media. Data merupakan komponen dasar dari informasi yang akan diproses lebih lanjut untuk menghasilkan informasi. Contohnya saja setiap


(57)

perusahaan memiliki banyak sekali data untuk diolah menjadi suatu informasi yang penting untuk kemajuan perusahaan itu, misalnya data dalam format *.doc. Data tersebut bisa didapatkan dari berbagai sumber, diantaranya adalah data yang diterima oleh komputer dari suatu jaringan, PDA, sistem komputer standar, alat konsumen seperti flashdisk, disket dan lain-lain. Tetapi jika distrukturkan maka sumber data tersebut bisa dibagi dalam empat kategori sumber data utama yaitu file, sistem operasi,

network traffic dan berbagai aplikasi lainnya

2.2.1 File (Berkas)

Berkas adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Dari sudut pandang pengguna, berkas merupakan bagian terkecil dari penyimpanan logis, artinya data tidak dapat ditulis ke penyimpanan sekunder kecuali jika berada di dalam berkas. Biasanya berkas mempresentasikan program dan data. Data dari berkas dapat bersifat numerik, alfabetik, alfanumerik ataupun biner (Dwi, Hartanto, Anggit, 2011).

Format berkas juga biasa bebas, misalnya berkas teks atau dapat juga diformat pasti. Secara umum berkas adalah urutan bit, byte, baris atau catatan yang didefinisikan oleh pembuat berkas dan pengguna. Informasi dalam berkas ditentukan oleh pembuatnya. Ada banyak bergam jenis informasi yang dapat disimpan dalam berkas. Hal ini disebabkan oleh struktur tertentu yang dimiliki oleh berkas, sesuai dengan jenisnya masing-masing.

2.2.2 Keamanan Data

Keamanan data merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi, terutama yang berisi informasi sensitif yang hanya boleh diketahui isinya oleh pihak tertentu, sehingga perlu dilakukan penyandian data supaya beberapa pihak yang tidak memiliki kewenangan tidak akan dapat membuka informasi yang dikirim (Fauziah, 2014).

Salah satu cara yang digunakan untuk pengamanan data adalah menggunakan sistem kriptografi yaitu dengan menyediakan isi informasi (plaintext) menjadi isi yang tidak dipahami melalui proses enkripsi (encipher) dan untuk memperoleh kembali


(58)

informasi yang asli, dilakukan proses deskripsi (decipher), dengan menggunakan kunci yang benar.

2.3. PDF (Portable Document Format)

PDF adalah sebuah format dokumen yang memungkinkan memuat di dalamnya text,

gambar, grafik. PDF merupakan singkatan dari Portable Document Format, PDF pertama kali dibuat oleh perusahaan Adobe System pada tahun 1993 sekaligus pemilik hak paten PDF tersebut (Abdul, 2013).

PDF pertama kali dibuat dimaksudkan untuk mempermudah pertukaran dokumen, keunggulan dari dokumen yang dibuat dengan format PDF adalah dia tidak bisa diubah secara langsung oleh si penerima dokumen tidak seperti file dokumen dengan format .doc, .txt atau yang lainnya. Namun belakangan file dokumen yang dibuat dengan format PDF bisa diubah isinya dengan menggunakan bantuan software PDF editor yang sudah banyak beredar.

2.4. Algoritma Rinjdael

Algoritma Rijndael dibaca Rhinedoll adalah algoritma yang telah dipilih oleh National Institute of Standards and Technology (NIST) sebagai calon Advanced Encryption Standard (AES). Algoritma Rijndael dipilih dari daftar lima finalis, yang dipilih lebih dari 15 pengaju. Algoritma Rijndael akan mulai menggantikan data Encryption Standard (DES) dan kemudian Triple DES selama beberapa tahun ke depan dalam banyak aplikasi kriptografi. Algoritma ini dirancang oleh dua ahli kriptologi Belgia yaitu Vincent Rijmen dan Joan Daemen.

Garis besar algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit adalah sebagai berikut atau di luar proses pembangkitan round key:

1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap ini disebut juga initial round.

2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran adalah: a. SubBytes: substitusi byte dengan menggunakan table substitusi (Sbox).

b. ShiftRows: pergeseran baris-baris array state secara wrapping. c. MixColumns: mengacak data di masing-masing kolom array state.


(59)

3. Final round: proses untuk putaran terakhir: a. SubBytes

b. ShiftRows

c. AddRoundKey Garis besar algoritma enkripsi.

Algoritma Rijndael termasuk dalam jenis algoritma kriptografi yang sifatnya simetri dan cipher block. Dengan demikian algoritma ini mempergunakan kunci yang sama saat enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah bit tertentu. Rijndael mendukung berbagai variasi ukuran blok dan kunci yang akan digunakan. Namun Rijndael mempunyai ukuran blok dan kunci yang tetap sebesar 128, 192, 256 bit. Pemilihan ukuran blok data dan kunci akan menentukan jumlah proses yang harus dilalui untuk proses enkripsi dan dekripsi (Surian, 2009).

Algoritma Rinjdael adalah proses mengenkripsi dan mendekripsi blok data sepanjang 128 bit dengan panjang kunci 128 bit, 192 bit atau 256 bit. Proses enkripsi pada algoritma Rinjdael terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns dan AddRoundKey. Pada algoritma Rinjdael, jumlah blok input, blok output, dan stateadalah 128 bit. Dengan besar data 128 bit, berarti Nb= 4 yang menunjukkan panjang data tiap baris adalah 4 byte (Nur, 2012).

Dengan blok input atau blok data sebesar 128 bit, key yang digunakan pada algoritma Rinjdael tidak harus mempunyai besar yang sama dengan blok input. Cipher key pada algoritma Rinjdael bisa menggunakan kunci dengan panjang 128 bit, 192 bit, atau 256 bit. Perbedaan panjang kunci akan mempengaruhi jumlah round yang akan diimplementasikan pada algoritma Rinjdael ini. Pada tahun 2001, Algoritma Rijndael, karya peneliti dari universitas di Belgia ditetapkan menjadi AES. Rijndael merupakan algoritma yang dapat menerima masukan data 128 bit dan menghasilkan data 128 bit pula. Bila digunakan dengan kunci 128 bit, maka kita menyebutnya sebagai AES-128.

Selain 128 bit, AES juga dapat menerima kunci 192 dan 256 bit. Dalam tulisan ini akan dibahas AES-128. Plaintext diletakkan pada matrik segiempat yang disebut state


(60)

Gambar 2.5 Contoh State AES

(sumber : Surian, 2009)

Kemudian dilakukan operasi pada setiap ronde yang dalam notasi pseudo C sebagai berikut :

AddRoundKey(State); Ronde(State,KunciRonde) {

ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State); }

Pada bagian akhir terdapat sedikit perbedaan operasi agar struktur dekripsinya menyerupai struktur enkripsinya. Operasi Mixcolumn ditiadakan pada ronde terakhir.

Ronde(State,KunciRonde) {

ByteSub(State); ShiftRow(State); AddRoundKey(State); }


(1)

vi

ABSTRAK

PDF adalah sebuah format dokumen yang memungkinkan memuat di dalamnya text, gambar, grafik. Adapun proses enkripsi menggunakan Rinjdael dengan algoritma Triple DES sama-sama dapat mengamankan data PDF, namun masing-masing algoritma memiliki kelebihan dan kelemahan dalam mengamankan data PDF. Sehingga perlu membandingkan kedua algoritma. Dimana rinjdael memiliki kemampuan dalam proses enkripsi yaitu dalam 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns dan AddRoundKey. Pada algoritma Rinjdael, jumlah blok input, blok output, dan stateadalah 128 bit. Sementara algoritma Triple DES kemampuan dalam proses pengenkripsi dapat dilakukan dalam 3 tahap namun tidak mengubah algoritma dari DES. 3DES memiliki tiga buah kunci yang berukuran 168 bit atau tiga kali kunci 56 bit dari DES. Adapun tujuan penelitian untuk membandingkan penggunaan algoritma 3DES dan AES-Rinjdael sehingga dapat mengetahui perbedaan dan kemampuan kedua algoritma yang dilengkapi informasi running time dan ukuran data sebelum dan sesudah di enkripsi dalam mengamankan data PDF. Metodologi penelitian dilakukan dengan studi kepustakaan yang berhubungan dengan algoritma 3DES dan AES-Rinjdael. Sehingga hasil perbedaan kedua algoritma dari hasil pengujian adalah besarnya ukuran file mempengaruhi waktu atau lamanya proses enkripsi atau dekripsi. Dimana, dari sepuluh file yang dapat diproses oleh aplikasi ini dan dilakukan percobaan pada sebuah file yang mewakili masing-masing ekstensi, terlihat bahwa semakin besar ukuran file, maka semakin banyak waktu yang diperlukan untuk proses tersebut. Waktu proses untuk enkripsi dan dekripsi untuk masing-masing file sedikit berbeda, diakibatkan ukuran antara file plainteks dan file cipherteks-nya sedikit berbeda.

Kata Kunci : Perbandingan, Keamanan Data, Enkripsi, Dekripsi, 3DES, Rinjdael, PDF, UML


(2)

vii

ABSTRACT

PDF is a document format that allows load in it text, images, graphics. The encryption process uses Rinjdael with Triple DES algorithm alike can secure PDF data, but each algorithm has its advantages and weaknesses in securing PDF data. So it is necessary to compare the two algorithms. Where rinjdael have the ability in the encryption process are 4 types of transformation bytes, ie SubBytes, ShiftRows, Mixcolumns and AddRoundKey. In Rinjdael algorithm, the number of blocks of input, output blocks, and stateadalah 128 bits. While the Triple DES algorithm pengenkripsi ability in the process can be done in three stages but did not change the algorithms of DES. 3DES has three key size 168 bits or 56 bits key three times from DES. The purpose of the study was to compare the use of algorithms 3DES and AES-Rinjdael so as to know the difference and the ability of both algorithms that include information running time and data size before and after the secure data encryption in PDF. Methodology of research conducted with the study of literature related to algorithms 3DES and AES-Rinjdael. So that the difference between the two algorithms of the test results is the large file size affect the timing or duration of the encryption or decryption process. Where, ten files that can be processed by these applications and conducted experiments on a file that represents each extension, it appears that the larger the file size, the more time it takes for the process. The processing time for encryption and decryption for each file is slightly different, due to the size of the file plaintext and ciphertext file was slightly different.

Keywords: Comparison, Data Security, Encryption, Decryption, 3DES, Rinjdael, PDF, UML


(3)

viii

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

Bab 1 Pendahuluan

1.1Latar Belakang 1

1.2Rumusan Masalah 3

1.3Batasan Masalah 3

1.4Tujuan Penelitian 3

1.5Manfaat Penelitian 3

1.6Metode Penelitian 4

1.7Sistematika Penulisan 4

Bab 2 Landasan Teori

2.1Kriptografi 6

2.2Data 10

2.3PDF ( Portable Document Format ) 12

2.4Algoritma Rinjdael 12

2.53DES ( Triple Data Encryption Standard ) 17

2.6Pengertian Perancangan 18

2.7Model Perancangan Unfield Modeling leanguage ( UML) 18

2.8Pengujian Metode Black Box 25

2.9Berbasis Web 26

Bab 3 Analisa dan Perancangan Sistem

3.1Analisa Sistem 29

3.2Analisa Kebutuhan Sistem 36

3.3Model Perancangan Sistem 38

3.3.1 Activity Diagram 38

3.3.2 Use-Case Diagram 38

3.3.3 Squence Diagram 39

3.3.4 Class Diaggram 40

3.4Perancangan Interface Sistem 42

3.4.1 Rancangan Menu Home 42

3.4.2 Rancangan menu Profile 43

3.4.3 Rancangan Menu Enkripsi Algoritma 3DES Dan AES 43 3.4.4 Rancangan Menu Dekripsi Algoritma 3DES Dan AES 44


(4)

ix

Bab 4 Implementasi dan Pengujian

4.1Implementasi Sistem 46

4.1.1 Kebutuhan Sistem 46

4.1.2 Perangkat Keras 46

4.1.3 Perangkat Lunak 46

4.2Antarmuka Aplikasi Enkripsi Dan Dekripsi File Jurnal 47

4.3Pengujian Aplikasi Program 55

Bab 5 Kesimpulan dan Saran

5.1Kesimpulan 57

5.2Saran 57

Daftar Pustaka 58

Listing Program A-1


(5)

x

DAFTAR TABEL

Hal. 2.1 Jumlah Proses Berdasarkan Bit Block Dan Kunci 17

2.2 Simbol-Simbol Use case Diagram 20

2.3 Simbol-Simbol Activity Diagram 21

2.4 Simbol-Simbol Sequence Diagram 22

2.5 Simbol-Simbol Class Diagram 23

2.6 Simbol Component Diagram 24

2.7Simbol Deployment Diagram 25

3.1 Pengindeksan Aliran Input 32

4.1 Hasil Perbandingan Enkripsi Beberapa File Perbandingan Algoritma 55 Algortma 3DES Dengan Rinjdael dalam Perancangan Aplikasi Keamanna Data PDF


(6)

xi

DAFTAR GAMBAR

Hal.

2.1 Mekanisme Kriptografi Sederhana 7

2.2 Mekanisme Kriptografi Berbasis Kunci 8

2.3 Diagram Alir Proses Enkripsi Metode Rinjndael (AES 128) 9 2.4 Diagram Alir Proses Dekripsi Metode Rinjndael (AES 128) 10

2.5 Contoh State AES 14

2.6 Contoh Keluaran Fungsi Inversi 15

2.7 Contoh Mixcolumn 15

3.1 Proses Enkripsi Dan Dekripsi Algoritma 3DES 30 3.2 Enkripsi Dan Dekripsi Algoritma 3DES 31

3.3 State Array Pada Input Dan Output 32

3.4 State Array Ekivalen Pada Word Array 33

3.5 AddRound Key 34

3.6 Proses Dekripsi 34

3.7 Block Chiper 36

3.8 Activity Diagram 38

3.9 Use Case Diagram 39

3.10 Sequence Diagram 39

3.11 Class Diagram 40

3.12 Flowchart Sistem Enkripsi/Dekripsi Algoritma AES 41

3.13 Perancangan Menu Home 42

3.14 Perancangan Menu Profil 43

3.15 Perancangan Enkripsi 3DES Dan AES 43

3.16 Perancangan Dekripsi 3DES Dan AES 44

3.17 Perancangan Menu Login Sistem Aplikasi 44

4.1 Antarmuka Menu Login Enkripsi Dan Dekripsi 47

4.2 Antarmuka Menu Home 48

4.3 Antarmuka Menu Enkripsi Dan Dekripsi AES Dengan 3DES 49 4.4 Antarmuka Menu Upload File Enkripsi AES Dengan 3DES 49 4.5 Antarmuka Menu Input Kode Enkripsi AES Dengan 3DES 50 4.6 Antarmuka Proses Download Enkripsi File Jurnal1.PDF 50

4.7 Download Hasil Enkripsi File Jurnal1.PDF 51

4.8 Tampil Hasil Enkripsi File Jurnal1.PDF 51

4.9 Antarmuka Proses Upload File PDF 52

4.10 Upload File Jurnal1.PDF 52

4.11 Input Kode Dekripsi File Jurnal.PDF 53

4.12 Hasil Proses Dekripsi File Jurnal.PDF 53

4.13 Hasil Proses Dekripsi File Jurnal.PDF 54