BALI TOLAK REKLAMASI

Selasa, 28 Januari 2014

Pengertian Kriptografi

Selasa, Januari 28, 2014 Posted by DENDY JEFRIANA No comments


2.1  Pengertian Kriptografi

Kriptografi berasal dari bahasa Yunani yaitu cryptos yang berarti rahasia dan graphein yang berarti tulisan. Kriptografi adalah suatu ilmu yang mempelajari penulisan secara rahasia dengan menggunakan teknik-teknik metematika yang berhubungan dengan aspek keamanan informasi seperti : keabsahan, integritas data, serta autentifikasi data.

Kriptografi dapat memenuhi kebutuhan umum suatu transaksi antara lain:

1.      Kerahasiaan (confidentiality) dijamin dengan melakukan enkripsi (penyandian).

2.      Keutuhan (integrity) atas data-data pembayaran dilakukan dengan fungsi hash satu arah.

3.      Jaminan atas identitas dan keabsahan (authenticity) pihak-pihak yang melakukan transaksi dilakukan dengan menggunakan password atau sertifikat digital. Sedangkan keotentikan data transaksi dapat dilakukan dengan tanda tangan digital.

4.      Transaksi dapat dijadikan barang bukti yang tidak bisa disangkal (non-repudiation) dengan memanfaatkan tanda tangan digital dan sertifikat digital.

Fungsi-fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam bahasa sandi (ciphertext).

atau dapat ditulis,

C = E (M)

Dimana,

M = pesan asli

E = proses enkripsi

C = pesan dalam bahasa sandi (ciphertext)

Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali.

atau dapat ditulis

M = D (C)

Dimana,

D = proses dekripsi

Biasanya, selain menggunakan fungsi tertentu dalam melakukan enkripsi dan dekripsi, seringkali fungsi enkripsi dan dekripsi tersebut diberi parameter tambahan yang disebut dengan istilah kunci.

Kekuatan dari algoritma kriptografi umumnya bergantung kepada kuncinya, oleh sebab itu kunci yang lemah tidak boleh digunakan. Panjang kunci yang digunakan juga menentukan kekuatan dari dari algoritma kriptografi contoh kunci yang panjangnya 128bit lebih sukar dipecahkan jika dibandingkan dengan kunci 56bit dengan algoritma yang sama. Hal ini disebabkan karena keyspace yang harus dicoba dengan metode "brute force"semakin kompleks.

Berdasarkan jenis kunci yang digunakan algoritma kriptografi dibagi menjadi 2 yaitu:

1.      Algoritma Kunci Simetris (Symmetric Key Algorithm)

2.      Algoritma Kunci Asimetris (Assymmetric Key Algorithm)

Algoritma kunci simetris adalah algoritma dimana proses enkripsi dan dekripsinya menggunakan kunci yang sama.

Kelebihan algoritma kunci simetris adalah :

·         Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini disebabkan karena efisiensi yang terjadi pada pembangkit kunci.

·         Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini dapat digunakan pada sistem secara real-time seperti saluran telepon digital.

Sedangkan kelemahan algoritma kunci simetris adalah :

·         Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan sangat sulit untuk menyimpan dan mengingat kunci yang banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.

·         Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan menimbulkan masalah yang baru karena tidak mudah untuk menentukan jalur yang aman untuk kunci, masalah ini sering disebut dengan "Key Distribution Problem".

·         Apabila kunci sampai hilang atau dapat ditebak maka sistem kriptografi yang digunakan tidak aman lagi.

Sedangkan algoritma kunci asimetris adalah algoritma dimana proses enkripsi dan dekripsinya menggunakan kunci yang berbeda yaitu kunci public(Public Key) dan kunci private(Private Key).

Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.

Kelebihan algoritma kunci asimetris adalah :

1.      Masalah keamanan pada distribusi kunci dapat lebih baik.

2.      Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit.

Sedangkan kelemahan algoritma kunci asimetris adalah :

1.      Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris.

2.      Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.

Contoh algoritma simetris seperti DES, Triple DES, AES, blowfish, twofish, dll. Sedangkan contoh algoritma Asimetris seperti RSA, El Gamal, dll.

