Rabu, 17 Mei 2017

Definisi Kriptografi

Definisi Kriptografi
        Cryptography atau kriptogafi adalah suatu ilmu ataupun seni mengamankan pesan,dan dilakukan oleh cryptographer.Sedang,cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertextdan orang melakukannya disebut crptanalyst.
        Cryptography systematau cryptosystem adalah suatu fasilitas untuk mengkonversikan  plaintext ke ciphertext dan sebaliknya.Dalam sistem ini,seperangkat parameter yang menentukan transformasi penchiperantertentu disebut suatu kunci.Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi,Secara umum,kunci-kunci yang digunakan untuk proses pengenkripsian tidak perlu identik,tergantung pada sistem yang digunakan.
        Algoritma kriptografi terdiri dari algoritma enkripsi (E) dan algoritma deskripsi (D).Algoritma enkripsi menggunakan kunci enkripsi(KE),sedangkan algoritma dekripsi menggunakan kuncu dekripsi (KD).
        Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis berikut:
        EK(M)=C(proses enkripsi)
        DK(C)=(prosep dekripsi)
        Pada saat enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C.sedangkan proses dekripsi,pesan C tersebut diuraikan dengan menggunakan kunci K sehingga di hsilkan pesan Myang sama seperti pesan sebelumnya.

        Dengan demikian keamana suatu pesan tergantund pada kuci ataupun kunci-kunci digunakan,dan tidak tergantung pada algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis,serta produk-produk yang menggunakan algoritma tersebut dapat dproduksi secara umum.Tidaklah menjadi masalah apabila seseorang mengetahui algoritma  yang kita gunakan.Selama ia tidak mengetahui kunci yang dipakai,ia tetap tidak membaca pesan.

PGP (Pretty Good Privacy)

PGP (Pretty Good Privacy)
            Setiap orang mempunyai 2 kunci yaitu kimci publik dan kunci pribadi.Ketika seseorang ingin mengirim sesuatu pada si penerima,pengirim mengenkrip dengan kunci publik si penerima,Kemudian hanya cara untuk mendekripnya dengan kunci pribadi si penerima.Salah satu keuntungan lain dari PGP adalah mengizinkan pengirim menandai perubahan selama perjalanan.
            Berdasarkan pada teori ini,PGP mengizinkan seseorang untuk menguffiumkan kunci kunci publik mereka dan menjaga kunci pribadi yang sifatnya rahasia.Hasilnya seseorang dapat mengenkrip pesan kepada orang lain sepanjang mereka mempunyai kunci publik.
            PGP adalah suatu metode enkripsi informasi yang bersifat rahasia,sehingga jangan sampai diketahui oleh orang yang tidak berhak.Informasi ini bisa berupa email yang sifatnya rahasia nomor kode kartu kredit,atau pengiriman dokumen rahasia perusahaan melalui internet.PGP menggunakan metode kriptografi yang disebut “public key encrption” ; yaitu suatu  metode kriptogafi yang sangat sophisticated.
