• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI - PROTEKSI URL DENGAN ALGORITMA MD5 DAN BASE 64 UNTUK PENGAMANAN WEBSITE - UMBY repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI - PROTEKSI URL DENGAN ALGORITMA MD5 DAN BASE 64 UNTUK PENGAMANAN WEBSITE - UMBY repository"

Copied!
22
0
0

Teks penuh

(1)

4 2.1 Tinjauan Pustaka

Penelitian menggunakan algoritma base16,base32dan base64yang mana dalam proses enkripsi dari plaintext keciphertextmelalui tahapan dari ASCII, di ubah ke biner, kemudian di ubah kedesimal yang akan menghasilkan ciphertext. Hasil penelitian menghasilkan bahwabase64 lebih baik dari base16, dan base32. Kelebihan dari sistem enkripsi ini adalahmembuat keamanan teks yang akan dikirim ke penerima dalam bentuk ciphertextyang harus didekripsi ulang untuk mengetahui isi dari teks yang dikirim dankekurangan dari sistem ini adalah belum menggunakan kunci (Musthofa, Laili, Lisani, 2016).

Penelitian yang menggunakan salah satu cara pengamanan data yaitu sistem kriptografi dengan menyediakan isi informasi (plaintext) tersebut menjadi isi yang tidak dipahami melalui proses enkripsi (encipher), dan untuk memperoleh kembali informasi yang asli, dilakukan proses deskripsi (decipher), disertai dengan menggunakan kunci yang benar. Untuk membangun aplikasi yang terkomputerisasi ini, penulis menggunakan Java JDK 1.6 dan NetBeans IDE 6.0 sebagai aplikasi pendukungnya (Nufus, 2009).

Penelitian yang menggunakan algoritma base64 dengan mengubah struktur index-nya yang bertujuanuntuk menghamburkan makna dari plaintext ketika cipherteks dicoba untuk dipecahkan olehpemecah kode. Pemodelan data menggunakan flowchart dan dalam implementasi menggunakanbahasa pemograman C# (Sholeh, Gunadhi, Supriatna, 2013).

(2)

komunikasi (HTTP) dalam bentukciphertext. Dengan kondisi tersebut, dipastikan bahwa data dapat dikirim dan disimpan secara aman (Suprihadi, 2016).

Penelitian yang membuat suatu sistem keamanan e-commerce dengan menggunakan gabungan algoritma RC4 dan base64. Algoritma RC4 dan base64 adalah jenis algoritma kriptografi yang mengubah data plaintext menjadi ciphertext. Enkripsi data yang dilakukan dengan menggunakan dua algoritma ini dapat mengenkripsi data password nasabah di bank sehingga password dari nasabah tidak dapat diketahui oleh pihak-pihak yang tidak berkepentingan saat nasabah melakukan transaksi dengan menggunakan e-commerce(Wahyu, Rahangiar, Fretes, 2012).

2.2 Landasan Teori 2.2.1 WWW

World Wide Web, biasa lebih terkenal disingkat sebagai WWW adalah suatu ruang informasi yang dipakai oleh pengenal global yang disebut Pengidentifikasi Sumber Seragam untuk mengenal pasti sumber daya berguna. WWW sering dianggap sama dengan Internet secara keseluruhan, walaupun sebenarnya hanyalah bagian dari Internet.

WWW merupakan kumpulan serverweb dari seluruh dunia yang mempunyai kegunaan untuk menyediakan data dan informasi untuk dapat digunakan bersama.WWW adalah bagian yang paling menarik dari Internet.Melalui web, para pengguna dapat mengakses informasi-informasi yang tidak hanya berupa teks tetapi bisa juga berupa gambar, suara, video dan animasi.

Kegunaan ini tergolong masih baru dibandingkan surat elektronik, sebenarnya WWW merupakan kumpulan dokumen yang tersimpan di serverweb, dan yang peladennya tersebar dilima benua termasuk Indonesia yang terhubung menjadi satu melalui jaringan Internet. Dokumen-dokumen informasi ini disimpan atau dibuat dengan format HTML(Hypertext Markup Language).

(3)

