yahyaclub

Belajar Enkripsi YU......!!!

ENKRIPSI UNTUK KEAMANAN DATA DI JARINGAN

Muhammad Mursodo

Salah satu hal yang penting dalam komunikasi menggunakan computer untuk emnjamin kerahasian data adalah encripsi. Enkripsi dalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti ( tidak terbaca ). Enkripsi dapat diartikan sebagai kode atau chiper. Sebuah sistem pengkodean menggunakan suatu table atau kamus yang telah didefinisikan untuk mengganti kata dari informasi atau yang merupakan bagian dari informasi yang dikirim. Sebuah chiper menggunakan suatu algoritma yang dapat mengkodekan semua aliran data ( stream ) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti ( unitelligible ). Karena teknik cipher merupakan suatu sistem yang telah siap untuk di automasi, maka teknik ini digunakan dalam sistem keamanan komputer dan network.


Pada bagian selanjutnya kita akan membahas berbagai macam teknik enkripsi yang biasa digunakan dalam sistem sekuriti dari sistem komputer dan network.


  1. Enkripsi Konvensional.

Proses enkripsi ini dapat digambarkan sebagai berikut :


Plain teks Algoritma Enkripsi Cipher teks Algoritma Dekrispsi Plain teks.

User A | | User B

|-------------------Kunci (Key) ----------------|

Gambar 1.


Informasi asal yang dapat di mengerti di simbolkan oleh Plain teks, yang kemudian oleh algoritma Enkripsi diterjemahkan menjadi informasi yang tidak dapat untuk dimengerti yang disimbolkan dengan cipher teks. Proses enkripsi terdiri dari dua yaitu algoritma dan kunci. Kunci biasanya merupakan suatu string bit yang pendek yang mengontrol algoritma. Algoritma enkripsi akan menghasilkan hasil yang berbeda tergantung pada kunci yang digunakan. Mengubah kunci dari enkripsi akan mengubah output dari algortima enkripsi.


Sekali cipher teks telah dihasilkan, kemudian ditransmisikan. Pada bagian penerima selanjutnya cipher teks yang diterima diubah kembali ke plain teks dengan algoritma dan dan kunci yang sama.


Keamanan dari enkripsi konvensional bergantung pada beberapa faktor. Pertama algoritma enkripsi harus cukup kuat sehingga menjadikan sangat sulit untuk mendekripsi cipher teks dengan dasar cipher teks tersebut. Lebih jauh dari itu keamanan dari algoritma enkripsi konvensional bergantung pada kerahasian dari kuncinya bukan algoritmanya. Yaitu dengan asumsi bahwa adalah sangat tidak praktis untuk mendekripsikan informasi dengan dasar cipher teks dan pengetahuan tentang algoritma diskripsi / enkripsi. Atau dengan kata lain, kita tidak perlu menjaga kerahasiaan dari algoritma tetapi cukup dengan kerahasiaan kuncinya.


Manfaat dari konvensional enkripsi algoritma adalah kemudahan dalam penggunaan secara luas. Dengan kenyataan bahwa algoritma ini tidak perlu dijaga kerahasiaannya dengan maksud bahwa pembuat dapat dan mampu membuat suatu implementasi dalam bentuk chip dengan harga yang murah. Chips ini dapat tersedia secara luas dan disediakan pula untuk beberapa jenis produk. Dengan penggunaan dari enkripsi konvensional, prinsip keamanan adalah menjadi menjaga keamanan dari kunci.


Model enkripsi yang digunakan secara luas adalah model yang didasarkan pada data encrytion standard (DES), yang diambil oleh Biro standart nasional US pada tahun 1977. Untuk DES data di enkripsi dalam 64 bit block dengan menggunakan 56 bit kunci. Dengan menggunakan kunci ini, 64 data input diubah dengan suatu urutan dari metode menjadi 64 bit output. Proses yang yang sama dengan kunci yang sama digunakan untuk mengubah kembali enkripsi.


B. Enkripsi Public-Key.

Salah satu yang menjadi kesulitan utama dari enkripsi konvensional adalah perlunya untuk mendistribusikan kunci yang digunakan dalam keadaan aman. Sebuah cara yang tepat telah diketemukan untuk mengatasi kelemahan ini dengan suatu model enkripsi yang secara mengejutkan tidak memerlukan sebuah kunci untuk didistribusikan. Metode ini dikenal dengan nama enkripsi public-key dan pertama kali diperkenalkan pada tahun 1976.


Plain teks Algoritma Enkripsi Cipher teks Algoritma Dekrispsi Plain teks.

User A | | User B

| Private Key B ---------------|

Public Key B------------------------------------------------------------------|

Gambar 2.

Algoritma tersebut seperti yang digambarkan pada gambar diatas. Untuk enkripsi konvensional, kunci yang digunakan pada prosen enkripsi dan dekripsi adalah sama. Tetapi ini bukanlah kondisi sesungguhnya yang diperlukan. Namun adalah dimungkinkan untuk membangun suatu algoritma yang menggunakan satu kunci untuk enkripsi dan pasangannya, kunci yang berbeda, untuk dekripsi. Lebih jauh lagi adalah mungkin untuk menciptakan suatu algoritma yang mana pengetahuan tentang algoritma enkripsi ditambah kunci enkripsi tidak cukup untuk menentukan kunci dekrispi. Sehingga teknik berikut ini akan dapat dilakukan :

  1. Masing – masing dari sistem dalam network akan menciptakan sepasang kunci yang digunakan untuk enkripsi dan dekripsi dari informasi yang diterima.

  2. Masing – masing dari sistem akan menerbitkan kunci enkripsinya ( public key ) dengan memasang dalam register umum atau file, sedang pasangannya tetap dijaga sebagai kunci pribadi ( private key ).

  3. Jika A ingin mengisim pesan kepada B, maka A akan mengenkripsi pesannya dengan kunci publik dari B.

  4. Ketika B menerima pesan dari A maka B akan menggunakan kunci privatenya untuk mendeskripsi pesan dari A.


Seperti yang kita lihat, public-key memecahkan masalah pendistribusian karena tidak diperlukan suatu kunci untuk didistribusikan. Semua partisipan mempunyai akses ke kunci publik ( public key ) dan kunci pribadi dihasilkan secara lokal oleh setiap partisipan sehingga tidak perlu untuk didistribusikan. Selama sistem mengontrol masing – masing private key dengan baik maka komunikasi menjadi komunikasi yang aman. Setiap sistem mengubah private key pasangannya public key akan menggantikan public key yang lama.


Yang menjadi kelemahan dari metode enkripsi publik key adalah jika dibandingkan dengan metode enkripsi konvensional algoritma enkripsi ini mempunyai algoritma yang lebih komplek. Sehingga untuk perbandingan ukuran dan harga dari hardware, metode publik key akan menghasilkan performance yang lebih rendah.


Tabel berikut ini akan memperlihatkan berbagai aspek penting dari enkripsi konvensional dan public key.


Enkripsi Konvensional

Yang dibutuhkan untuk bekerja :

  1. Algoritma yang sama dengan kunci yang sama dapat digunakan untuk proses dekripsi – enkripsi.

  2. Pengirim dan penerima harus membagi algoritma dan kunci yang sama.



Yang dibutuhkan untuk keamanan :

  1. Kunci harus dirahasiakan.

  2. Adalah tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.

  3. Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untu menentukan kunci.



Enkripsi Public Key.


Yang dibutuhkan untuk bekerja :

  1. Algoritma yang digunakan untuk enkripsi dan dekripsi dengan sepasang kunci, satu untuk enkripsi satu untuk dekripsi.

  2. Pengirim dan penerima harus mempunyai sepasang kunci yang cocok.


Yang dibutuhkan untuk keamanan :

  1. Salah satu dari kunci harus dirahasiakan.

  2. Adalah tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.

  3. Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untu menentukan kunci.


Download :



Algoritma Kriptografi

1. Chiper Substitusi

• Ini adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim kepada para gubernurnya.

• Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain dalam susunan abjad (alfabet).

• Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan akjad. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu k = 3).

Tabel substitusi:

pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Contoh. Pesan
AWASI ASTERIX DAN TEMANNYA OBELIX
disamarkan (enskripsi) menjadi

DZDVL DVWHULA GDQ WHPDQQBA REHOLA

Penerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga chiperteks

DZDVL DVWHULA GDQ WHPDQQBA REHOLA

dapat dikembalikan menjadi plainteks semula:

AWASI ASTERIX DAN TEMANNYA OBELIX

• Dengan mengkodekan setiap huruf abjad dengan integer sebagai berikut: A = 0, B = 1, …, Z = 25, maka secara matematis caesar chiper menyandikan plainteks pi menjadi ci dengan aturan:

ci = E(pi) = (pi + 3) mod 26 (1)

dan dekripsi chiperteks ci menjadi pi dengan aturan:

pi = D(ci) = (ci – 3) mod 26 (2)

• Karena hanya ada 26 huruf abjad, maka pergeseran huruf yang mungkin dilakukan adalah dari 0 sampai 25. Secara umum, untuk pergeseran huruf sejauh k (dalam hal ini k adalah kunci enkripsi dan deksripsi), fungsi enkripsi adalah

ci = E(pi) = (pi + k) mod 26 (3)

dan fungsi dekripsi adalah

pi = D(ci) = (ci – k) mod 26 (4)

Catatan:
1. Pergeseran 0 sama dengan pergeseran 26 (susunan huruf tidak berubah)
2. Pergeseran lain untuk k > 25 dapat juga dilakukan namun hasilnya akan kongruen dengan bilangan bulat dalam modulo 26. Misalnya k = 37 kongruen dengan 11 dalam modulo 26, atau 37 ? 11 (mod 26).
3. Karena ada operasi penjumlahan dalam persamaan (3) dan (4), maka caesar chiper kadang-kadang dinamakan juga additive chiper.

2. Pembahasan
Berikut adalah contoh program enkripsi menggunakan bahasa pemrograman VB 2005 :

Public Function Encipher(ByVal plainText As String) As String
Dim cipherText As String = String.Empty
Dim cipherInChars(plainText.Length) As Char
For i As Integer = 0 To plainText.Length - 1
cipherInChars(i) = Convert.ToChar((Convert.ToInt32(Convert.ToChar(plainText(i))) + Me.ShiftCount))
Next
cipherText = New String(cipherInChars)
Return cipherText
End Function

Berikut adalah contoh program enkripsi menggunakan bahasa pemrograman VB 2005 :

Public Function Decipher(ByVal cipherText As String) As String
Dim plainText As String = String.Empty
Dim cipherInChars(cipherText.Length) As Char
For i As Integer = 0 To cipherText.Length - 1
cipherInChars(i) = Convert.ToChar((Convert.ToInt32(Convert.ToChar(cipherText(i))) - Me.ShiftCount))
Next
plainText = New String(cipherInChars)
Return plainText
End Function

http://one.indoskripsi.com/judul-skripsi-makalah-tentang/enkripsi-file-text-dengan-algoritma-caesar-cipher

0 Responses

Posting Komentar