Adapun prinsip kerja dari PGP adalh sebagai berikut:
PGP,seperti yang telah dijelaskan sebelumnya,menggunakan teknik yang disebut publik key encrption dengan dua kode.Kode-kode ini berhubungan secara intrinsik,namun tidak mungkin untuk memecahkan satu dan yang lainnya.Ketika dibuat satu kunci,maka secara otomatis akan dihasilkan sepasang kunci yaitu kunci publik andand kunci rahasia.Si A dapat memberikan kunci publik kemanapun tujuan yang diinginkannya,melalui telepon,internet,keyserver,dan sebagainya.Kunci rahasia yang disimpan pada mesin si A dan menngunakan messager decpherakan dikirimkan ke si A..Jadi orang lain yang akan menggunakan kunci publik milik A(yang hanya dapat didekripsi oleh kunci rahasia milik si A),mengirimkan  pesan kepada A,dan A akan menggunakan kunci rahasia untuk membacanya.
  Mengapa menggunakan dua kunci? Karena dengan convetional crypto, di saat terjadi transfer informasi kunci,diperlukan suatu secure channel .Dan jika memiliki sesuatu secure channel,mengapa masih crypto? Dengan public-key system,tidak akan menjadi masalah siapa yang melihat kunci milik kita,karena kunci yang dilihat orang lain adalah adalah yang digunakan hanya untuk enkripsidan hanya pemilik saja yang mengetahui kunci rahasia tersebut.Kunci rahasia merupakan kunci yang berhubungan secara fisik dengan komputer pemilik,kunci publik yang ada da kemudian dimsukkan lagi passphrase. Dengan demikian,seseorang mungkin dapat mencuri passphraseyang kita ketikkan,namun ia hanya dapat membaca jika ia dapat mengakses komputer kita.

            Setelah mengetahui prinsip kerja dari PGP,berikut akan ditunjukkan penerapannya pada jaringan.Kunci publik sangat lambat bila dibandingkan dengan konvensional.jadi PGP akan mengkombinasikan dua algoritma,yaitu RSA and IDEA,untuk melakukan enkripsi plaintext.

RSA

 RSA
RSA adalah singkatan dari hruf depan dari 3 orang yang menemukannya pda tahun 1977 di MTT yaitu, Adi Shamir dan Len Adleman. Algoritma ini merupakan cara enkripsi publik yang paling kaut saat ini. Algoritma RSA melibatkan seleksi digit angka prima dan mengalikan secara bersama untuk mendapat jumlah, yaitu n. angka-angka ini dilewati algoritma matematis untuk menentukan kunci publik KU={e,n} dan kunci pribadi KR={d,n} yang secara matematis berhubungan. Ini merupakan hal yang sulit untuk menentukan e dan d diberi n. Dasar inilah yang menjadi algoritma RSA.7
Sekali kunci telah diciptakan, sebuah pesan dapat di enkrip dalam blok dan melewati persamaan berikut ini:
C=Me mod n (1)
Dimana C adalah ciphertext, M adalah plaintext, sedangkan e adalah kunci publik penerima. Dengan demikian pesan di atas dapat dienkrip dengan persamaan berikut:
C=Me mod n (2)

Dimana d adalah kunci pribadi penerima. Sebagai contoh, kita mengasumsikan bahwa M=19 (kita akan menggunakan jumlah yang kecil untuk hal yang sederhana dan nantinya secara normal jumlah-jumlah ini akan menjadi besar). Kita akan menggunakan angka 7 sebgai huruf q. Jadi n=7x17=119, kemudian e dihitung menjadi 5 dan dihitung lagi menjadi 77.KU={5,119} dan KR={77,119}. Kita dapat melalui nilai yang dibutuhkan dengan persamaan 1 untuk mencari nilai C. Dalam hal ini C=66, kemudian hasil dienkrip C(66) dapat digunakan untuk mendapatkan nilai plaintext yang asli.Untuk persamaan (2) juga mendapat nilai 19 dan plaintext yang asli.

Sistem Diffie Hellman

Sistem Diffie Hellman

                  Kunci pertukaran ini di tenmkan oleh Whitfield Diffie dan Martin Hellman pada tahun 1976 dan sebelumnya ditemukan oleh Malcolm Williamson pada tahun 1974. Sistem ini dipakai untuk menyandikan pertukaran pesan antar dua pihak secara interaktif. Pada awalnya, masing-masing pihak mempunyai sebuah kunci rahasia yang tidak diketahui lawan bicara.Dengan berdasarkan pada masing-masing kunci rahasia ini, kedua pihak dapat menbuat sebuah kunci sesi (session key) yang dipakai untuk pembicaraan selanjutnya.
Pembuatan kunci sesi ini dilakukan seperti halnya suatu tanya jawab matematis, hanya pihak yang secara aktif ikut dalam tanya jawab ini sajalah yang bisa mengetahui kunci sesinya. Penyadap yang tidak secara aktif mengikuti tanya jawab ini tidak akan bisa mengetahui kunci sesi ini. Meskipun tidak mengkin mengenkrip langsung dalam Sistem Diffie Hellman, Hal ini masih berguna dalam pengiriman pesan rahasia.