dari teks tetapi dapat juga berupa gambar, mengandung suara bahkan klip video.Kaitan antar-dokumen yang seperti itu biasa disebut hipermedia.

Jadi dapat disimpulkan bahwa WWW adalah sekelompok dokumen multimedia yang saling bertautan dengan menggunakan tautan hiperteks.Dengan mengeklik pranala (hipertaut), maka para pengguna bisa berpindah dari satu dokumen ke dokumen lainnya.(Kuswayanto, 2006)

2.2.2 HTML

Hypertext Markup Language(HTML) adalah sebuah bahasa markah yang digunakan untuk membuat sebuah halamanweb, menampilkan berbagai informasi di dalam sebuah penjelajah webInternet dan pemformatan hiperteks sederhana yang ditulis dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan dalam format ASCII normal sehingga menjadi halamanwebdengan perintah-perintah HTML (Kuswayanto, 2006).

Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halamanweb.HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).HTML dibuat oleh kolaborasi Caillau TIM dengan Berners-lee Robert ketika mereka bekerja di CERN pada tahun 1989 (CERN adalah lembaga penelitian fisika energi tinggi di Jenewa) (Kuswayanto, 2006).

2.2.3 Apache

(4)

Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain.Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penangananservermenjadi mudah.

Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang di bawah naungan Apache Software Foundation(Apache Software Foundation,1997).

2.2.2 PHP

PHP merupakan singkatan dari PHP Hypertext Preprocessor.PHP digunakan sebagai bahasa script server side dalam pengembangan web yang disisipkan pada sokumen HTML.Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenanceweb menjadi lebih mudah dan efisien.PHP ditulis menggunakan bahasa C(Sholeh, Gunadhi, & Deddy S., 2013).

PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasascripting lainya. PHP difokuskan pada pembuatan script server side yang bisa melakukan apa saja yang dilakukan oleh CGI, seperti mengumpulkan data dari form, menghasilkan isi halaman web dinamis, dan kemampuan mengirim serta menerimacookies, bahkan lebih daripada kemampuan CGI.

PHP tidak terbatas pada hasil keluaran HTML, namun PHP juga memiliki kemampuan untuk mengolah gambar, file PDF, dan movie flash. PHP juga dapat menghasilkan teks seperti XHTML dan file XML lainya. Salah satu fitur yang dapat diandalkan oleh PHP adalah dukungan terhadap database, salah satunya adalah MySQL.

(5)

Variabel diawali dengan simbol dolar $. Pada versi PHP 5 diperkenalkan jenis isyarat yang memungkinkan fungsi untuk memaksa mereka menjadi parameter objek dari class tertentu, array, atau fungsi. Namun, jenis petunjuk tidak dapat digunakan dengan jenis skalar seperti angka atau string.Contoh variabel dapat ditulis sebagai $nama_variabel.

Penulisan fungsi, penamaan kelas, nama variabel adalah peka akan huruf besar (Kapital) dan huruf kecil . Kedua kutip ganda "" dari string memberikan kemampuan untuk interpolasi nilai variabel ke dalam string PHP. PHP menerjemahkan baris sebagai spasi, dan pernyataan harus diakhiri dengan titik koma ;.

PHP memiliki 3 jenis sintaks sebagai komentar pada kode yaitu tanda blok / * * / , komentar 2 baris // Serta tanda pagar # digunakan untuk komentar satu baris. Komentar bertujuan untuk meninggalkan catatan pada kode PHP dan tidak akan diterjemahkan ke program.

Ratusan fungsi yang disediakan oleh PHP serta ribuan lainnya yang tersedia melalui berbagai ekstensi tambahan.fungsi-fungsi ini didokumentasikan dalam dokumentasi PHP. Namun, dalam berbagai tingkat pengembangan, kini memiliki berbagai konvensi penamaan. Sintaks fungsi adalah seperti di bawah ini:

functiontampilkan($data="") // Mendefenisikan fungsi, "tampilkan" adalah nama sebuah fungsi

//Diapit oleh tanda kurung kurawal

if($data) return$data; elsereturn'Tidak ada data'; // Melakukan proses pengolahan data, contohnya melalui kondisi echo tampilkan("isi halaman") // Menjalankan fungsi

Contoh sebuah halaman web yang ditulis menggunakan Bahasa Pemograman PHP adalah sebagai berikut:

<?php

(6)

Beberapa keunggulan bahasa pemrograman PHP diantaranya:

 Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.

WebServer yang mendukung PHP dapat ditemukan di mana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.

 Dalam sisi pengembangan lebih mudah, karena banyaknya milis -milis dandeveloperyang siap membantu dalam pengembangan.  Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling

mudah karena memiliki referensi yang banyak.

 PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secararuntimemelalui consoleserta juga dapat menjalankan perintah-perintah sistem.

PHP Framework adalah sebagai sebuah kerangka kerja yang disusun oleh berbagai komunitas pengembang web diseluruh dunia. Kerangka ini bertujuan untuk mempermudah dalam membuat sebuah aplikasi web kita sering menulis script PHP secara keseluruhan (konvensional) dan itu pun kita ulang pada halaman yang lain. Beberapaframeworkyang terkenal diantaranya adalah sebagai berikut:

 CakePHP  CodeIgniter  Laravel  Prado  Symfony

 Zend Framework

(7)

2.2.3 SQL

Data adalah bagian penting dari pemrograman modern, sehingga keseluruhan bahasa program menyediakan fungsi untuk mengakses database.Standar utama untuk bahasa database adalah Structured Query Language.SQL distandarisasi sebagai bahasa untuk menciptakan database, menyimpan infirmasi ke dalam database, dan mendapatkan kembali informasi darinya.Aplikasi khusus dan lingkungan pemrograman mengkhususkan diri untuk merepresentasikan data SQL(Wikibooks).

Seorang programmerakan memulai dengan menciptakan struktur data di dalam SQL dan kemudian menulis sesuatu program dalam bahasa (PHP) untuk mengakses data tersebut. Program PHP kemudian bisa memformulasikan permintaan atau memperbaharui data tersebut, yang dilewatkan ke interpreter SQL.

SQL atau (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional.Bahasa ini secarade facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional.Saat ini hampir semuaserverbasis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML).Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.

2.2.3.1 Data Definition Language(DDL)

(8)

digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data. Perintah yang terdapat pada grup ini adalahCREATE, ALTER, DROP.

2.2.3.2 Data Manipulation Language(DML)

DDL digunakan untuk menambah data, mengubah data, dan menghapus data. Perintah yang terdapat dalam grup ini adalahINSERT, UPDATE, DELETE.

2.2.3.3 Data Query Language(DQL)

SELECT adalah instruksi DQL utama. Ini mengambil data yang Anda butuhkan.SHOWmengambil info tentang metadata. HELP... adalah untuk orang-orang yang membutuhkan bantuan informasi. Perintah yang terdapat dalam grup ini adalahSELECT, SHOW, HELP.

2.2.3.4 Data Control Language(DCL)

DCL digunakan untuk memberikan / mencabut hak akses pada database dan isinya.DCL sederhana, tapi izin MySQL agak rumit.DCL adalah tentang keamanan. Perintah yang terdapat dalam grup ini adalahGRANTdanREVOKE.

2.2.3.5 Data Transaction Language(DTL)

DTL digunakan untuk mengelola transaksi (operasi yang mencakup lebih banyak instruksi yang tidak dapat dieksekusi jika salah satunya gagal).Perintah yang termasuk dalam grup ini adalah START TRANSACTION, SAVEPOINT, COMMIT,danROLLBACK(Wikibooks).

2.2.4Web Browser

(9)

Meskipun penjelajah web terutama ditujukan untuk mengakses Internet, sebuah penjelajah juga dapat digunakan untuk mengakses informasi yang disediakan oleh serverweb dalam jaringan pribadi atau berkas pada sistem berkas.Beberapa penjelajah web yang populer adalah Google Chrome, Firefox, Internet Explorer, Opera, dan Safari.

Penjelajah web pertama bernama bernama WorldWideWeb (tanpa spasi) diciptakan Tim Berners-Lee. Nama penjelajah tersebut kemudian diubah menjadi Nexus(Andreessen, 2011).