Berdasarkan besar data yang diolah algoritma kriptografi dibagi menjadi 2 yaitu:

1.      Block Cipher

2.      Stream Cipher

Block Cipher merupakan algoritma kriptografi yang bekerja pada suatu data yang berbentuk blok/kelompok data dengan panjang data tertentu (dalam beberapa byte), jadi dalam sekali proses enkripsi atau dekripsi data yang masuk mempunyai ukuran yang sama.

Stream Cipher merupakan algoritma yang dalam operasinya bekerja dalam suatu pesan berupa bit tunggal atau terkadang dalam suatu byte, jadi format data berupa aliran dari bit untuk kemudian mengalami proses enkripsi dan dekripsi.

          

            Kriptografi ada 2 yaitu :

1.      Kriptografi Klasik

2.      Kriptografi Modern

Kriptografi Klasik adalah kriptografi yang digunakan pada zaman dahulu sebelum komputer ditemukan atau sudah ditemukan namun belum secanggih sekarang. Kriptografi ini melakukan pengacakan huruf pada kata terang / plaintext. Kriptografi ini hanya melakukan pengacakan pada huruf A - Z, dan sangatlah tidak disarankan untuk mengamankan informasi-informasi penting karena dapat dipecahkan dalam waktu singkat.

Sejarah kriptografi klasik diketahui bermula pada sekitar abad ke-7 sebelum masehi di yunani, dimana para tentara sparta menggunakan alat  yang disebut Scytale untuk menyembunyikan pesan. Scytale terdiri dari sebuah batang silinder dengan diameter tertentu yang digulung dengan pita kain/kertas.

Gambar 1. pipa silinder (a) dan pita panjang(b)

Setelah pita dililitkan pada batang silinder, pesan dituliskan diatas gulungan pita. Misalkan pesan yang ditulis adalah SERGAP XERXES DI THERMOPYLE BESOL.

Gambar 2. Pipa silinder dan pita  yang dituliskan pesan

Setelah itu, gulungan pita dibuka dari pipa maka akan menghasilkan pesan tidak bermakna yaitu

S SHYSEX ELOREDREKGRIM AX OB PETPE

Sehingga jika pesan ternyata jatuh ke tangan musuh sekalipun, tidak akan dimengerti. Untuk mengembalikan pesan seperti semula tinggal menggulungkan kembali pita dengan pipa yang diameternya sama, sehingga hanya orang yang benar-benar berhak saja yang dapat memiliki pipa dengan diameter sama.

Kriptografi klasik kemudian berkembang pesat pada abad ke-18 Masehi hingga Perang Dunia ke-2. Seperti penggunaan metode polyalphabetic hingga penggunaan mesin untuk mengenkripsi dan mendekripsi pesan, salah satu contoh yang terkenal adalah enigma yang dipatenkan oleh Arthur Scerbius dan digunakan tentara Nazi Jerman untuk mengenkripsi pesan pada saat pertempuran.

Gambar 3. Mesin rotor elektromagnetik Enigma

Namun dapat dipecahkan untuk pertama kali pada tahun 1932 oleh kriptografer Polandia dari Biuro Szyfrów (Kantor Sandi), Marian Rejewski, Jerzy Różycki dan Henryk Zygalski. Namun pada 1939 Jerman mendisain ulang Enigma sehingga metode tersebut tidak dapat digunakan lagi.

Berkat informasi dari Polandia, akhirnya Britania dan Perancis berhasil membuat mesin pemecah Enigma baru ini, yang diberi nama bombe. Menurut para ahli berkat mesin ini perang dunia ke-2 ini lebih cepat berakhir 2 tahun berkat pemecahan kode enigma. Selain Jerman, Jepang juga membuat mesin enkripsi yang diberi nama purple, Inggris dengan mesin TypeX, dan Amerika dengan mesin SIGABA.

Semenjak ditemukannya komputer digital, metode kriptografi klasik yang bekerja dengan mengacak huruf semakin kehilangan posisinya dan digantikan dengan metode yang lebih baru, dimana yang diacak adalah bit dari huruf bersangkutan. Era kriptografi modern pun dimulai.

