Dalam dunia ekonomi modern, Anda pasti tahu kode OTP, link verifikasi, password atau bahkan key dalam transaksi crypto. Kode OTP, link verifikasi dan lain-lain tersebut merupakan salah satu bentuk penerapan dari cryptography atau kriptografi.
Kriptografi semakin penting digunakan dalam dunia modern seiring dengan meningkatnya jumlah transaksi digital. Namun sebenarnya, ilmu ini bisa ditelisik hingga zaman Yunani dan Mesir kuno. Lantas, apa itu cryptography? Dan bagaimana ia bisa diterapkan di dunia modern?
Apa itu Cryptography?
Cryptography berasal dari dua kata Yunani kuno yaitu kryptós dan graphein. Kryptós berarti tersembunyi atau rahasia sementara graphein berarti tulisan atau untuk menulis.
Secara istilah, cryptography berarti metode untuk mengamankan komunikasi menggunakan serangkaian kode sehingga hanya orang yang dituju yang paham.
Dulu sebelum adanya komputer, kode untuk mengamankan komunikasi ini cukup sederhana mulai dari mengacak huruf seperti “Tom Marvolo Riddle menjadi I am Lord Voldemort” sampai membuat kode yang terdiri dari angka-angka khusus yang mewakili huruf tertentu misalnya 2 1 3 1 2 21 11 21 untuk “Baca Buku”. Namun seiring adanya komputer, kode yang dibuat untuk mengamankan komunikasi ini menjadi jauh lebih rumit.
Dulu cryptography juga hanya dipakai untuk menyampaikan informasi mata-mata kepada pemimpin militer atau pejabat penting. Akan tetapi kini ilmu ini banyak dipakai untuk transaksi digital, komunikasi biasa, password, kode otentikasi dan lain sebagainya.
Apa itu Encryption?
Encryption (enkripsi) adalah proses mengubah tulisan yang bisa dibaca (readable text atau plaintext) menjadi tulisan yang tidak bisa dibaca (ciphertext). Kalaupun bisa dibaca, cipher tersebut bisa mengandung makna lain.
Saat ini, untuk mengubah plaintext ke ciphertext atau sebaliknya dibutuhkan cryptographic key. Cryptographic key adalah serangkaian karakter yang dipakai dalam algoritma tertentu untuk mengubah plaintext ke ciphertext atau sebaliknya. Dengan demikian tidak akan ada orang yang bisa membaca teks komunikasi Anda kalau dia tidak mengetahui cryptographic key tersebut.
Mari kita ambil contoh enkripsi sederhana seperti “Tom Marvolo Riddle menjadi I am Lord Voldemort” di atas. Dalam hal ini, I am Lord Voldemort adalah plaintext dan Tom Marvolo Riddle adalah ciphertext. Untuk mengubah susunan huruf dari “Tom Marvolo Riddle menjadi I am Lord Voldemort” dibutuhkan cryptographic key.
Prinsip-Prinsip Cryptography
Menurut geeksforgeeks.org, setidaknya ada 4 prinsip yang harus dipenuhi oleh sebuah cryptography dalam dunia modern. 4 prinsip tersebut adalah:
- Confidentiality yaitu aturan-aturan tertentu yang sudah dibuat dan disetujui dalam kontrak yang menjamin kerahasiaan dari pesan yang disampaikan.
- Data integrity yaitu prinsip yang memastikan bahwa data yang sampai ke tangan penerima adalah data yang sama dengan yang dikirimkan oleh pengirim.
- Authentication yaitu prinsip yang mengharuskan bahwa data diterima benar-benar oleh orang yang berhak menerimanya.
- Non-repudiation adalah prinsip yang memastikan bahwa pihak-pihak yang berkaitan dengan kontrak komunikasi tersebut tidak bisa menyangkal keotentikan dokumen atau pesan yang dikirim.
Bagaimana Proses Cryptography
Sederhananya ada dua proses yang harus dilewati dalam rangkaian cryptography. 2 proses tersebut adalah proses enkripsi (mengubah plaintext menjadi ciphertext) dan deskripsi (mengubah ciphertext menjadi plaintext).
Ketika seseorang mengirim pesan ke orang lain menggunakan aplikasi perpesanan, maka dia mengirim plaintext menggunakan kunci kriptografi tertentu. Oleh pihak aplikasi, plaintext tersebut dienkripsi menjadi ciphertext sehingga tidak ada orang lain termasuk pihak aplikasi yang bisa membaca pesan tersebut. Saat menuju ke penerima, ciphertext tersebut lantas diubah (melalui proses deskripsi) sehingga bisa dibaca dan dimengerti oleh si penerima.
Contohnya, Harry mengirim pesan ke Hermione melalui aplikasi WhatsApp. Pesan tersebut berisi I am Lord Voldemort. Setelah proses enkripsi, I am Lord Voldemort berubah menjadi Tom Marvolo Riddle dan setelah proses deskripsi kembali lagi menjadi I am Lord Voldemort. Pihak WhatsApp tidak akan bisa mengetahui isi pesan tersebut karena tidak mengetahui kunci kriptografi yang digunakan oleh Harry.
Kegunaan Cryptography
Secara garis besar, cryptography bermanfaat untuk mengamankan komunikasi baik komunikasi digital maupun non digital. Oleh karena itu, sistem keamanan ini banyak diaplikasikan di berbagai sektor seperti:
1. Sektor militer
Sudah bukan rahasia lagi kalau sektor militer banyak menggunakan kriptografi untuk mengkomunikasikan hal-hal penting yang tidak boleh bocor khususnya ke pihak musuh. Pesan-pesan ini disampaikan secara hati-hati baik melalui transmisi radio, mata-mata atau alat khusus lainnya.
2. Sektor keuangan
Seiring dengan perkembangan komputer dan internet, kini kriptografi tidak hanya dipakai di dunia militer saja, tetapi juga di dunia keuangan sebab data-data keuangan juga sama pentingnya dengan data militer.
Contoh penerapan kriptografi dalam dunia keuangan ini seperti, pesan OTP dan password ketika Anda ingin mengirim uang secara online, nomor pin dan nomor kartu ATM dan lain sebagainya. Oleh sebab itu, pastikan setiap keamanan transaksi keuangan Anda dengan tidak memberikan kode OTP, password, nomor ATM dan nomor pin kartu debit Anda ke orang lain ya.
3. Sektor e-commerce
Kriptografi juga dipakai dalam dunia e-commerce. Beberapa aplikasi marketplace akan meminta Anda untuk melakukan verifikasi ulang ketika selesai belanja sehingga transaksi yang Anda lakukan lebih aman sebab dari aplikasi mobile banking sudah pakai enkripsi, di aplikasi e-commerce juga pakai lagi.
4. Cryptocurrency
Salah satu penerapan kriptografi yang kini sedang populer adalah cryptocurrency atau mata uang crypto. Mata uang crypto beserta turunannya seperti NFT dan Metaverse dibangun di atas sistem blockchain yang diklaim memiliki sistem cryptografi yang bagus sehingga keamanan transaksi pengguna terjamin dari hulu ke hilir.
Komponen Cryptography
Cryptography terdiri dari 6 komponen yaitu:
1. Plaintext
Plaintext adalah pesan yang dikirim oleh seseorang dan pesan ini harus dienkripsi supaya tidak bisa disadap oleh orang-orang yang tidak berkepentingan baik. Plaintext bisa berupa tulisan biasa, gambar, kode, suara atau media lainnya.
2. Algoritma enkripsi
Algoritma enkripsi adalah serangkaian algoritma matematika yang didesain untuk melakukan proses enkripsi pada sebuah plaintext sehingga text tersebut bisa berubah menjadi ciphertext yang tidak bisa dibaca atau dideteksi oleh siapapun.
3. Ciphertext
Ciphertext adalah hasil plaintext yang telah dienkripsi. Berbeda dengan plaintext, ciphertext harus didesain seacak mungkin sehingga tidak sembarang orang bisa mengubahnya menjadi plaintext lagi.
4. Algoritma deskripsi
Algoritma deskripsi adalah serangkaian algoritma matematika yang didesain khusus untuk mengubah ciphertext menjadi plaintext lagi sehingga konten yang awalnya tidak bisa dibaca atau dideteksi menjadi bisa dibaca lagi.
5. Cryptography key
Kunci kriptografi atau cryptography key adalah nilai variabel tertentu yang ditetapkan oleh algoritma untuk diterapkan saat plaintext diubah menjadi ciphertext (enkripsi) atau sebaliknya.
Jenis-Jenis Cryptography
Sebagai sistem pengamanan data, cryptography terbagi menjadi 3 jenis yaitu:
1. Symmetric Cryptography
Jika pengirim dan penerima pesan memiliki key yang sama untuk satu pesan, maka sistem cryptography yang mereka gunakan adalah symmetric cryptography. Jenis cryptography ini adalah satu-satunya jenis kriptografi yang diketahui sampai tahun 1976. Saat ini sistem ini masih digunakan dalam standar cryptography di Amerika Serikat.
2. Public-key Cryptography
Setelah tahun 1976 muncullah jenis cryptography yang baru yaitu public-key cryptography. Berbeda dengan jenis nomor 1 di atas, pengirim dan penerima pesan dalam jenis kriptografi satu ini tidak menggunakan cryptography key yang sama.
Dalam jenis ini, ada dua key yang digunakan oleh setiap pengirim dan penerima yaitu public key dan private key. Public key digunakan untuk proses enkripsi sehingga bisa dibagi satu sama lain sementara, private key hanya dipakai untuk proses deskripsi. OLeh sebab itu, jenis yang kedua ini seringkali juga disebut dengan asymmetric cryptography.
3. Hash function
Jenis yang terakhir adalah cryptography hash function. Jenis kriptografi satu ini didesain untuk komunikasi satu arah sehingga tidak menggunakan key apapun. Cara kerja cryptography jenis ini adalah dengan menerima konten dalam jumlah berapapun untuk dienkripsi.
Hasil enkripsi ini kemudian dideskripsikan menjadi konten yang lebih sedikit atau padat dibandingkan jumlah inputnya. Hash function umumnya digunakan dalam proses pengiriman tanda tangan digital.