2.2.5Visual Studio Code

Visual Studio Code adalah editor kode sumber yang ringan namun kuat yang dapat berjalan di desktop dan tersedia untuk Windows, MacOS dan Linux. Muncul dengan dukungan built-in untuk JavaScript, TypeScript dan Node.js dan memiliki ekosistem ekstensi yang kaya untuk bahasa lain (seperti C ++, C #, Java, Python, PHP, Go) danruntimes(seperti .NET and Unity) (Microsoft).

2.2.6 Kriptografi

Kriptografi atau sandisastra merupakan keahlian dan ilmu dari cara-cara untuk komunikasi aman pada kehadirannya di pihak ketiga. Secara umum, kriptografi ialah mengenai mengkonstruksi dan menganalisis protokol komunikasi yang dapat memblokir lawan;berbagai aspek dalam keamanan informasi seperti data rahasia, integritas data, autentikasi, dan non-repudansi merupakan pusat dari kriptografi modern. Kriptografi modern terjadi karena terdapat titik temu antara disiplin ilmu matematika, ilmu komputer, dan teknik elektro.Aplikasi dari kriptografi termasuk ATM,passwordkomputer, danE-commerce.

(10)

mengelola kriptologi telah meningkat secara komplek dan pengaplikasiannya telah tersebar luar.

Kriptografi modern sangat didasari pada teori matematis dan aplikasi komputer; algoritma kriptografi didesain pada asumsi ketahanan komputasional, membuat algoritma ini sangat sulit dipecahkan oleh musuh.Secara teoretis, sangat sulit memecahkan sistem kriptografi, namun tidak layak melakukannya dengan cara-cara praktis.Skema ini oleh karena itu disebut sangat aman secara komputasional; kemajuan teoretis dapat meningkatkan algoritma faktorisasi integer, dan meningkatkan teknologi komputasi yang membutuhkan solusi ini untuk diadaptasi terus-menerus.Terdapat skema keamanan informasi yang benar-benar tidak boleh dapat ditembuh bahkan dengan komputasi yang tak terbatas namun skema ini sangat sulit diimplementasikan.

Gambar 2.1 Mesin enkripsi

2.2.6.1 Kriptografi Kunci-Simetris

Kriptografi kunci-simetris merujuk pada metode enskripsi di mana kedua pengirim dan penerima membagi kunci yang sama (atau, walaupun kuncinya tidak mirip, namun dapat berhubungan dengan cara komputasi sederhana). Hal ini menjadi satu-satunya jenis enkripsi yang ketahui publik hingga Juni 1976.

(11)

menjadi varian yang masih terbukti dan lebih aman) masih cukup terkenal; Hal ini digunakan oleh banyak penerapan dari enskripsi ATM hingga keamanan e-mail dan akses remote aman. Banyak chiper blok lainnya telah didesain dan dirilis, dengan kualitas yang bervariasi.

Beberapa cipher, yang berbeda dengan tipe 'blok', membuat berkas panjang material kunci yang panjang, di mana dikombinasikan dengan bit-bit teks atau karakter-karakter, sedikit mirip dengan one-time pad. Pada cipheraliran, aliran keluarannya diciptakan berdasarkan keadaan internal yang tersembunyi yang berubah saat chiper bekerja. Keadaan internal mulanya diatur menggunakan bahan kunci rahasia. RC4 sangat luas digunakan sebagaicipheraliran. Cipherblok dapat digunakan sebagai chiper aliran.

Gambar 2.2 Blok diagram enkripsi dan dekripsi

(12)

fungsi hash panjang yang sekarang telah dapat dipecahkan.MD5, varian yang lebih kuat dari MD4, sudah luas digunakan namun dapat dipecahkan saat beroperasi.

Agensi keamanan nasional Amerika mengembangkan serial Algoritma Hash Aman seperti fungsi hashMD5.SHA-0 ialah algoritma cacat yang kemudian ditarik.SHA-1 digunakan secara luas dan lebih aman dari MD5, namun kriptanalisis telah menemukan serangan padanya.Keluarga SHA-2 meningkatkan performa SHA-1, namun belum secara luas digunakan dan kewenangan Amerika mengatakan hal ini cukup bijaksana dari sudut pandang keamanan untuk mengembangkan standar baru "toolkit algoritma hash NIST secara keseluruhan untuk peningkatan kekuatan secara signifikan.Sehingga, pada tahun 2012, standar nasional Amerika memilih SHA-3 sebagai standar desainhashyang baru.

Message authentication code (MAC) hampir mirip dengan fungsi hash kriptografi, kecuali terdapat kunci rahasia yang dapat digunakan untuk membuktikan nilai hash melalui serangkaian kerumitan tambahan yang melindungi skema serangan algoritma penyingkat sederhana, dan dianggap cukup menguntungkan.

2.2.6.2 Kriptografi Kunci-Publik

(13)

Gambar 2.3 Kriptografi

Kesulitan dari menciptakan kunci rahasia yang aman di antara dua pihak yang saling berkomunikasi, ialah, ketika belum adanya jaringan aman di antara keduanya, juga kehadiran chicken-and-egg problem yang dianggap menjadi tantangan praktikal untuk pengguna kriptografi di dunia nyata.

Dalam ekosistem kunci-publik, kunci publik dapat secara bebas terdistribusi, saat pasangannya kunci privat harus selalu terjaga rahasia.Pada sistem enkripsi kunci-publik, kunci publik digunakan untuk enkripsi, sedang kunci privat atau rahasia digunakan untuk dekripsi. Sementara Diffie dan Hellman tidak dapat menemukan sistem seperti itu, mereka menunjukkan bahwa kriptografi kunci-publik memang benar mungkin dengan menunjukkan protokol Diffie-Hellman key exchange, sebuah solusi yang sekarang digunakan secara luas dalam komunikasi aman, mengizinkan dua kelompok untuk secara rahasia membagi kunci enkripsi.

(14)

publik, telah sangat luas digunakan.Hal yanglain termasuk Kriptosistem Cramer-Shoup, Enkripsi ElGamal,dan varian Teknikkurva eliptis.

Kriptografi kunci-publik dapat juga digunakan untuk mengimplementasikan skema tanda tangan digital. Tanda tangan digital berhubungan dengan tanda tangan pada umumnya memiliki karateristik yang sama dimana mudah bagi pengguna untuk membuatnya, namun sangat sulit bagi orang lain untuk memalsukannya. Tanda tangan digital dapat juga secara permanen mengikat pada konten pesan yang sedang ditanda tangani lalu tidak dapat 'dipindahkan' dari satu dokumen ke dokumen yang lain, dan setiap usaha akan dapat terdeteksi. Pada skema tanda tangan digital, terdapat dua algoritma: satu untuk menandatangani, di mana kunci rahasia digunakan untuk memproses pesan (atau hash dari pesan, atau keduanya), dan satu untuk verifikasi, dimana kunci publik yang sesuai digunakan dengan pesan untuk memeriksa validitas tanda tangan. RSA dan DSA merupakan dua skema tanda tangan digital yang paling terkenal.Tanda tangan digital merupakan pusat dari operasi infrastruktur kunci publik dan banyak skema keamanan jaringan lainnya (seperti Transport Layer Security, VPN, dan lain-lain).

Algoritma kunci publik paling sering didasari pada teori masalah kompleksitas komputasional, sering dengan teori bilangan.Sebagai contoh, kekuatan RSA berhubungan dengan masalah faktorisasi integer, sedangkan Diffie-Hellman dan DSA berhubungan dengan masalah logaritma diskrit.Baru-baru saja, kriptografi kurva eliptis telah ditemukan, sistem dimana keamanan yang didasari pada masalah teoretis bilangan yang melibatkan kurva eliptis.

(15)

kunci publik. Hampir sama, skema tanda tangan hybrid sering digunakan, di mana fungsi hash kriptogfari dihitung secara komputer, dan hanya hash hasil yang ditanda tangani secara digital (Rivest, 1990).

2.2.7 Enkripsi dan Dekripsi

