Kriptografi

**Kriptografi** (atau **kriptologi**; dari bahasa Yunani  *kryptós*, "tersembunyi, rahasia"; dan  *graphein*, "menulis", atau  **logi**, "ilmu") 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, password komputer, dan E-commerce.

Kriptografi sebelum merupakan sinonim dari "enkripsi", konversi dari kalimat-kalimat yang dapat dibaca menjadi kelihatan tidak masuk akal. Pembuat dari pesan enkripsi membagi teknik pemecahan sandi yang dibutuhkan untuk mengembalikan informasi asli jika hanya dengan penerima yang diinginkan, sehingga dapat mencegah orang yang tidak diinginkan melakukan hal yang sama. Sejak Perang Dunia I dan kedatangan komputer, metode yang digunakan untuk 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, tetapi 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 ditembus bahkan dengan komputasi yang tak terbatas tetapi skema ini sangat sulit diimplementasikan.

Teknologi yang berhubungan dengan kriptologi memiliki banyak masalah legal. Di Inggris, penambahan Regulasi Penyelidikan Aksi Wewenang membutuhkan kriminal yang tertuduh harus menyerahkan kunci dekripsinya jika diminta oleh penegah hukum. Jika tidak pengguna akan menghadapi hukum pidana. Electronic Frontier Foundation (EFF) terlibat dalam sebuah kasus di Amerika Serikat yang mempertanyakan jika seorang tersangka harus untuk menyerahkan kunci dekripsi mereka kepada pengak hukum merupakan inkonstitusionil. EFF memperdebatkan bahwa regulasi ini merupakan pelanggaran hak untuk tidak dipaksa mencurigai dirinya sendiri, seperti dalam Amendemen Kelima Konsitusi Amerika.

## Terminologi

Hingga zaman modern kriptografi mengacu hampir secara ekslusif pada *enkripsi*, yang merupakan proses mengkonversikan informasi biasa menjadi teks yang tak dapat dipahami (disebut teks sandi). Deskripsi merupakan kebalikan, dengan kata lain, memindahkan teks sandi yang tidak dapat dibaca menjadi teks yang dapat dibaca. *sandi* atau (*cypher*) adalah sepasang algoritme yang menciptakan enkripsi dan membalikan dekripsi. Operasi yang lebih mendalam dari sandi diatur baik oleh algoritma dan pada setiap permintaan dekripsi dengan kunci. Kunci ini bersifat rahasia (yang biasanya diketahui hanya oleh orang yang berkomunikasi), dan biasanya terdiri dengan karakter string singkat, yang dibutuhkan untuk mendekripsi teks sandi. Sebelumnya dinamakan "kriptosistem" yang merupakan daftar teratur dari elemen-elemen teks terbatas, teks sandi terbatas, kunci terbatas, dan algoritma dekripsi dan enkripsi yang berkoresponden pada setiap kunci. Kunci sangat penting baik pada penggunaan secara teoretis maupun sebenarnya, di mana sandi tanpa kunci variabel dapat dengan mudah rusak dengan hanya pengetahuan yang digunakan dari sandi dan dengan kemungkinan tidak berguna (atau malam tidak produktif) untuk banyak tujuan. Secara historis, sandi sering digunakan secara langsung untuk enkripsi atau deskripsi tanpa prosedur tambahan seperti autentikasi atau pengecekan integritas.

Dalam penggunaan bahasa sehari-hari, istilah "sandi" sering digunakan untuk menunjukkan setiap metode enkripsi atau penyembunyian arti. Bagaimanapun, dalam kriptografi, *sandi* telah memiliki arti yang lebih spesifik. Itu berarti pemindahan unit teks (contoh kata atau frasa yang berarti) dengan sebuah kata sandi (sebagai contoh, "wallaby" berarti "menyerang saat fajar"). Sandi tidak lagi digunakan pada kriptografi serius-kecuali sesekali untuk beberapa hal yang menyangkut istilah tertentu-sejak sandi yang dipilih secara tepat lebih praktis dan lebih aman daripada sandi terbaik dan juga dapat diadaptasikan pada komputer.

Kriptanalisis merupakan istilah yang digunakan untuk mempelajari metode untuk memperoleh arti dari informasi enkripsi tanpa mengakses sandi secara normal yang dibutuhkan untuk melakukannya; sebagai contoh ilmu yang mempelajari cara untuk memecahkan algoritma enkripsi atau implementasinya.