Metode Differ Hellman6, Seperti RSA juga mengunaka aritmetik modulus, tetapi disini modulus hanya difokuskan pada bilangan prima, yang disebut P. Dalam sistem Diffie Hellman ,ada 2 kelompok yang masing-masing berpikir dari angka acak rahasia yaitu  X dan Y. Masing-masing mengirim kedua komponen itu sehingga satu kelompok tahu ada X dan ada A^Y dan kelompok yang lain tahu ada Y dan A^X. Masing –masing kelompok dapat menghitung A^(X*Y) yang dijabarkan menjadi (A^Y)^X dan juga (A^X)^Y. Misalnya sesorang mendengar perhitungan ini secara diam-diam, dia tidak akan mengerti maksudnya.

Enkripsi dengan Kunci Publik

Enkripsi dengan Kunci Publik
Cara enkripsi ini mempunyai banyak kelebihan, salah satunya adalah tiap orang hanya perlu memiliki satu set kunci, tanpa peduli berapa banyak orang yang akan di ajak berkomunikasi. Jadi jika ada n orang berkomunikasi dengan cara ini hanya dibutuhkan n set kunci. Selain itu, cara enkripsi ini tidak membutuhkan saluran aman untuk pengiriman kunci, sebab kunci yang dikirim ini memang harus di ketahui publik. Cara enkripsi ini sangat praktis sehingga masyarakat umum pun dapat dengan mudah memakainya.
Cara kerja enkripsi ini secara singkat dapat diterangkan sebagai berikut. Setiap orang yang menggunakan enkripsi ini harus memiliki dua buah kunci, satu di sebut kunci rahasia yang hanya boleh diketahui oleh dirinya sendiri dan yang lain di sebut kunci publik yang di sebarkan ke orang lain. Kedua kunci ini dibuat secara acak dengan menggunakan rumus matematika tertentu, jadi kunci ini berkaitan erat secara matematis. Jika si A hendak mengirim pesan dengan si B, si A perlu mengenkrip pesan tersebut Kunci publik si B. Pesan si A yang telah dienkrip dengan menggunakan kunci publik si B hanya bisa di buka dengan kunci rahasia si B, Walaupun di enkrip dengan kunci publik si B, pesan ini tidak bisa dibuka dengan kunci publik itu sendiri. Adalah kewajiban si B untuk menjamin keamanan kunci rahasianya
Karena kunci rahasia ini tidak perlu diketahui si pengirim berita, kunci ini tidak akan pernah dikirim lewat jalur umum. Hal ini membuat cara ini jauh lebih aman daripada kunci pribadi. Orang lain, misalnya saja si C, Dapat mengirim ke B dengan kunci publik si B yang sama. Walaupun mengetahui publik si B, pesan yang telah di enkrip dengan itu sangat sulit di buka. Cara enkripsi ini di kategorikan dalam kriptografi asimetis, karena kunci yang di pakai untuk mengenkripsi dan untuk membuka enkrip adalah dengan menggunakan 2 kunci  yang berbeda.

Ada beberapa algoritma yang terkenal dari cara enkrpsi ini, misalnya : Sistem Diffie Hellman, RSA, dan PGP.

Enigma Cipher