Di bidang kriptografi, enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi. Di pertengahan tahun 1970-an, enkripsi kuat dimanfaatkan untuk pengamanan oleh sekretariat agen pemerintah Amerika Serikat pada domain publik, dan saat ini enkripsi telah digunakan pada sistem secara luas, seperti Internet e-commerce, jaringan Telepon bergerak dan ATM pada bank.

Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, Message Authentication Code(MAC) ataudigital signature. Penggunaan yang lain yaitu untuk melindungi dari analisis jaringan komputer.

2.2.7.1 Cipher

Sebuah cipher adalah sebuah algoritme untuk menampilkan enkripsi dan kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai prosedur. Alternatif lain ialah encipherment. Informasi yang asli disebut sebagai plaintext, dan bentuk yang sudah dienkripsi disebut sebagai chiphertext.Pesan chipertext berisi seluruh informasi dari pesan plaintext, tetapi tidak dalam format yang didapat dibaca manusia ataupun komputer tanpa menggunakan mekasnisme yang tepat untuk melakukan dekripsi.

(16)

kunci yang akan mengubah rincian dari operasi algoritma. Tanpa menggunakan kunci, chiper tidak dapat digunakan untuk dienkirpsi ataupun didekripsi.

2.2.7.2 CipherdanCode

Pada penggunaan non teknis, sebuah secret code merupakan hal yang sama dengan cipher. Berdasar pada diskusi secara teknis, bagaimanapun juga, code dan cipher dijelaskan dengan dua konsep. Code bekerja pada tingkat pemahaman, yaitu, kata atau frasa diubah menjadi sesuatu yang lain. Cipher, dilain pihak, bekerja pada tingkat yang lebih rendah, yaitu, pada tingkat masing-masing huruf, sekelompok huruf, pada skema yang modern, pada tiap-tiap bit. Beberapa sistem menggunakan baik code dan cipher dalam sistem yang sama, menggunakan superencipherment untuk meningkatkan keamanan.

Menurut sejarahnya, kriptografi dipisah menjadi dikotomicodedancipher, dan penggunaan code memiliki terminologi sendiri, hal yang sama pun juga terjadi pada cipher: "encoding, codetext, decoding" dan lain sebagainya. Bagaimanapun juga, code memiliki berbagai macam cara untuk dikembalikan, termasuk kerapuhan terhadap kriptoanalisis dan kesulitan untuk mengatur daftar kode yang susah. Oleh karena itu, kode tidak lagi digunakan pada kriptografi modern, dan cipher menjadi teknik yang lebih dominan.

2.2.7.3 TipeCipher

(17)

Gambar 2.4Cipher

Sejarah Cipher pena dan kertas pada waktu lampau sering disebut sebagai cipher klasik. Cipher klasik termasuk juga cipher pengganti dan cipher transposisi. Pada awal abad 20, mesin-mesin yang lebih mutakhir digunakan untuk kepentingan enkripsi, mesin rotor, merupkan skema awal yang lebih kompleks.

Metode enkripsi dibagi menjadi algoritma kunci simetris dan algoritme asymmetric key.pada algoritme symmetric key (misalkan, DES dan AES), pengirim dan penerima harus memiliki kunci yang digunakan bersama dan dijaga kerahasiaanya. Pengirim menggunkan kunci ini untuk enkripsi dan penerima menggunakan kunci yang sama untuk dekripsi. Pada algoritma kunci asimetris (misalkan, RSA), terdapat dua kunci terpisah, sebuah public key diterbitkan dan membolehkan siapapun pengirimnya untuk melakukan enkripsi, sedangkan sebuah private key dijaga kerahasiannya oleh penerima dan digunakan untuk melakukan dekripsi.

Cipher kunci simetris dapat dibedakan dalam dua tipe, tergantung pada bagaimana cipher tersebut bekerja pada blok simbol pada ukuran yang tetap (block ciphers),atau pada aliran simbol terus-menerus(stream ciphers).

(18)

2.2.8EncodingdanDecoding

