Jumat, 28 September 2012

Kriptografi

Kriptografi (atau kriptologi; dari Yunani κρυπτός, kryptos, “tersembunyi, rahasia”; dan γράφω, gráphō, “Saya menulis”, atau-λογία,-logia, masing-masing) adalah studi praktek dan menyembunyikan informasi. Kriptografi modern mengambil disiplin ilmu matematika, ilmu komputer, dan rekayasa. Aplikasi kriptografi termasuk kartu ATM, password komputer, dan perdagangan elektronik. Terminologi Sampai zaman modern kriptografi disebut hampir secara eksklusif keenkripsi, yang merupakan proses konversi informasi biasa (plaintext) menjadi teks yang tidak dapat dipahami (yaitu, teks sandi). Dekripsiadalah kebalikan, dengan kata lain, bergerak dari text yang dimengerti ciphertext kembali ke plaintext .Sebuah cipher (sandi) adalah sepasang algoritma yang menciptakan enkripsi dan dekripsi pembalikan. Pengoperasian yang rinci dari sebuah sandi dikendalikan dengan baik oleh algoritma dan di setiap contoh oleh kunci.Ini adalah parameter rahasia (idealnya hanya diketahui oleh komunitas) untuk pertukaran pesan konteks tertentu . Kunci adalah sesuatu yang penting, sebuah sandi tanpa variabel kunci dapat dengan mudah dibuka hanya dengan pengetahuan tentang sandi yang digunakan dan karena itu kurang berguna untuk tujuannya. Secara historis, cipher sering digunakan secara langsung untuk enkripsi atau dekripsi tanpa prosedur tambahan seperti otentikasi atau pengecekan integritas. Dalam penggunaan sehari-hari, istilah “kode” sering digunakan untuk berbagai maksud metode enkripsi atau penyembunyian makna. Namun, dalam kriptografi, kode mempunyai arti yang lebih spesifik. Itu berarti penggantian unit plaintext (yaitu, sebuah kata atau frase yang bermakna) dengan kata kode (misalnya, pai apel menggantikan serangan pada waktu fajar). Kode ini tidak lagi digunakan dalam kriptografi secara serius-kecuali untuk hal-hal seperti unit sebutan (misalnya, Bronco Flight atau Operation Overlord) – sejak keduanya dipilih, menjadi lebih mudah digunakan dan lebih aman daripada yang ada sebelumnya dan lebih dapat disesuaikan dengan komputer. Beberapa menggunakan istilah kriptografi dan kriptologi bergantian dalam bahasa Inggris, sementara yang lain (termasuk pelatihan militer AS umumnya) menggunakan kriptografi untuk merujuk pada penggunaan dan praktek teknik kriptografi dan kriptologi untuk merujuk pada studi gabungan kriptografi dan kriptoanalisis. Bahasa Inggris lebih fleksibel daripada beberapa bahasa kriptologi yang lain (dilakukan oleh ahli kriptologi) selalu digunakan dalam pengertian kedua di atas. Dalam Wikipedia bahasa Inggris istilah umum yang digunakan untuk seluruh bidang kriptografi (dilakukan oleh kriptografer). Studi karakteristik bahasa yang memiliki beberapa aplikasi dalam kriptografi (atau kriptologi), yaitu data frekuensi, huruf kombinasi, pola-pola universal, dll disebut cryptolinguistics. Sejarah kriptografi dan kriptoanalisis Sebelum era modern, Kriptografi semata-mata berhubungan tengang pesan yang rahasia (yaitu, enkripsi) – pengubahan pesan dari bentuk yang dapat dipahami menjadi tidak bisa dimengerti dan kembali lagi di sisi lain, pembacaan oleh interceptors or eavesdroppers (pencegat atau penyadap) tanpa pengetahuan rahasia (yaitu kunci yang diperlukan untuk dekripsi dari pesan). Enkripsi yang digunakan untuk (berusaha untuk) menjamin kerahasiaan dalam komunikasi, seperti orang-orang mata-mata, para pemimpin militer, dan diplomat. Pada dekade belakangan ini, bidang telah berkembang di luar masalah kerahasiaan mencakup teknik untuk memeriksa integritas pesan, pengirim / penerima identitas otentikasi, tanda tangan digital, bukti-bukti interaktif dan aman perhitungan dan lain-lain. Kriptografi Klasik Bentuk paling awal yang dibutuhkan untuk menulis pesan rahasia hanya tidak lebih dari pena dan kertas lokal analog, karena kebanyakan orang tidak dapat membaca. Semakin banyak literatur dan tulisan perbandingan, diperlukan kriptografi sebenarnya. Jenis Sandi klasik yang pertama adalah jenis transposisi, yang mengatur ulang susunan huruf-huruf dalam pesan (misalnya, ‘hello world’ menjadi ‘ehlol owrdl’ dalam skema penataan ulang yang sepele dan sederhana), dan substitusi cipher, yang secara sistematis menggantikan huruf atau kelompok huruf dengan surat-surat lain atau kelompok huruf (misalnya, ‘terbang sekaligus’ menjadi ‘gmz bu podf’ dengan mengganti setiap huruf dengan satu berikut dalam abjad Latin). Versi sederhana yang ditawarkan baik sedikit kerahasiaan dari sang penerima pesan, dan masih dilakukan. Sandi substitusi awal adalah Caesar Chiper, di mana setiap huruf pada plaintext digantikan oleh sebuah surat dimana beberapa jumlah posisi tetap lebih lanjut dalam alfabet. Tehnik ini dinamakan setelah Julius Caesar menggunakannya, dengan pergeseran dari 3, untuk berkomunikasi dengan para jenderal selama kampanye militer, seperti BERLEBIH-3 kode dalam aljabar boolean. Ada catatan dari beberapa awal sandi Ibrani juga. Paling awal dikenal penggunaan kriptografi adalah beberapa ciphertext diukir di atas batu di Mesir (ca 1900 SM), tapi ini mungkin telah dilakukan oleh para pengamat tanpa tujuan yang serius. Kemudian adalah resep roti dari Mesopotamia. Kriptografi yang direkomendasikan dalam Kama Sutra adalah sebagai cara untuk kekasih nyaman berkomunikasi tanpa penemuan.Tehniksteganography (yakni, menyembunyikan keberadaan pesan agar tetap rahasia) juga pertama kali dikembangkan pada zaman kuno. Contoh awal, dari Herodotus, pesan yang tersembunyi – tato pada budak – di bawah rambut dikepala.yang lebih modern steganography termasuk contoh penggunaan tinta tak terlihat, microdots, dan digital watermark untuk menyembunyikan informasi. Ciphertexts diproduksi oleh cipher klasik (dan beberapa modern) selalu mengungkapkan informasi statistik tentang plaintext, yang sering dapat digunakan untuk mematahkannya. Setelah penemuan analisis frekuensi mungkin oleh matematikawan Arab dan polymath, Al-Kindi (juga dikenal sebagai Alkindus), pada abad 9, hampir semua cipher tersebut menjadi lebih atau kurang mudah dipecahkan oleh penyerang informasi apapun. Seperti Cipher klasik yang masih menikmati popularitas hingga hari ini, meskipun kebanyakan sebagai teka-teki (lihat kriptogram). Pada dasarnya semua cipher tetap rentan terhadap kriptoanalisis menggunakan teknik ini sampai perkembangan polyalphabetic sandi, paling jelas oleh Leon Battista Alberti sekitar tahun 1467, meskipun ada beberapa indikasi bahwa itu dikenal dengan Al-Kindi. Alberti inovasi adalah untuk menggunakan cipher yang berbeda (yakni, substitusi abjad) untuk berbagai bagian dari sebuah pesan (mungkin untuk setiap urutan huruf plaintext pada batas). Dia juga menemukan perangkat cipher otomatis pertama, sebuah roda yang dilaksanakan realisasi sebagian penemuannya.Dalam polyalphabetic Sandi Vigenère, enkripsi menggunakan kata kunci, yang mengendalikan substitusi surat tergantung pada huruf dari kata kunci yang digunakan. Pada pertengahan 1800-an Babbage polyalphabetic cipher menunjukkan bahwa jenis ini tetap rentan terhadap teknik analisis frekuensi. Meskipun analisis frekuensi cukup kuat dan didalam teknik umum terhadap banyak sandi, enkripsi ini masih sering efektif dalam latihannya; banyak calon cryptanalyst tidak menyadari teknik. Memecahkan pesan tanpa menggunakan analisis frekuensi pada dasarnya diperlukan pengetahuan tentang sandi yang digunakan dan mungkin dari kunci yang ada, sehingga membuat mata-mata, penyuapan, pencurian, pembelotan, dll lebih menarik pendekatannya ke cryptanalyticly untuk mengetahui kebenarannya. Pada akhirnya secara eksplisit diakui dalam abad ke-19 kerahasiaan algoritma sandi yang tidak praktis yang masuk akal maupun menjaga keamanan pesan, bahkan, itu lebih menyadari bahwa skema kriptografi yang memadai (termasuk cipher) harus tetap aman bahkan jika lawan sepenuhnya memahami algoritma cipher itu sendiri. Keamanan kunci yang digunakan harus cukup untuk cipher yang baik untuk menjaga kerahasiaan di bawah serangan. Prinsip fundamental ini secara eksplisit dinyatakan pertama kali pada tahun 1883 oleh Auguste Kerckhoffs dan umumnya disebut Prinsip Kerckhoffs ; alternatif dan lebih blak-blakan, itu diperkuat oleh Claude Shannon, penemu teori informasi dan teori dasar-dasar kriptografi, sebagai Maxim Shannon -’the enemy knows the system’. Perangkat fisik yang berbeda dan bantuan telah digunakan untuk membantu dengan sandi. Salah satu yang paling awal mungkin merupakan scytale dari Yunani kuno, sebuah batang seharusnya digunakan oleh Spartan sebagai bantuan untuk cipher transposisi (lihat gambar di atas). Pada abad pertengahan, diciptakan alat bantu lainnya seperti sandi kisi-kisi, yang juga digunakan untuk semacam steganography. Dengan penemuan cipher polyalphabetic alat bantu yang lebih canggih seperti Alberti sandi disk, Johannes Trithemius ‘tabula recta skema, dan Thomas Jefferson’ s multi-silinder (tidak diketahui publik, dan diciptakan kembali secara terpisah oleh Bazeries sekitar 1900).Banyak mekanik enkripsi / dekripsi perangkat yang diciptakan pada awal abad ke-20, dan beberapa paten, di antaranya mesin rotor – yang terkenal termasuk mesin Enigma yang digunakan oleh pemerintah Jerman dan militer dari akhir 20-an dan selama Perang Dunia II.Cipher dilaksanakan oleh kualitas yang lebih baik contoh desain mesin ini membawa peningkatan yang substansial cryptanalytic kesulitan setelah Perang Dunia I. Era Komputer Pengembangan komputer digital dan elektronik setelah Perang Dunia II memungkinkan sandi jauh lebih kompleks. Selain itu, komputer memungkinkan untuk mengenkripsi data apapun yang representif kedalam format binari, tidak seperti cipher klasik yang hanya teks terenkripsi kedalam bahasa tertulis; hal ini masih baru dan cukup signifikan. Banyak komputer cipher dapat dicirikan oleh operasi mereka dengan biner bit dalam urutan (kadang-kadang dalam kelompok-kelompok atau blok), tidak seperti skema klasik dan mekanik, yang umumnya memanipulasi karakter tradisional (yaitu, huruf dan angka) secara langsung. Namun, komputer juga telah membantu kriptoanalisis, yang telah dikompensasikan sampai batas tertentu kedalam sandi untuk meningkatkan kompleksitas. Meskipun demikian, cipher modern telah selangkah di depan kriptoanalisis; itu biasanya kasus yang menggunakan sandi yang berkualitas sangat efisien (yakni, cepat dan membutuhkan beberapa sumber daya (misalnya, kemampuan memori atau CPU)), sementara untuk membongkarnya akan memerlukan upaya lebih banyak beberapa kali lipat lebih besar, dan jauh lebih besar daripada yang dibutuhkan untuk setiap sandi klasik, membuat kriptoanalisis seperti itu tidak efisien,efektif dan tidak praktis.Metode alternatif serangan (penyuapan, pencurian, ancaman, penyiksaan, …) telah menjadi lebih menarik dalam konsekuensi. Terbuka luas untuk penelitian akademik kriptografi relatif masih baru, baru dimulai pada pertengahan 1970-an. Belakangan ini, IBM personil merancang algoritma yang menjadi Federal (yaitu, US) Data Encryption Standard; Whitfield Diffie dan Martin Hellman mengeluarkan key agreement algorithm,dan RSA algoritma direlease oleh Martin Gardner ‘s Scientific American kolom.Sejak itu, kriptografi telah menjadi alat yang digunakan secara luas dalam komunikasi, jaringan komputer, dan keamanan komputer secara umum. Beberapa teknik kriptografi modern yang hanya dapat menyimpan rahasia kunci mereka jika masalah matematika tertentu sulit ditangani, seperti dalam masalah integer factorisation atau logaritma diskrit, jadi ada hubungan dengan abstrak dalam matematika.Tidak ada bukti mutlak bahwa teknik kriptografi adalah aman, ada bukti bahwa beberapa teknik yang aman jika ada masalah komputasi sulit untuk dipecahkan, asumsi tentang pelaksanaan atau penggunaan praktis dipenuhi. Selain menyadari sejarah kriptografi, algoritma kriptografi dan sistem desainer juga harus bijaksana mempertimbangkan kemungkinan perkembangan masa depan ketika bekerja pada desain mereka. Sebagai contoh, perbaikan terus-menerus kekuatan pemrosesan komputer telah meningkatkan cakupan serangan brute force, sehingga ketika menentukan panjang kunci, panjang kunci yang diperlukan sama-sama maju. Efek potensi komputasi kuantum sudah sedang dipertimbangkan oleh beberapa sistem kriptografi desainer; yang diumumkan implementasi kecil kedekatan di antara mesin-mesin ini dapat membuat perlunya kehati-hatian pencegahan ini agak lebih dari sekadar spekulatif. Pada dasarnya, sebelum awal abad ke-20, kriptografi terutama berkaitan dengan linguistik dan leksikografis pola. Sejak saat itu, penekanan telah bergeser, dan kriptografi sekarang membuat banyak menggunakan matematika, termasuk aspek teori informasi, kompleksitas komputasi, statistik, kombinatorika, aljabar abstrak, teori bilangan, dan matematika pada umumnya terbatas. Kriptografi juga merupakan sebuah cabang dari teknik, tapi satu yang tidak biasa karena berhubungan dengan aktif, cerdas, dan jahat oposisi (lihat kriptografi teknik dan rekayasa keamanan); jenis teknik lain (misalnya, sipil atau teknik kimia) perlu berurusan hanya dengan kekuatan alam yang netral. Ada juga penelitian aktif meneliti hubungan antara masalah kriptografi dan fisika kuantum (lihat kriptografi kuantum dan komputasi kuantum). Kriptografi Modern Kriptografi Kunci Symmetric Satu putaran (dari 8,5) dari dipatenkan IDEA sandi, yang digunakan dalam beberapa versi PGP berkecepatan tinggi enkripsi, misalnya, e-mail Kriptografi kunci simetris mengacu pada metode enkripsi di mana pengirim dan penerima berbagi tombol yang sama (atau, lebih jarang terjadi, di mana kunci mereka berbeda, namun berhubungan dalam cara yang mudah dihitung). Ini adalah satu-satunya jenis enkripsi yang dikenal publik hingga Juni 1976. e-mail Satu putaran (dari 8,5) dari dipatenkan IDEA sandi, yang digunakan dalam beberapa versi PGP berkecepatan tinggi enkripsi, misalnya, e-mail Studi modern dari cipher kunci simetris berhubungan terutama untuk studi blok cipher dan stream cipher dan aplikasi mereka. Satu blok cipher adalah, dalam arti, perwujudan modern polyalphabetic Alberti cipher: block cipher mengambil sebagai masukan satu blok plaintext dan kunci, dan output blok ciphertext dengan ukuran yang sama. Karena pesan yang hampir selalu lebih lama daripada satu blok, beberapa metode blok berturut-turut bersama-sama merajut diperlukan. Beberapa diantaranya telah dikembangkan, beberapa dengan keamanan yang lebih baik dalam satu aspek atau lain daripada yang lain. Mereka adalah modus operasi dan harus dipertimbangkan secara hati-hati bila menggunakan blok cipher dalam cryptosystem. The Data Encryption Standard (DES) dan Advanced Encryption Standard (AES) adalah blok cipher desain yang telah ditetapkan standar kriptografi oleh pemerintah Amerika Serikat (walaupun sebutan DES akhirnya ditarik setelah diadopsi AES). Terlepas dari bantahan sebagai standar resmi, DES (terutama yang masih disetujui dan jauh lebih aman triple-DES varian) tetap cukup populer, melainkan digunakan di berbagai aplikasi, dari ATM enkripsi untuk e-mail privasi dan aman remote akses.Banyak cipher blok lain telah dirancang dan dilepaskan, dengan banyak variasi dalam kualitas. Banyak yang telah benar-benar rusak. Stream cipher, kontras dengan ‘block’ type, membuat panjang sewenang-wenang aliran bahan utama, yang dikombinasikan dengan plaintext bit-per-bit atau karakter demi karakter, agak seperti pad satu kali. Dalam aliran sandi, output stream dibuat berdasarkan keadaan internal yang tersembunyi perubahan sebagai cipher beroperasi.Keadaan internal yang awalnya dibentuk dengan menggunakan bahan kunci rahasia. RC4 adalah stream cipher digunakan secara luas,Blok cipher dapat digunakan sebagai cipher aliran Kriptografi fungsi hash adalah jenis ketiga algoritma kriptografi.Mereka mengambil pesan dari setiap panjang sebagai masukan, dan output yang pendek, panjang tetap hash yang dapat digunakan di (untuk contoh) tanda tangan digital.Untuk fungsi hash yang baik, penyerang tidak dapat menemukan dua pesan yang menghasilkan hash yang sama. MD4 adalah panjang digunakan fungsi hash yang sekarang sudah terpecahkan; MD5, yang diperkuat varian dari MD4, juga banyak digunakan tetapi dalam praktik terpecahkan. The US National Security Agency mengembangkan Secure Hash Algorithm MD5-seri seperti fungsi hashSHA-0 adalah algoritma yang cacat; SHA-1 secara luas digunakan dan lebih aman daripada MD5, namun telah mengidentifikasi cryptanalysts serangan terhadap hal itu; SHA-2 meningkatkan keluarga pada SHA-1, tetapi belum digunakan secara luas, dan otoritas standar AS menganggap “bijaksana” dari perspektif keamanan untuk mengembangkan sebuah standar baru untuk “secara signifikan meningkatkan kekokohan keseluruhan NIST hash algoritma toolkit. “Dengan demikian, sebuah kompetisi desain fungsi hash sedang berlangsung dan dimaksudkan untuk memilih standar nasional Amerika Serikat yang baru, disebut SHA-3, pada tahun 2012. Kode otentikasi pesan (Mac) sangat mirip fungsi hash kriptografi, kecuali bahwa kunci rahasia yang digunakan untuk proses otentikasi nilai hash pada penerima. Rangkaian bit • Rangkaian bit yang dipecah menjadi blok-blok bit dapat ditulis dalam sejumlah cara bergantung pada panjang blok. • Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). • Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana ini. Sayangnya, algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan. Cara memecahkannya adalah sebagai berikut (asumsi: panjang kunci adalah sejumlah kecil byte): 1. Cari panjang kunci dengan prosedur counting coincidence sbb: XOR-kan cipherteks terhadap dirinya sendiri setelah digeser sejumlah byte, dan hitung jumlah byte yang sama. Jika pergeseran itu kelipatan dari panjang kunci (yang tidak diketahui), maka 6% dari byte akan sama. Jika tidak, maka 0.4% akan sama. Angka persentase ini disebut index of coincidence. Pergeseran terkecil mengindikasikan panjang kunci yang dicari. 2. Geser cipherteks sejauh panjang kunci dan XOR-kan dengan dirinya sendiri. Operasi ini menghasilkan plainteks yang ter-XOR dengan plainteks yang digeser sejauh panjang kunci tersebut.