Skip to content

Instantly share code, notes, and snippets.

@srifqi
Created March 8, 2018 14:57
Show Gist options
  • Save srifqi/153707c56ef81bce8792677c30c9f25e to your computer and use it in GitHub Desktop.
Save srifqi/153707c56ef81bce8792677c30c9f25e to your computer and use it in GitHub Desktop.
Penjelasan ringkas dan gambaran singkat tentang AES dan RSA pada SSL HTTPS.

AES dan RSA pada SSL HTTPS

Pengenalan

Pernah, kan, melihat ada tulisan "Aman" atau ikon gembok hijau? Nah, itu tandanya ada sambungan aman yang dibuat untuk mengamankan aliran data dari dan ke peladen.

Bagaimana, sih, ceritanya?

Meski tak terasa bedanya, sebenarnya komputer/ponsel sedang melakukan "pekerjaan" tambahan. Berikut gambarannya:

Tahap 1: Persiapan Bahan

Gambaran dunia nyata

Siapkan gembok putar sendiri dan mengambil gembok tekan (gembok yang menguncinya dengan ditekan) dari tujuan.

Dalam komputer

Siapkan kunci sandi (untuk AES) dan ambil sertifikat RSA dari peladen.

Tahap 2: Memasukkan ke Koper I

Gambaran dunia nyata

Masukkan pesan, tulisan atau barang, ke koper I dan menguncinya dengan gembok putar. Catat kunci gemboknya pada kertas.

Dalam komputer

Sandi pesan dengan AES dengan kuncinya tersebut.

Tahap 3: Memasukkan ke Koper II

Gambaran dunia nyata

Masukkan kertas yang berisi kunci gembok putar ke koper II dan menguncinya dengan gembok tekan.

Dalam komputer

Sandi kunci AES tersebut dengan RSA dari peladen.

Tahap 4: Kirim!

Gambaran dunia nyata

Kirim kedua koper (koper I dan koper II) ke tujuan.

Dalam komputer

Kirim pesan dan kunci AES yang masing-masing telah disandikan ke peladen.

Mengapa dua koper?

Anggap saja gembok putar lebih mudah dilakukan karena tinggal mengacak putaran pada gemboknya dan anggap gembok tekan lebih sulit karena harus menekan kuat agar mengunci.

Nah, begitu pula pada komputer, penyandian dengan AES jauh lebih cepat daripada RSA. Sehingga pada awalnya, kunci AES dikirimkan ke peladen dengan penyandian RSA. Lalu data selanjutnya menggunakan penyandian AES dengan kunci yang telah disepakati antara klien dan peladen.

Penyandian RSA dibutuhkan karena merupakan penyandian satu arah: mudah untuk menyandikan namun sulit untuk mencoba membuka sandinya kecuali jika punya kuncinya.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment