Apa itu Enkripsi Asimetris?

Ada banyak bagian kriptografi yang berbeda. Namun, jika Anda ingin mengenkripsi beberapa data, ada dua jenis algoritme yang dapat Anda gunakan: algoritme enkripsi simetris dan algoritme enkripsi asimetris. Konsepnya sama: mereka dapat mengenkripsi data tetapi bekerja dengan prinsip yang berbeda dan memiliki kasus penggunaan lain.

Perbedaan tituler, bagaimanapun, menjelaskan kunci enkripsi. Algoritme enkripsi simetris menggunakan satu kunci bersama untuk mengenkripsi dan mendekripsi data. Algoritme enkripsi asimetris menggunakan dua kunci tertaut, satu untuk mendekripsi dan satu lagi untuk mendekripsi.

Terminologi

Algoritma enkripsi asimetris mengandalkan penggunaan dua kunci yang berbeda. Satu kunci dapat digunakan untuk mengenkripsi data dan kunci lainnya untuk mendekripsi. Dua kunci enkripsi bukan sembarang dua nilai lama. Mereka secara intrinsik terkait dan perlu dihasilkan oleh algoritma pembangkitan kunci.

Nama alternatif untuk enkripsi asimetris adalah enkripsi kunci publik. Ini karena dimaksudkan bahwa salah satu dari dua kunci tersebut bersifat publik. Konsep tradisionalnya adalah bahwa kunci enkripsi dibagikan secara publik, dan kunci dekripsi dijaga kerahasiaannya. Untuk alasan ini, kunci enkripsi disebut sebagai kunci publik, dan kunci dekripsi adalah kunci privat.

Konfigurasi ini memungkinkan siapa saja untuk mengenkripsi pesan sehingga hanya pemilik kunci privat yang dapat mendekripsinya. Ini berguna karena siapa pun dapat berkomunikasi dengan aman dengan penerima yang dituju dengan satu kunci enkripsi yang dipublikasikan. Untuk berkomunikasi kembali dengan aman, penerima harus menggunakan kunci publik dari pengirim asli.

Secara teoritis, tidak ada alasan Anda tidak dapat menukar kunci dan membagikan kunci dekripsi sambil menjaga kerahasiaan kunci enkripsi. Ini dapat digunakan untuk memverifikasi keaslian sumber, jika tidak memberikan keamanan yang berarti. Namun, ini tidak dilakukan dalam praktiknya, karena ada mekanisme lain untuk mencapai hasil yang sama.

Properti Algoritma Enkripsi Simetris

Algoritma enkripsi asimetris membutuhkan penggunaan kunci yang jauh lebih besar daripada algoritma enkripsi simetris saat memberikan tingkat keamanan yang sama. Umumnya, algoritma enkripsi simetris dengan kunci enkripsi 128-bit dianggap aman, meskipun kunci 256-bit lebih disukai. Dalam algoritma enkripsi asimetris, kunci 2048-bit dianggap aman.

Contoh kunci 2048-bit berlaku untuk RSA, yang telah lama menjadi standar untuk enkripsi asimetris. Kriptografi kurva eliptik, bagaimanapun, adalah konsep yang lebih baru yang juga asimetris tetapi menggunakan kunci yang jauh lebih kecil. Kunci RSA 2048-bit menawarkan keamanan setara dengan kunci kurva elips 224-bit.

Tip: Nilai di atas dianggap aman untuk penggunaan komersial, tetapi NSA memerlukan kunci yang lebih kuat untuk enkripsi rahasia. Diperlukan kunci RSA minimal 3072-bit, sedangkan kunci kurva elips 384-bit diperlukan. Perlu dicatat bahwa kunci RSA 3072-bit lebih lemah daripada kunci kurva eliptik 384-bit.

Algoritma enkripsi asimetris cenderung relatif lambat dibandingkan dengan algoritma enkripsi simetris. Komunikasi yang aman dapat dilakukan melalui saluran yang tidak aman jika kedua belah pihak menghasilkan pasangan kunci asimetris dan kemudian menukar kunci publik. Dengan cara ini, kedua belah pihak dapat mengirim pesan yang hanya dapat didekripsi oleh pihak lain.

Dalam praktiknya, setidaknya salah satu pihak harus memverifikasi integritas kunci publiknya. Ini dilakukan melalui PKI atau Infrastruktur Kunci Publik. Ini berbentuk Otoritas Sertifikat yang menandatangani kunci orang lain untuk menunjukkan bahwa identitas mereka telah diverifikasi. Dalam sistem ini, semua otoritas sertifikat harus dipercaya; tanpa itu, sistem akan berantakan.

Gunakan dalam Praktek

Algoritme enkripsi asimetris biasanya tidak digunakan untuk enkripsi massal, terutama ketika waktu atau kinerja menjadi masalah. Mereka dapat digunakan untuk mengenkripsi pesan satu kali seperti isi email. Namun, kemampuannya untuk mengamankan saluran yang tidak aman menjadikannya pilihan yang sangat baik untuk protokol pertukaran kunci yang mentransmisikan kunci simetris yang kemudian dapat digunakan untuk enkripsi massal yang lebih efisien.

Ini adalah kasus penggunaan di TLS, yang menyediakan keamanan di HTTPS. Seorang pengguna terhubung ke server web; mereka kemudian bertukar kunci publik untuk mengenkripsi pesan kecil satu sama lain. Server kemudian menghasilkan kunci simetris, mengenkripsinya dengan kunci publik pengguna, dan mengirimkannya kepada mereka. Pengguna mendekripsi kunci dan kemudian dapat menggunakan kunci simetris untuk mengenkripsi komunikasi di masa mendatang ke server secara efisien.

Otoritas sertifikat dalam proses di atas memverifikasi kunci publik server. Ini memungkinkan pengguna untuk yakin bahwa mereka sedang berkomunikasi dengan siapa mereka mencoba berkomunikasi. Dalam kebanyakan kasus, pengguna membuat kunci sekali pakai, karena server tidak perlu memverifikasi pengguna mana yang berkomunikasi dengannya.

Kesimpulan

Algoritma enkripsi asimetris menggunakan dua kunci berbeda. Satu kunci digunakan untuk enkripsi, dan yang lainnya untuk dekripsi. Kunci terhubung secara matematis dan harus dihasilkan oleh algoritma pembuatan kunci; nilai acak tidak berfungsi. Biasanya, kunci enkripsi dibagikan secara publik, memungkinkan siapa saja mengenkripsi pesan yang ditujukan untuk pemilik pasangan kunci.

Selama kunci dekripsi tetap bersifat pribadi, hanya pemilik kunci yang dapat mendekripsi pesan yang dienkripsi dengan kunci publik. Dengan demikian, enkripsi asimetris sering juga disebut sebagai kriptografi kunci publik.