Berdasarkan teknik pengenkripsian, kriptografi klasik terbagi menjadi 2 yaitu:

1.      Metode substitusi, yang dibagi lagi menjadi 2 yaitu:

·         monoalphabetic , setiap huruf pesan disubstitusi oleh satu huruf kunci

·         polyalphabetic , setiap huruf pesan disubstitusi oleh beberapa huruf kunci dengan pola tertentu.

2.      Metode transposisi

Metode substitusi adalah metode enkripsi dengan mengganti tiap-tiap huruf pesan dengan kunci tertentu menjadi huruf lain. Contohnya adalah Caesar Cipher (monoalphabetic) dan Viginere Cipher (polyalphabetic).

Metode transposisi adalah metode enkripsi dengan memindahkan posisi tiap-tiap huruf pesan dengan pola tertentu. Contohnya adalah Blocking Cipher dan Permutation.

Gambar 3. Blocking Cipher dan Permutation.

Kriptografi Modern adalah Enkripsi modern berbeda dengan enkripsi konvensional. Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya. Berfungsi untuk  mengamankan data baik  yang

ditransfer melalui jaringan komputer maupun yang bukan. Hal ini sangat berguna untuk melindungi privacy. Data integrity, authentication dan non –repudiation. Dibawah  ini di gambarkan  bagaimana enkripsi modern saling mendukung satu dengan yang lain.

Kriptografi modern merupakan suatu perbaikan yang mengacu pada kriptografi klasik. Pada kriptografi modern terdapat berbagai macamng dimaksutkan untuk algoritma mengamankan informasi yang di kirim melalui jaringan komputer. Algoritma kroptografi modern terdiri dari dua bagian yaitu : ALGORITMA SIMENTRIS DAN ALGORITMA HIBRIDA.

Kriptografi ilmu yang mempelajari teknik teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Secara umum, kriptografi terdiri atas dua buah bagian utama yaitu bagian enkripsi dan bagian dekripsi. Enkripsi adalah proses transformasi informasi atau plaintext menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami atau sering disebut ciphertext, hal ini dimaksudkan agar informasi tetapterlindung dari pihak yang tidak berhak menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu transformasi data ke data bentuk semula Gambaran umum proses enkripsi dan dekripsi ditunjukkan oleh gambar berikut.

1.      Algoritma simetris (symmetric algorithm) , adalah suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm.
Sebelum melakukan pengiriman pesan, pengirim dan penerima harus memilih suatu suatu kunci tertentu yang sama untuk dipakai bersama, dan kunci ini haruslah rahasia bagi pihak yang tidak berkepentingan sehingga algoritma ini disebut juga algoritma kunci rahasia (secret-key algorithm).

2.      Algoritma asimetris (asymmetric algorithm) , adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.
Pada umumnya kunci publik (public key) digunakan sebagai kunci enkripsi sementara kunci privat (private key) digunakan sebagai kunci dekripsi.
2.2  Teknik Kriptografi

Teknik dasar kriptografi ada 5 :
       1.  Substitusi
       2.  Blocking
       3.  Permutasi
       4.  Ekspansi
       5.  Pemampatan

Ø  Substitusi

Langkah pertama adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan deskripsi.
Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahan chipertext oleh orang yang tidak berhak.
Contoh :

- Tabel Substitusi

- Caesar Chiper

- ROT 13

Ø  Blocking
Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara independen.

Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini.

Ø  Permutasi
Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu. Prinsipnya adalah berlawanan dengan teknik substitusi.

Dalam teknik substitusi, karakter berada pada posisi yang tetap tapi identitasnya yang diacak. Pada teknik permutasi, identitas karakternya tetap, namun posisinya yang diacak.

Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang sama.

Ø  . Ekspansi

Suatu metode sederhana untuk mengacak pesan adalah dengan memelarkan pesan itu dengan aturan tertentu.

Salah satu contoh penggunaan teknik ini adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata diakhir kata dan menambahkan akhiran "-an".