Dalam komunikasi dan pemrosesan informasi, pengkodean atau penyandian (encoding) adalah proses konversi informasi dari suatu sumber (objek) menjadi data, yang selanjutnya dikirimkan ke penerima atau pengamat, seperti pada sistem pemrosesan data. Proses pengawasandian atau prosesdecodingadalah proses kebalikannya, yaitu konversi data yang telah dikirimkan oleh sumber menjadi informasi yang dimengerti oleh penerima. Sedangkan decoding adalah proses pengembalian informasi dari hasilencodingmenjadi bentuk aslinya atau ke bentuk sebelum diencoding(IETF, 2010).

2.2.9Hashing

Hashing adalah penyandian data menjadi data bentuk lain yang tidak bisa diterjemahkan secara langsung tanpa mengetahui ilmu dari hash yang digunakan. Perbedaan hashing dengan teknik penyandian yang lain adalah bahwa hasing tidak dapat dikembalikan ke bentuk semula dan tidak ada kunci yang digunakan untuk membuka penyandianya. Pada hasing ini, perubahan hasil hasing akan sangat mencolok walaupun hanya berbeda satu karakter asalnya. Satu karakter akan menghasilkan nilai hash yang sama panjangnya dengan 10 karakter atau lebih. Contohhashadalah MD4,MD5, SHA1 dan lain sebagainya.

2.2.10 AlgoritmaBase64

(19)

Gambar 2.5 Karakter base64

Bila jumlah byte yang dikodekan tidak dapat dibagi oleh tiga (yaitu, jika hanya ada satu atau duabytemasukan untuk blok 24 bit terakhir), tambahkan byte ekstra dengan nilai nol sehingga ada tiga byte, dan lakukan konversi ke base64. Jika hanya ada satu byte masukan yang signifikan (misalnya, 'M'), semua 8 bit akan ditangkap dalam dua base64 digit pertama (12 bit) (Dikutip dari https://en.wikipedia.org/wiki/Base64, diakses pada 12 Desember 2017).

2.2.11 MD5

(20)

MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan ditemukan dalam desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai menganjurkan menggunakan algoritma lain, seperti SHA-1 (klaim terbaru menyatakan bahwa SHA-1 juga cacat).Pada tahun 2004, kecacatan-kecacatan yang lebih serius ditemukan menyebabkan penggunaan algoritma tersebut dalam tujuan untuk keamanan jadi makin dipertanyakan.

2.2.12 Laravel

Laravel merupakan web application framework berbasis PHP yang open source, menggunakan konsep model–view–controller (MVC).Laravel berada dibawah lisensi MIT License, dengan menggunakan GitHub sebagai tempat berbagi kode. Desember 2013, Laravel menempati PHPframeworkterpopuler dan berada diatas PHP frameworklain seperti Phalcon, Symfony2, CodeIgniter dan lainnya.

2.2.13 MariaDB

MariaDB merupakan versi pengembangan terbuka dan mandiri dari MySQL.Sejak diakuisisinya MySQL oleh Oracle pada September 2010, Monty Program sebagai penulis awal kode sumber MySQL memisahkan diri dari pengembangan dan membuat versi yang lebih mandiri yakni MariaDB.MariaDB adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License).Setiap pengguna dapat secara bebas menggunakan MariaDB, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial.

Semua kemampuan MySQL dimiliki pula oleh MariaDB yakni:

(21)

2. Perangkat lunak sumber terbuka. MariaDB didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.

3. Multi-user. MariaDB dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

4. Performance tuning, MariaDB memiliki kecepatan yang menakjubkan dalam menanganiquery sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

5. Ragam tipe data. MariaDB memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp,dan lain-lain.

6. Perintah dan fungsi. MariaDB memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).

7. Keamanan. MariaDB memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan. MariaDB mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

9. Konektivitas. MariaDB dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes(NT).

10. Pelokalan bahasa. MariaDB dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.

(22)

12. Klien dan peralatan. MariaDB dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjukonline.

13. Struktur tabel. MariaDB memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.

Gambar

Gambar 2.1 Mesin enkripsi
Gambar 2.2 Blok diagram enkripsi dan dekripsi
Gambar 2.3 Kriptografi
Gambar 2.4Cipher
+2

Referensi

Dokumen terkait