Beberapa kegunaan dari istilah *kriptografi* dan *kriptologi* selalu berubah di Bahasa Inggris, sedang lainnya menggunakan *kriptografi* untuk merujuk secara spesifik pada penggunakan dan pengaplikasikan dari teknik kriptografi dan *kriptologi* untuk merujuk pada ilmu kombinasi dari kriptografi dan kriptanalisis. Bahasa Inggris lebih fleksibel dari istilah umum yang digunakan pada beberapa bahasa lain yang di mana *kriptologi* (dilakukan oleh kriptolog) selalu digunakan pada arti kedua di atas.

Ilmu karateristik dari bahasa yang memiliki aplikasi pada kriptografi (atau kriptologi) (seperti data frekuensi, kombinasi surat, pola universal, dll.) disebuh kriptolinguistik.

## Sejarah kriptografi dan kriptanalisis
Sebelum zaman modern, kriptografi dilihat hanya semata-mata berhubungan dengan pesan rahasia (seperti enkripsi)-konversi pesan dari bentuk dapat dipahami menjadi bentuk yang tak dapat dipahami dan kembali lagi satu dengan yang lain, menjadikannya tak dapat dibaca oleh pencegat atau penyadap tanpa ilmu khusus (di mana sandi dibutuhkan untuk dekripsi pesan itu). Enkripsi digunakan untuk menyakinkan kerahasiaan di komunikasi, termasuk teknik untuk pemeriksaan integritas pesan, autentikasi identitas pengirim/penerima, tanda-tangan digital, bukti interaktif dan komputasi keamanan, serta banyak lagi yang lain.

### Kriptografi klasik