Ø  Pemampatan
Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi pesan. Contoh sederhana ini menggunakan cara menghilangkan setiap karakter ke-tiga secara berurutan.
Karakter-karakter yang dihilangkan disatukan kembali dan disusulkan sebagai "lampiran" dari pesan utama, dengan diawali oleh suatu karakter khusus, dalam contoh ini digunakan "&".




BAB III
PEMBAHASAN

3.1  Gambaran Umum Sistem Kriptografi

Kriptografi yang digunakan adalah kriptografi klasik. Dimana kriptografi klasik ini menngunakan metode Column Transposition Chiper.

Langkah awal dari proses column transpotition chiper adalah membagi plaintex ke dalam baris-baris dengan jumlah kolom sebanyak jumlah kunci. Pada langkah ini ditambahkan pula karakter tambahan, misalnya “X” jika jumlah huruf plaintext bukan kelipatan dari kunci. Berikut kode program pembentukan baris tersebut.

if n mod k <> 0 then

for i:=1 to k - n mod k do

plaintext:=plaintext+'X';

chipertext:=plaintext;

n := Length(Plaintext);

Selanjutnya, dilakukan pembacaan baris-perbaris untuk membentuk chipertexnya. Berikut ini kode program selengkapnya dari Column Transposition Chiper.

procedure TfrmTranpositionchiper.btnEnkripsiClick(Sender: TObject);

var Plaintext, Chipertext : string;

a,j,P,C,K, i, n : integer;

begin

Plaintext:= UpperCase(eData.Text);

K:=StrToInt(eKunci.Text);

n := Length(Plaintext);

if n mod k <> 0 then

            for i:=1 to k - n mod k do

               plaintext:=plaintext+'X';

            chipertext:=plaintext;

              n := Length(Plaintext);

              a:=0;

             for j:=0 to k-1 do

For i:= 1 to n div k do

             begin

                 a:=a+1;

                 chipertext[a]:=plaintext[(i-1)*k+1+j];

                 end ;

                     eHasil.Text := chipertext;

                end;

procedure TfrmTranpositionchiper.btnDekripsiClick(Sender: TObject);

var Plaintext, Chipertext : string;

    a,j,P,C,K, i, n : integer;

begin

Chipertext:= UpperCase(eData.Text);

K:=StrToInt(eKunci.Text);

n := Length(Chipertext);

if n mod k <> 0 then

for i:=1 to k - n mod k do

      Chipertext:=Chipertext+'X';

Plaintext:=Chipertext;

      n := Length(Chipertext);

      k:=strtoint(ekunci.text);

      a:=0;

For i:= 0 to n div k -1 do

for j:=1 to k do

    begin

        a:=a+1;

        Plaintext[a]:=Chipertext[(j-1)* n div k + 1+i];

        end ;

  eHasil.Text := plaintext;

end.

Hasil deskripsi:

Hasil enkripsi:

3.2  Implementasi Kriptografi

Implementasi dari kriptografi sangat banyak bisa kita temui dalam kehidupan sehari-hari seperti Automatic Teller Machine (ATM), Penggunaan ATM untuk banking, bahkan mulai meningkat menjadi Internet Banking, Mobile Banking, Komunikasi elektronik seperti telepon tetap, cellular, SMS, MMS, 3G, Komunikasi via Internet seperti email, messaging, chatting, Voice Call dan E-Government , E-Commence.

Menurut catatan sejarah, kriptografi sudah digunakan oleh bangsa Mesir sejak 4000 tahun yang lalu oleh raja-raja Mesir pada saat perang untuk mengirimkan pesan rahasia kepada panglima perangnya melalui kurir-kurirnya. Orang yang melakukan penyandian ini disebut kriptografer, sedangkan orang yang mendalami ilmu dan seni dalam membuka atau memecahkan suatu algoritma kriptografi tanpa harus mengetahui kuncinya disebut kriptanalis.

Algoritma tersebut terdapat 4 persyaratan yaitu:

1.      Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang memliki kewenangan.

2.      Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain.

3.      Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak dimodifikasi ketika sedang dalam proses transmisi data.

4.      Non-Repudiation. Pengirim pesan harus tidak bisa menyangkal pesan yang dia kirimkan.