Enigma Cipher
            Enigma Cipher adalah suatu metode yang terkenal pada waktu perang dunia ke 2 bagi pihak jerman. Waktu itu dikembangkan sesuatu metode atau model yang di sebut dengan mesin Enigma. 5mesin ddidasarkan pada system 3 rotor yang menggantikan huruf dalam ciphertext dengan huruf dalam plaintext. Rotor itu akan berputar dan menghasilkan hubungan antara huruf yang satu dengan huruf yang lain, sehingga menampilkan berbagai subtitusi seperti pergeseran Caesar.
            Ketika satu huruf diketik pada keyboard mesin, hal pertama yang dilakukan adalah pengiriman ke rotor pertama yang kosong kemudian akan menggeser huruf menurut kondisi yang ada.Setelah itu huruf baru kan melewati rotor kedua, dimana akan terjadi pergantian oleh subtitusi menurut kondisi yang telah ditentukan dirotor kedua . Baru setelah itu, huruf baru ini akan melewati rotor ketiga dan hasilnya akan di subtitusikan lagi. Sampai huruf baru ini akhirnya akan di kembalikan pada reflector dan kembali lagi melalui 3 rotor dalam urutan yang terbalik.
             Kondisi yang membuat Enigma kuat adalah putaran rotor.
Karena huruf plaintext melewati rotor pertama akan berputar 1 posisi. 2 rotor yang lain akan meninggalkan tulisan sampai rotor yang pertama telah berputar 26 kali (jumlah huruf dalam alphabet serta 1 putaran penuh). Kemudian rotor kedua akan berputar 1 posisi. Sesudah rotor kedua terus berputar 26 kali (26x26 huruf, karena rotor pertama harus berputar 26 kali untuk setiap waktu rotor kedua berputar), rotor ketiga akan berputar 1 posisi.
            Siklus ini akan berlanjut untuk seluruh pesan yang dibaca. Dengan kata lain, hasilnya merupakan geseran yang digeser. Sebagai contoh, huruf s dapat disandikan sebagai huruf b dalam bagian pertama pesan, kemudian huruf m berikutnya dalam pesan. Sehingga dari 26 huruf dalam alphabet akan muncul pergeseran 26x26x26 yaitu posisi rotor yang mungkin.

           Dari sini kita dapat penjelasan tentang grafis dari apa yang terjadi ketika kunci ditekan pada mesin enigma. Supaya lebih sederhana, dalam gambar itu hanya dimunculkan 8 huruf alfabet, sedangkan mesin yang asli menggunakan semua huruf yaitu 26 huruf.

Blowfish

Blowfish
            Blowfish merupakan metoda enkripsi yang mirip dengan DES dan di ciptakan oleh Bruce Schneier  yang ditujukan untuk mikroprosesor besar (32 bit ke atasa dengan cache data yang besar). Blowfish dikembangkan untuk memenuhi kriteria disain sebagai berikut:
·         Cepat, pada implementasi yang optimal Blowfish dapat mencapai kecepatan 26 clock cycle per byte.
·         Kompak , Blowfish dapat berjalan pada memori kurang dari 5 KB
·         Sederhana, Blowfish hanya menggunakan operasi yang sederhana yaitu : penambahan (addition), XOR, dan penelusuran table (table lookup) pada operand 32 bit. Desainnya mudah untuk dianalisa yang membuatnya resisten terhadap kesalahan implementasi. Keamanan yang variable, panjang kunci Blowfish dapat bervariasi dan dapat mencapai 448 bit (56 byte).

Blowfish dioptimalkan untuk aplikasi dimana kunc tidak sering berubah, seperti jalur komunikasi atau enkripsi fiel otomatis. Blowfish jauh lebih cepat dari DES bila diimplementasikan pada 32 bit mikroprosesor dengan cache data yang besar. Blowfish merupakan blok Cipher 64-bit dengan panjang kunci variabel. Algoritma ini terdiri dari 2 bagian :key expansion dan enkripsi data. Key expansion merubah kunci yang dapat mencapai 448 bit menjadi beberapa array subkunci (subkey) dengan total 4168 byte.

            Enkripsi data terdiri dari iterasi fungsi sederhana sebanyak 16 kali. Setiap putaran terdiri dari permutasi kunci dependen dan subtitusi kunci dan data dependen. Semua operasi adalah penambahan dan XOR pada variable 32-bit. Tambahan operasi lain –nya hanyalah empat penelusuran table (table lookup) array berindeks untuk setiap putaran .