Bentuk awal dari penulisan rahasia membutuhkan lebih sedikit dari implementasi penulisan sejak banyak orang tidak dapat membaca. lawan yang lebih terpelajar, membutuhkan kriptografi yang nyata. Tipe sandi klasik utama ialah *sandi transposisi*, di mana mengatur aturan huruf pada pesan (contoh 'hello world' menjadi 'ehlol owrdl' pada skema pengubahan sederhana ini), dan sandi subtitusi, di mana secara sistematis mengganti huruf atau grup kata dengan kata lainnya dari grup kata (contoh 'fly at once' menjadi 'gmz bu podf' dengan mengganti setiap huruf dengan yang lain di alfabet Latin. Substitusi sandi pada awalnya disebut sandi Caesar, di mana setiap kata pada teks diganti dengan huruf dari jumlah tetap pada posisi di alfabet. Laporan *Suetonius* menyebutkan Julius Caesar mengunakannya untuk berkomunikasi dengan jendral-jendralnya. *Atbash* adalah contoh dari sandi Ibrani pada mulanya. Penggunaan awal kriptografi yang diketahui merupakan teks sandi yang diukir pada batu di Mesir (1900 sebelum Masehi), tetapi teks sandi ini digunakan hanya sebagai hiburan untuk pengamat terpelajar daripada cara untuk menyimpan informasi.

Yunani kuno menyebutkan telah mengetahui sandi (contoh sandi transposisi scytale yang diklaim telah digunakan oleh militer Sparta. *Steganografi* (menyembunyikan kehadiran pesan sehingga pesan tersebut menjadi rahasia) juga pertama kali diperkenalkan pada masa kuno. Contoh awal seperti, dari *Herodotus*, menyembunyikan pesan - sebuah tato pada kepala budaknya - di bawah rambut yang kembali tumbuh. COntoh yang lebih modern dari steganografi termasuk penggunaan tinta tak tampak, mikrodot, dan tanda air digital untuk menyembunyikan informasi.

Di India, Kamasutra dari *Vātsyāyana* yang berumur 2000 tahun berbicara dengan dua jenis sandi yang berbeda yang disebut Kautiliyam dan Mulavediya. Di Kautiliyam, substitusi kata sandi berdasarkan relasi fonetik, seperti vokal menjadi konsonan. Di Mulavediya, alfabet sandi terdiri dari kata-kata yang berpasangan dan bertimbal-balik.

Teks sandi yang dihasilkan dengan *sandi klasik* (dan beberapa sandi modern) selalu mengungkapkan informasi statistik tentang teks awal, yang sering dapat digunakan untuk memecahkannya. Setelah ditemukannya *analisis frekuensi* oleh matematikawan Arab dan *polymath* Al-Kindi (juga dikenal sebagai *Alkindus*) pada abad ke-9, hampir semua jenis sandi menjadi lebih sulit dipecahkan oleh penyerang yang memiliki informasi tersebut. Seperti sandi klasik yang masih populer hingga saat ini, meskipun lebih banyak dalam bentuk puzzle. Al-Kindi menuliskan buku kriptografi yang berjudul *Risalah fi Istikhraj al-Mu'amma* (*Risalah untuk Menerjemahkan Pesan Kriptografi*), yang menjelaskan teknik analisis frekuensi kriptanalisis yang pertama kalinya.

Pada dasarnya semua sandi tetap rentan kepada kriptanalisis menggunakan teknik analisis frekuensi hingga pengembangan dari sandi polyalphabetic, yang dijelaskan oleh *Leon Battista Alberti* sekitar tahun 1467, meskipun terdapat beberapa indikasi bahwa hal ini telah terlebih dahulu diketahui oleh Al-Kindi. Penemuan Alberti menggunakan sandi yang berbeda (seperti subtitusi alfabet) untuk beberapa bagian pesan (mungkin untuk setiap teks surat berturut-turut hingga akhir). Dia juga menemukan apa yang mungkin menjadi alat sandi ototmatis untuk pertama kalinya, roda yang menerapkan pelaksanaan dari penemuannya. Pada sandi Vigenère polyalphabetic, enkripsi menggunakan *kata kunci*, yang mengatur substitusi surat berdasarkan surat mana dari kata kunci yang digunakan. Pada pertengahan abad ke-19 Charles Babbage menunjukkan bahwa sandi Vigenère sangat rentan terhadap *pemeriksaan Kasiski*, tetapi hal ini diterbitkan pertama sekali kira-kira sepuluh tahun kemudian oleh Friedrich Kasiski.

Walaupun analisis frekuensi dapat sangat kuat dan menjadi teknik umum melawan banyak sandi, enskripsi masih sangat efektif dalam penerapannya, sebagaimana banyak kriptanalisis masih khawatir akan penerapannya. Memecahkan pesan tanpa menggunakan analisis frekuensi pada dasarnya membutuhkan pengetahuan sandi dan mungkin kunci yang digunakan, sehingga membuat spionase, penyuapan, pencurian, dll. Hal ini secara tegas mengakui kerahasiaan algoritma sandi pada abad 19 sangat tidak peka dan tidak menerapkan praktik keamanan pesan; faktanya, hal ini lebih lanjut disadari bahwa setiap skema kriptografi yang memadai (termasuk sandi) harus tetap aman walaupun musuh benar-benar paham tentang algoritma sandi itu sendiri. Keamanan kunci yang digunakan harus dapat menjamin keamanan pemegang kunci agar tetap rahasia bahkan ketika diserang sekalipun. Prinsip fundamental ini pertama kali dijelaskan pada tahun 1883 oleh *Auguste Kerckhoffs* dan secara umum dikenal dengan *Prinsip Kerckhoff*; secara alternatif dan blak-blakan, hal ini dijelaskan kembali oleh *Claude Shannon*, penemu teori informasi dan fundamental dari teori kriptografi, seperti *pribahasa Shanon* - 'musuh mengetahui sistemnya'.

Alat-alat bantu yang berbeda telah banyak digunakan untuk membantu sandi. Salah satu alat paling tua yang dikenali merupakan scytale dari Yunani, tangkai yang digunakan oleh Spartan sebagai alat bantuk untuk memindahkan sandi (lihat gambar di atas). Pada zaman pertengahan, alat bantu lainnya ditemukan seperti *jerejak sandi*, yang juga dikenal sebagai jenis steganografi. Dengan penemuan polialfabetik, sandi menjadi lebih mutakhir dengan bantuan disk sandi milik Alberti, skema *tabula recta* *Johanner Trithemius*, dan silinder multi *Thomas Jefferson* (tidak banyak diketahui, dan ditemukan kembali oleh *Bazeries* sekitar tahun 1900. Banyak alat mekanik enkripsi/dekripsi ditemukan pada awal abad ke-20, dan beberapa telah dipatenkan, di antaranya *mesin rotor* yang dikenal dengan nama mesin Enigma digunakan oleh pemerintah dan militer Jerman dari akhir tahun 1920-an dan selama Perang Dunia II. The ciphers implemented by better quality examples of these machine designs brought about a substantial increase in cryptanalytic difficulty after WWI.

### Era komputer
Kriptanalisis dari alat mekanis baru terbukti lebih sulit dan melelahkan. Di Inggris, usaha kriptanalisis di *Bletchley Park* selama Perang Dunia II memacu perkembangan alat yang lebih efisien untuk membawa tugas yang berulang-ulang. Hal ini berujung pada pengembangan *Colossus*, komputer digital pertama sekali yang bekerja penuh secara elektronik, yang membantu penyandi untuk mendekripsikan mesin *Lorenz SZ40/42* milik tentara Jerman.

Seperti juga pengembangan komputer digital dan elektronik, kriptanalisis juga berkembang menjadi lebih kompleks. Lebih jauh lagi, komputer dapat mengenkripsi setiap jenis data yang mungkin dalam bentuk biner, tidak seperti chiper klasik yang hanya mengenkripsi teks bahasa tertulis; hal ini sangat baru dan signifikan. Penggunaan komputer telah menggantikan kirptografi bahasa, baik untuk desain chiper dan kriptanalisis. Banyak chiper komputer dapat dikategorikan dengan operasi mereka pada urutan biner (kadang dalam grup atau blok), tidak seperti skema mekanikal dan klasik, yang biasa memanipulasikan karakter tradisional (seperti surat dan digit) secara langsung. Bagaimanapun, komputer juga membantu kriptanalisis, yang mengimbangi hingga batas tertentu untuk kompleksitas chiper yang lebih tinggi. Namun, chiper modern yang baik telah mengungguli kriptanalisis; kasus ini biasa menggunakan kualitas chiper yang lebih efisien (seperti membutuhkan sumber daya yang sedikit dan cepat, seperti memori atau kapabilitas CPU), sedang mendekripsikannya membutuhkan udaha dengan urutan yang lebih besar, dan lebih luas dibandingkan chiper yang lebih klasik, membuat kriptanalsis menjadi lebih tidak efisien dan tidak berguna.

Riset akademik kriptografi yang terbuka luas masih relatif baru; dimulai pada pertengahan 1970-an. Pada saat ini, personel IBM mendesain algoritma yang menjadi standar enkripsi data Federal; Whitfield Diffie dan Martin Hellman memublikasikan algoritma perjanjian mereka. dan algoritma RSA yang dipublikasikan oleh kolumnis Amerika Martin Gardner. Sejak saat itu, kriptografi telah sangat luas digunakan dalam dunia komunikasi, jaringan komputer, dan keamanan komputer secara umum. Beberapa teknik kriptografi modern dapat menyimpan kunci rahasianya jika menggunakan masalah matematika rumit, seperti faktorisasi integer atau masalah logaritma diskrit, jadi terdapat hubungan yang mendalam dengan matematika abstrak. Tidak ada bukti pasti bahwa teknik kriptografi aman. Saat terbaik, terdapat bukti bahwa beberapa teknik aman *jika* beberapa masalah komputasional sulit untuk dipecahkan, atau asumsi tertentu mengenai implementasi atau penggunakan praktikal bertemu.

Semakin mengetahui sejarah kriptografi, algoritma kriptografi dan desainer sistem harus juga bijaksana mempertimbangkan pengembangan masa depan saat bekerja dengan desain mereka. Sebagai contoh, pengembangan kontinu pada computer processing power telah meningkatkan cakupan *brute-force attack*, jadi ketika menentukan panjang kunci, diharuskan memilih kunci yang sulit. Efek potensial dari komputer kuantum telah dipertimbangkan oleh beberapa sistem desainer kriptografi; implementasi kecil dari mesin ini yang akan segera diumumkan mungkin akan membutuhkan perhatian khusus ketimbang hanya spekulatif.

Pada Dasarnya, pada awal abad ke-20, kriptografi secara singkat berkenaan dengan bahasa dan pola *lexicographic*. Sejak saat itu tekanannya telah berubah, dan kriptografi saat ini lebih luas menggunakan matematika, termasuk aspek teori informasi, kompleksitas komputasional, statistik, kombinasi, aljabar, teori bilangan, dan matematika diskrit secara umum. Kriptografi juga merupakan cabang teknik, tetapi tidak biasa sebab hal ini berkaitan dengan pertentangan yang aktif, pintar, dan jahat; teknik jenis lain (seperti teknik kimia dan sipil) hanya membutuhkan gaya natural netral. Terdapat juga riset berkembang yang memeriksa hubungan antara masalah kriptografi dan fisika kuantum.

## Kriptografi Modern
Bidang kriptografi yang lebih modern dapat dibagi dalam beberapa area studi. Beberapa yang paling penting akan dibahas di sini.

### 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, tetapi dapat berhubungan dengan cara komputasi sederhana). Hal ini menjadi satu-satunya jenis enkripsi yang ketahui publik hingga Juni 1976.