Enkripsi memiliki sejarah panjang yang berasal dari zaman ketika orang-orang Yunani dan Romawi kuno mengirim pesan rahasia dengan mengganti huruf yang hanya dapat dipecahkan dengan kunci rahasia. Bergabunglah bersama kami untuk pelajaran sejarah singkat dan pelajari lebih lanjut cara kerja enkripsi.
Dalam edisi HTG Explains hari ini, kami akan memberikan Anda riwayat singkat enkripsi, cara kerjanya, dan beberapa contoh dari berbagai jenis enkripsi-pastikan Anda juga memeriksa edisi sebelumnya, di mana kami menjelaskan mengapa begitu banyak kutu buku membenci Internet Penjelajah.
Gambar oleh xkcd, tentu saja.
Orang Yunani kuno menggunakan alat yang disebut Scytale untuk membantu mengenkripsi pesan mereka lebih cepat menggunakan cipher transposisi - mereka hanya akan membungkus strip perkamen di sekitar silinder, menulis pesan, dan kemudian ketika dibatalkan tidak masuk akal.
Metode enkripsi ini dapat dengan mudah dipecahkan, tentu saja, tetapi ini adalah salah satu contoh enkripsi pertama yang benar-benar digunakan di dunia nyata.
Julius Caesar menggunakan metode yang agak mirip selama waktunya dengan menggeser setiap huruf abjad ke kanan atau ke kiri dengan sejumlah posisi-teknik enkripsi yang dikenal sebagai sandi Caesar. Misalnya, menggunakan contoh cipher di bawah ini Anda akan menulis "GEEK" sebagai "JHHN".
Polos: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
Karena hanya penerima pesan yang dimaksud yang tahu sandi itu, akan sulit bagi orang berikutnya untuk memecahkan kode pesan, yang akan tampak sebagai omong kosong, tetapi orang yang memiliki sandi itu dapat dengan mudah memecahkan kode dan membacanya.
Cipher enkripsi sederhana lainnya seperti Polybius square menggunakan cipher polyalphabetic yang mencantumkan setiap huruf dengan posisi angka yang sesuai di bagian atas dan samping untuk mengetahui di mana posisi surat itu.
Dengan menggunakan tabel seperti di atas Anda akan menulis huruf "G" sebagai "23", atau "GEEK" sebagai "23 31 31 43".
Mesin Enigma
Selama Perang Dunia II, Jerman menggunakan mesin Enigma untuk mengirimkan transmisi terenkripsi bolak-balik, yang memakan waktu bertahun-tahun sebelum Polandia mampu memecahkan pesan, dan memberikan solusi kepada pasukan Sekutu, yang berperan penting bagi kemenangan mereka.
Mari kita hadapi: teknik enkripsi modern bisa menjadi subjek yang sangat membosankan, jadi daripada hanya menjelaskannya dengan kata-kata, kami telah menyusun strip komik yang berbicara tentang sejarah enkripsi, terinspirasi oleh panduan gambar tongkat Jeff Moser untuk AES. Catatan: jelas kami tidak dapat menyampaikan semua tentang sejarah enkripsi di strip komik.
Kembali pada masa itu, orang tidak memiliki metode enkripsi yang baik untuk mengamankan komunikasi elektronik mereka.
Lucifer adalah nama yang diberikan kepada beberapa cipher blok sipil paling awal, yang dikembangkan oleh Horst Feistel dan rekan-rekannya di IBM.
Data Encryption Standard (DES) adalah block cipher (suatu bentuk enkripsi rahasia bersama) yang dipilih oleh National Bureau of Standards sebagai Standar Pemrosesan Informasi Federal resmi (FIPS) untuk Amerika Serikat pada tahun 1976 dan yang kemudian dinikmati secara luas gunakan secara internasional.
Kekhawatiran tentang keamanan dan pengoperasian DES yang relatif lambat dalam perangkat lunak memotivasi peneliti untuk mengajukan berbagai desain cipher blok alternatif, yang mulai muncul pada akhir 1980-an dan awal 1990-an: contohnya termasuk RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 dan FEAL
Algoritma enkripsi Rijndael diadopsi oleh Pemerintah AS sebagai enkripsi standar simetrik-kunci, atau Advanced Encryption Standard (AES). AES diumumkan oleh Institut Nasional Standar dan Teknologi (NIST) sebagai US FIPS PUB 197 (FIPS 197) pada 26 November 2001 setelah proses standarisasi 5 tahun di mana lima belas desain yang bersaing disajikan dan dievaluasi sebelum Rijndael terpilih sebagai yang paling algoritma enkripsi yang sesuai.
Banyak algoritma enkripsi ada, dan semuanya cocok untuk tujuan yang berbeda-dua karakteristik utama yang mengidentifikasi dan membedakan satu algoritma enkripsi dari yang lain adalah kemampuannya untuk mengamankan data yang dilindungi terhadap serangan dan kecepatan dan efisiensinya dalam melakukannya.
Sebagai contoh yang baik dari perbedaan kecepatan antara berbagai jenis enkripsi, Anda dapat menggunakan utilitas benchmarking yang dibangun ke dalam wizard penciptaan volume TrueCrypt-seperti yang Anda lihat, AES adalah jenis enkripsi tercepat yang paling cepat.
Ada metode enkripsi yang lebih lambat dan lebih cepat, dan semuanya cocok untuk tujuan yang berbeda. Jika Anda hanya mencoba mendekripsi sepotong data kecil sesering mungkin, Anda dapat menggunakan enkripsi terkuat, atau bahkan mengenkripsinya dua kali dengan berbagai jenis enkripsi. Jika Anda membutuhkan kecepatan, Anda mungkin ingin pergi dengan AES.
Untuk lebih lanjut tentang pembandingan berbagai jenis enkripsi, lihat laporan dari Washington University of St. Louis, di mana mereka melakukan banyak pengujian pada rutinitas yang berbeda, dan menjelaskan semuanya dalam tulisan yang sangat aneh.
Semua algoritma enkripsi mewah yang telah kita bicarakan sebelumnya sebagian besar digunakan untuk dua jenis enkripsi yang berbeda:
Untuk menjelaskan konsep ini, kami akan menggunakan metafora layanan pos yang dijelaskan di Wikipedia untuk memahami bagaimana algoritma kunci simetrik bekerja.
Alice menempatkan pesan rahasianya di dalam kotak, dan mengunci kotak menggunakan gembok di mana dia memiliki kunci. Dia kemudian mengirimkan kotak itu kepada Bob melalui surat biasa.Ketika Bob menerima kotak itu, ia menggunakan salinan identik kunci Alice (yang entah bagaimana ia dapatkan sebelumnya, mungkin dengan pertemuan tatap muka) untuk membuka kotak itu, dan membaca pesannya. Bob kemudian dapat menggunakan gembok yang sama untuk mengirim balasan rahasianya.
Algoritma symmetric-key dapat dibagi menjadi stream cipher dan memblokir ciphers-stream cipher mengenkripsi bit dari pesan satu per satu, dan memblokir cipher mengambil sejumlah bit, seringkali dalam blok 64 bit pada satu waktu, dan mengenkripsinya sebagai satu unit. Ada banyak algoritme yang berbeda yang dapat Anda pilih dari-algoritma symmetric yang lebih populer dan dihormati termasuk Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, dan IDEA.
Dalam sistem kunci asimetris, Bob dan Alice memiliki gembok terpisah, bukan gembok tunggal dengan beberapa kunci dari contoh simetris. Catatan: ini, tentu saja, contoh yang sangat disederhanakan tentang cara kerjanya, yang jauh lebih rumit, tetapi Anda akan mendapatkan ide umum.
Pertama, Alice meminta Bob untuk mengirim gemboknya yang terbuka kepadanya melalui surat biasa, menyimpan kunci untuk dirinya sendiri. Ketika Alice menerimanya, dia menggunakannya untuk mengunci kotak yang berisi pesannya, dan mengirim kotak yang dikunci ke Bob. Bob kemudian dapat membuka kunci kotak dengan kuncinya dan membaca pesan dari Alice. Untuk menjawab, Bob harus juga mendapatkan gembok terbuka Alice untuk mengunci kotak sebelum mengirimnya kembali padanya.
Keuntungan penting dalam sistem kunci asimetris adalah bahwa Bob dan Alice tidak perlu mengirim salinan kunci mereka satu sama lain. Hal ini mencegah pihak ketiga (mungkin, dalam contoh, pekerja pos yang korup) untuk menyalin kunci ketika sedang dalam perjalanan, memungkinkan pihak ketiga untuk memata-matai semua pesan masa depan yang dikirim antara Alice dan Bob. Selain itu, jika Bob ceroboh dan memungkinkan orang lain untuk menyalin -nya kunci, pesan-pesan Alice kepada Bob akan dikompromikan, tetapi pesan-pesan Alice kepada orang lain akan tetap dirahasiakan, karena orang lain akan menyediakan gembok yang berbeda untuk digunakan Alice.
Enkripsi asimetris menggunakan kunci yang berbeda untuk enkripsi dan dekripsi. Penerima pesan membuat kunci pribadi dan kunci publik. Kunci publik didistribusikan di antara pengirim pesan dan mereka menggunakan kunci publik untuk mengenkripsi pesan. Penerima menggunakan kunci pribadi mereka setiap pesan terenkripsi yang telah dienkripsi menggunakan kunci publik penerima.
Ada satu manfaat utama untuk melakukan enkripsi dengan cara ini dibandingkan dengan enkripsi simetris. Kami tidak perlu mengirim rahasia apa pun (seperti kunci enkripsi atau kata sandi kami) melalui saluran yang tidak aman. Kunci publik Anda keluar ke dunia - itu bukan rahasia dan tidak perlu. Kunci pribadi Anda dapat tetap nyaman dan nyaman di komputer pribadi Anda, tempat Anda membuatnya — tidak pernah harus diemail di mana saja, atau dibaca oleh penyerang.
Selama bertahun-tahun, protokol SSL (Secure Sockets Layer) telah mengamankan transaksi web menggunakan enkripsi antara browser web Anda dan server web, melindungi Anda dari siapa pun yang mungkin mengintip di jaringan di tengah.
SSL sendiri secara konseptual cukup sederhana. Ini dimulai ketika browser meminta halaman aman (biasanya https: //)
Server web mengirim kunci publik dengan sertifikatnya.
Browser memeriksa bahwa sertifikat dikeluarkan oleh pihak tepercaya (biasanya CA tepercaya tepercaya), bahwa sertifikat masih berlaku dan bahwa sertifikat terkait dengan situs yang dihubungi.
Browser kemudian menggunakan kunci publik, untuk mengenkripsi kunci enkripsi simetrik acak dan mengirimkannya ke server dengan URL terenkripsi yang diperlukan serta data http terenkripsi lainnya.
Server web mendekripsi kunci enkripsi simetrik menggunakan kunci privatnya dan menggunakan kunci simetrik browser untuk mendekripsi URL dan datanya.
Server web mengirim kembali dokumen html yang diminta dan data http dienkripsi dengan kunci simetrik browser. Peramban mendekripsi data http dan dokumen html menggunakan kunci simetrik dan menampilkan informasi.
Dan sekarang Anda dapat dengan aman membeli barang eBay yang sebenarnya tidak Anda butuhkan.
Jika Anda berhasil sejauh ini, kami berada di ujung perjalanan panjang kami untuk memahami enkripsi dan sedikit cara kerjanya mulai dari awal enkripsi dengan orang Yunani dan Romawi, munculnya Lucifer, dan akhirnya bagaimana SSL menggunakan enkripsi asimetris dan simetris untuk membantu Anda membeli kelinci merah muda berbulu di eBay.
Kami penggemar enkripsi di sini di How-To Geek, dan kami telah membahas banyak cara berbeda untuk melakukan hal-hal seperti:
Tentu saja enkripsi terlalu rumit untuk benar-benar menjelaskan semuanya. Apakah kita melewatkan sesuatu yang penting? Jangan ragu untuk memberikan beberapa pengetahuan pada rekan pembaca Anda di komentar.