Leonard Adleman membantu menciptakan RSA, sistem kunci publik yang memungkinkan HTTPS, perbankan online, dan pembaruan bertanda tangan. Pelajari bagaimana cara kerjanya dan mengapa hal itu penting.

Ketika orang mengatakan mereka “percaya” pada sebuah situs atau layanan online, biasanya mereka bermaksud tiga hal praktis:
RSA menjadi terkenal karena membantu membuat janji‑janji itu mungkin pada skala internet.
Anda merasakan dampak RSA meski mungkin belum pernah mendengar namanya. RSA berkaitan erat dengan bagaimana:
Benang merahnya adalah kepercayaan tanpa perlu mengenal (atau mengatur rahasia) setiap server dan vendor perangkat lunak yang Anda gunakan.
Artikel ini menyederhanakan penjelasan: tanpa matematika berat, dan tanpa latar belakang ilmu komputer. Kita akan fokus pada pandangan “mengapa ini bekerja” yang sehari‑hari.
RSA mempopulerkan pendekatan kuat: alih‑alih satu rahasia bersama, Anda memakai kunci publik yang bisa dibagikan secara terbuka dan kunci privat yang Anda simpan. Pemisahan itu memungkinkan melindungi kerahasiaan dan membuktikan identitas dalam situasi di mana orang dan sistem belum pernah bertemu sebelumnya.
Leonard Adleman adalah huruf “A” dalam RSA, bersama Ron Rivest dan Adi Shamir. Sementara Rivest dan Shamir sering dikreditkan untuk konstruksi inti, kontribusi Adleman juga penting: ia membantu membentuk sistem menjadi sesuatu yang bukan sekadar cerdik, tetapi meyakinkan—algoritme yang bisa dianalisis, diuji, dan dipercaya.
Bagian besar dari peran Adleman adalah menekan gagasan itu agar tahan uji. Dalam kriptografi, sebuah skema tidak berharga hanya karena terdengar masuk akal; ia berharga karena bertahan terhadap serangan dan pengawasan yang teliti. Adleman bekerja pada validasi, membantu menyempurnakan asumsi, dan berkontribusi pada bingkai awal mengapa RSA seharusnya sulit ditembus.
Sama pentingnya, ia membantu menerjemahkan “ini mungkin bekerja” menjadi “ini adalah kriptosistem yang bisa dinilai oleh komunitas riset lebih luas.” Kejelasan itu—membuat desain bisa dipahami cukup untuk diperiksa orang lain—sangat krusial untuk adopsi.
Sebelum RSA, komunikasi aman biasanya bergantung pada kedua pihak yang sudah saling berbagi kunci rahasia. Pendekatan itu berhasil dalam kelompok tertutup, tetapi tidak skala ketika orang asing perlu berkomunikasi dengan aman (mis. pembeli dan situs web yang bertemu untuk pertama kali).
RSA mengubah cerita itu dengan mempopulerkan kriptosistem kunci publik yang praktis: Anda dapat mempublikasikan satu kunci untuk dipakai orang lain, sementara menjaga kunci privat terpisah dan rahasia.
Pengaruh RSA lebih besar dari satu algoritme. RSA membuat dua kebutuhan internet terasa layak pada skala besar:
Ide‑ide itu menjadi dasar mengapa HTTPS, perbankan online, dan pembaruan perangkat lunak bertanda tangan menjadi harapan biasa, bukan pengecualian.
Sebelum RSA, komunikasi aman kebanyakan berarti enkripsi rahasia bersama: kedua pihak harus memiliki rahasia yang sama terlebih dulu. Cara itu bekerja untuk grup kecil, tetapi runtuh cepat ketika mencoba menjalankan layanan publik yang digunakan jutaan orang.
Jika setiap pelanggan membutuhkan kunci rahasia unik untuk berbicara dengan bank, maka bank harus menghasilkan, mengirim, menyimpan, memutar, dan melindungi jumlah rahasia yang besar. Bagian tersulit bukan matematikanya—melainkan koordinasinya.
Bagaimana Anda mengirimkan kunci rahasia itu dengan aman kepada setiap orang sejak awal? Mengirim melalui pos lambat dan berisiko. Memberitahukannya lewat telepon bisa disadap atau menjadi target rekayasa sosial. Mengirimnya lewat internet merusak tujuan, karena saluran itulah yang ingin Anda amankan.
Bayangkan dua orang asing—mis. Anda dan sebuah toko online—yang belum pernah bertemu. Anda ingin mengirim pembayaran dengan aman. Dengan enkripsi rahasia bersama, Anda memerlukan kunci privat yang kalian berdua sudah tahu. Tetapi Anda tidak memilikinya.
Terobosan RSA adalah memungkinkan komunikasi aman tanpa pra‑berbagi rahasia. Sebagai gantinya, Anda dapat mempublikasikan satu kunci (kunci publik) yang siapa saja bisa gunakan untuk melindungi pesan kepada Anda, sementara menyimpan kunci lain (kunci privat) yang hanya Anda pegang.
Bahkan jika Anda bisa mengenkripsi pesan, Anda tetap perlu tahu kepada siapa Anda mengenkripsi. Jika tidak, penyerang bisa menyamar sebagai bank atau toko, menipu Anda agar memakai kunci mereka, dan diam‑diam membaca atau mengubah semuanya.
Itulah sebabnya komunikasi aman di internet membutuhkan dua properti:
RSA membantu mewujudkan kedua hal itu, meletakkan dasar bagaimana kepercayaan online bekerja pada skala besar.
Kriptografi kunci publik adalah ide sederhana dengan konsekuensi besar: Anda bisa mengunci sesuatu untuk seseorang tanpa harus terlebih dulu menyepakati rahasia bersama. Itu pergeseran inti yang dibantu RSA untuk menjadi praktis.
Anggap kunci publik sebagai gembok yang senang Anda bagikan ke siapa saja. Orang dapat menggunakannya untuk melindungi pesan bagi Anda—atau (dalam sistem tanda tangan) untuk memeriksa bahwa sesuatu benar‑benar berasal dari Anda.
Sebuah kunci privat adalah satu hal yang harus Anda simpan sendiri. Kunci itu membuka apa yang dikunci dengan kunci publik Anda, dan juga memungkinkan Anda membuat tanda tangan yang hanya Anda bisa buat.
Bersama, kunci publik dan privat membentuk pasangan kunci. Mereka terkait secara matematis, tetapi tidak bisa saling dipertukarkan. Membagikan kunci publik aman karena mengetahuinya tidak memberikan cara praktis untuk menurunkan kunci privat.
Enkripsi soal privasi. Jika seseorang mengenkripsi pesan dengan kunci publik Anda, hanya kunci privat Anda yang dapat mendekripsinya.
Tanda tangan digital soal kepercayaan dan integritas. Jika Anda menandatangani sesuatu dengan kunci privat Anda, siapa pun yang punya kunci publik Anda dapat memverifikasi dua hal:
Keamanan bukan sihir—ia bergantung pada masalah matematika yang sulit yang mudah dilakukan dari satu arah dan sangat sulit dibalikkan dengan komputer saat ini. Sifat “satu arah” itulah yang membuat membagikan kunci publik aman sementara kunci privat tetap kuat.
RSA dibangun di sekitar asimetri sederhana: mudah melakukan matematika "maju" untuk mengunci sesuatu, tetapi sangat sulit membalikkan matematika itu untuk membuka—kecuali Anda punya rahasia khusus.
Anggap RSA sebagai semacam gembok matematika. Siapa saja dapat menggunakan kunci publik untuk mengunci pesan. Namun hanya orang yang memegang kunci privat yang bisa membukanya.
Yang membuat ini mungkin adalah hubungan yang dipilih dengan cermat antara kedua kunci. Mereka dihasilkan bersama, dan meskipun terkait, Anda tidak bisa secara realistis menurunkan kunci privat hanya dengan melihat kunci publik.
Secara garis besar, RSA bergantung pada fakta bahwa mengalikan bilangan prima besar itu mudah, tetapi bekerja mundur—menemukan faktor‑faktor prima pembentuknya—sangat sulit ketika angkanya sangat besar.
Untuk bilangan kecil, faktorisasi cepat. Untuk ukuran kunci RSA nyata (ribuan bit), metode terbaik yang dikenal masih memerlukan waktu dan daya komputasi yang tidak praktis. Sifat “sulit dibalik” itulah yang mencegah penyerang membangun kembali kunci privat.
RSA biasanya tidak dipakai untuk mengenkripsi berkas besar atau pesan panjang langsung. Sebagai gantinya, RSA umum dipakai untuk melindungi rahasia kecil—yang paling menonjol adalah sebuah kunci sesi acak. Kunci sesi itu kemudian mengenkripsi data nyata menggunakan enkripsi simetris yang lebih cepat, cocok untuk lalu lintas besar.
RSA terkenal karena dapat melakukan dua tugas terkait—tetapi sangat berbeda—yaitu enkripsi dan tanda tangan digital. Mencampurnya sering menimbulkan kebingungan.
Enkripsi terutama menargetkan kerahasiaan. Tanda tangan digital menargetkan integritas + keaslian.
Dengan enkripsi RSA, seseorang menggunakan kunci publik Anda untuk mengunci sesuatu sehingga hanya kunci privat Anda yang dapat membuka. Dalam praktik, RSA sering melindungi rahasia kecil, seperti kunci sesi acak. Kunci sesi itu kemudian mengenkripsi data massal secara efisien.
Dengan tanda tangan RSA, arah terbalik: pengirim menggunakan kunci privat mereka untuk membuat tanda tangan, dan siapa pun dengan kunci publik dapat memverifikasi:
Tanda tangan digital muncul di momen‑momen "persetujuan" sehari‑hari:
Enkripsi menjaga rahasia; tanda tangan menjaga kepercayaan.
Gembok di browser adalah jalan pintas untuk sebuah ide: koneksi Anda ke situs ini terenkripsi dan (biasanya) terotentikasi. Ini berarti orang lain di jaringan—mis. seseorang di Wi‑Fi publik—tidak dapat membaca atau mengubah secara diam‑diam apa yang browser dan situs kirimkan satu sama lain.
Ia tidak berarti situs itu “aman” dalam segala hal. Gembok tidak bisa memberitahu Anda apakah sebuah toko jujur, apakah unduhan adalah malware, atau apakah Anda mengetik nama domain yang benar. Gembok juga tidak menjamin situs akan melindungi data Anda setelah sampai di server mereka.
Saat Anda mengunjungi situs HTTPS, browser dan server menjalankan percakapan pengaturan yang disebut TLS handshake:
Secara historis, RSA sering dipakai untuk bertukar kunci sesi (browser mengenkripsi rahasia dengan kunci publik server). Dalam banyak konfigurasi TLS modern, RSA lebih sering dipakai untuk otentikasi melalui tanda tangan (membuktikan server mengendalikan kunci privat), sementara pertukaran kunci dilakukan dengan metode lain.
RSA hebat untuk menetapkan kepercayaan dan melindungi potongan data kecil selama pengaturan, tetapi ia lebih lambat dibanding enkripsi simetris modern. Setelah handshake, HTTPS beralih ke algoritme simetris yang cepat untuk pemuatan halaman, login, dan transaksi perbankan.
Perbankan online memiliki janji sederhana: Anda harus bisa login, melihat saldo, dan memindahkan uang tanpa orang lain mengetahui kredensial Anda—atau diam‑diam mengubah apa yang Anda kirimkan.
Sesi perbankan harus melindungi tiga hal sekaligus:
Tanpa HTTPS, siapa pun di Wi‑Fi yang sama, router yang dikompromikan, atau operator jaringan jahat berpotensi menguping atau mengubah lalu lintas.
HTTPS (melalui TLS) mengamankan koneksi sehingga data antara browser dan bank Anda terenkripsi dan diperiksa integritasnya. Secara praktis, itu berarti:
Peran historis RSA di sini krusial karena membantu menyelesaikan masalah “kontak pertama”: menetapkan sesi aman lewat jaringan yang tidak aman.
Enkripsi saja tidak cukup jika Anda mengenkripsi ke pihak yang salah. Perbankan online hanya bekerja jika browser Anda bisa memastikan sedang berbicara dengan bank asli, bukan situs peniru atau man‑in‑the‑middle.
Bank masih menambahkan MFA, pemeriksaan perangkat, dan pemantauan penipuan. Ini mengurangi kerusakan saat kredensial dicuri—tetapi tidak menggantikan HTTPS. Mereka bekerja paling baik sebagai cadangan di atas koneksi yang sudah privat dan tahan boleh ubah.
Pembaruan perangkat lunak adalah masalah kepercayaan sama besarnya dengan masalah teknis. Bahkan jika sebuah aplikasi ditulis dengan hati‑hati, penyerang bisa menargetkan langkah pengiriman—mengganti installer sah dengan yang dimodifikasi, atau memasukkan pembaruan yang diutak‑atik ke jalur antara penerbit dan pengguna. Tanpa cara andal mengotentikasi apa yang Anda unduh, “pembaruan tersedia” bisa menjadi titik masuk yang mudah.
Jika pembaruan hanya dilindungi oleh tautan unduhan, penyerang yang mengompromikan mirror, membajak koneksi jaringan, atau menipu pengguna ke halaman tiruan bisa menyajikan berkas berbeda dengan nama yang sama. Pengguna bisa memasangnya seperti biasa, dan kerusakan bisa "diam": malware dibundel dengan pembaruan, pintu belakang ditambahkan ke program, atau pengaturan keamanan dilonggarkan.
Penandatanganan kode menggunakan kriptografi kunci publik (termasuk RSA di banyak sistem) untuk melekatkan tanda tangan digital pada installer atau paket pembaruan.
Penerbit menandatangani perangkat lunak dengan kunci privat. Perangkat Anda (atau OS) memverifikasi tanda tangan itu menggunakan kunci publik penerbit—sering disampaikan melalui rantai sertifikat. Jika satu byte pun diubah, verifikasi gagal. Ini mengalihkan kepercayaan dari "dari mana saya mengunduhnya?" menjadi "bisakah saya memverifikasi siapa pembuatnya dan bahwa berkas utuh?"
Dalam pipeline pengiriman aplikasi modern, ide‑ide yang sama meluas ke hal seperti panggilan API, artefak build, dan rollout deployment. Misalnya, platform seperti Koder.ai (platform vibe‑coding untuk mengirim web, backend, dan aplikasi mobile dari antarmuka chat) masih bergantung pada fondasi yang sama: HTTPS/TLS untuk data dalam transit, penanganan sertifikat yang cermat untuk domain kustom, dan alur kerja rollback/ snapshot praktis untuk mengurangi risiko saat mendorong perubahan.
Pembaruan bertanda tangan mengurangi peluang pengubahan yang tak terlihat. Pengguna mendapat peringatan lebih jelas saat ada yang tidak beres, dan sistem pembaruan otomatis bisa menolak berkas yang diubah sebelum dijalankan. Ini bukan jaminan aplikasi bebas bug, tetapi pertahanan kuat terhadap penyamaran dan campur tangan rantai pasokan.
Untuk penjelasan lebih dalam tentang bagaimana tanda tangan, sertifikat, dan verifikasi saling berkaitan, lihat /blog/code-signing-basics.
Jika RSA memberi Anda kunci publik, pertanyaan alami muncul: siapa pemilik kunci publik itu?
Sebuah sertifikat adalah jawaban internet. Ia adalah berkas kecil yang ditandatangani yang menghubungkan kunci publik ke sebuah identitas—seperti nama situs (example.com), organisasi, atau penerbit perangkat lunak. Anggap itu sebagai kartu identitas untuk kunci: mengatakan “kunci ini milik nama ini,” dan memuat detail seperti pemilik sertifikat, kunci publik itu sendiri, dan tanggal berlaku.
Sertifikat penting karena ditandatangani oleh pihak lain. Pihak itu biasanya adalah Certificate Authority (CA).
CA adalah pihak ketiga yang memeriksa bukti tertentu (yang bisa bervariasi dari kontrol domain dasar hingga verifikasi bisnis yang lebih mendalam) lalu menandatangani sertifikat. Browser atau sistem operasi Anda mengirimkan daftar CA tepercaya bawaan. Saat Anda mengunjungi situs lewat HTTPS, perangkat menggunakan daftar itu untuk memutuskan apakah menerima klaim sertifikat.
Sistem ini tidak sempurna: CA bisa membuat kesalahan, dan penyerang bisa mencoba menipu atau mengompromikan mereka. Tetapi ia menciptakan rantai kepercayaan praktis yang bekerja pada skala global.
Sertifikat kedaluwarsa dengan sengaja. Masa hidup pendek mengurangi dampak jika sebuah kunci dicuri dan mendorong pemeliharaan rutin.
Sertifikat juga bisa dicabut sebelum masa berlakunya habis. Pencabutan adalah cara untuk mengatakan, “Berhenti mempercayai sertifikat ini,” misalnya jika kunci privat mungkin bocor atau sertifikat diterbitkan keliru. Perangkat bisa memeriksa status pencabutan (dengan reliabilitas dan ketat yang bervariasi), itulah sebabnya tata kelola kunci tetap penting.
Simpan kunci privat Anda tetap pribadi: simpan di penyimpanan kunci yang aman, batasi akses, dan hindari menyalinnya antar sistem kecuali perlu.
Rotasi kunci bila perlu—setelah insiden, saat upgrade terencana, atau saat kebijakan mengharuskannya. Dan lacak tanggal kedaluwarsa agar perpanjangan tidak menjadi darurat menit terakhir.
RSA adalah ide dasar, tetapi bukan pelindung ajaib. Sebagian besar kegagalan dunia nyata bukan terjadi karena seseorang “memecahkan RSA”—melainkan karena sistem di sekitar RSA gagal.
Beberapa pola muncul berulang:
Keamanan RSA bergantung pada menghasilkan kunci yang cukup besar dan benar‑benar tak terduga. Randomness yang baik esensial: jika pembuatan kunci menggunakan sumber bilangan acak yang lemah, penyerang kadang bisa mereproduksi atau mempersempit kemungkinan kunci. Demikian pula, panjang kunci penting karena kemajuan daya komputasi dan teknik matematika terus mengurangi margin aman untuk kunci kecil.
Operasi RSA lebih berat dibanding alternatif modern, sehingga banyak protokol menggunakan RSA secara hemat—sering untuk otentikasi atau menukar rahasia sementara, lalu beralih ke enkripsi simetris yang lebih cepat untuk data massal.
Keamanan bekerja paling baik sebagai defense‑in‑depth: lindungi private key (sebaiknya di perangkat keras), pantau penerbitan sertifikat, patch sistem, gunakan autentikasi tahan‑phishing, dan desain untuk rotasi kunci yang aman. RSA adalah salah satu alat dalam rantai—bukan seluruh rantai.
RSA adalah salah satu alat kriptografi yang paling didukung luas di internet. Bahkan jika sebuah layanan tidak lagi “memfavoritkan” RSA, ia sering mempertahankan kompatibilitas RSA karena keberadaannya yang meluas: perangkat lama, sistem perusahaan yang bertahan lama, dan infrastruktur sertifikat yang dibangun selama bertahun‑tahun.
Kriptografi berkembang karena alasan yang sama perangkat keamanan lain berkembang:
Anda sering akan melihat alternatif di TLS dan aplikasi modern:
Singkatnya: RSA bisa melakukan enkripsi dan tanda tangan, tetapi sistem modern sering memecah pekerjaan—menggunakan satu metode yang dioptimalkan untuk tanda tangan dan lainnya untuk menetapkan kunci sesi.
Tidak. RSA masih banyak didukung dan tetap pilihan valid di banyak konteks, terutama di mana kompatibilitas penting atau praktik manajemen kunci dan sertifikat yang ada sudah built around RSA. Pilihan “terbaik” bergantung pada faktor seperti dukungan perangkat, kebutuhan performa, persyaratan kepatuhan, dan bagaimana kunci disimpan serta diputar.
Jika Anda ingin melihat bagaimana pilihan‑pilihan ini muncul dalam koneksi HTTPS nyata, langkah selanjutnya: /blog/ssl-tls-explained.
RSA membantu mewujudkan kepercayaan berskala internet dengan memungkinkan kriptografi kunci publik, yang menyediakan:
Blok bangunan ini menjadi pusat dari HTTPS, perbankan online, dan pembaruan perangkat lunak yang bertanda tangan.
Leonard Adleman membantu mengubah RSA dari gagasan cerdas menjadi kriptosistem yang bisa dianalisis dan dipercaya oleh orang lain. Secara praktis, itu berarti menekan asumsi-asumsi, memperbaiki cara penyajian, dan memperkuat argumen mengapa memecahkan RSA harus sulit dalam model serangan yang realistis.
Sebuah public key dimaksudkan untuk dibagikan; orang menggunakannya untuk mengenkripsi sesuatu kepada Anda atau untuk memverifikasi tanda tangan Anda.
Sebuah private key harus tetap rahasia; dipakai untuk mendekripsi apa yang dienkripsi untuk Anda (dalam pengaturan enkripsi RSA) dan untuk membuat tanda tangan yang hanya bisa dibuat oleh Anda.
Jika private key bocor, penyerang bisa menyamar sebagai Anda dan/atau mendekripsi rahasia tergantung bagaimana kunci dipakai.
Keamanan RSA bergantung (pada tingkat tinggi) pada masalah matematis "arah satu": mengalikan bilangan prima besar itu mudah, tetapi memfaktorkan bilangan besar itu kembali ke primanya sangat sulit pada ukuran kunci nyata.
Kunci publik dan privat terkait secara matematis, tetapi hubungan itu dirancang sehingga kunci publik tidak mengungkapkan kunci privat dengan cara yang praktis.
Mereka menyelesaikan tujuan kepercayaan yang berbeda:
Aturan praktis: enkripsi menjaga rahasia; tanda tangan membuktikan siapa pengirimnya dan bahwa konten tidak diubah.
Dalam alur TLS/HTTPS yang disederhanakan:
RSA mungkin dipakai untuk otentikasi (tanda tangan), dan secara historis juga dipakai untuk membantu melindungi rahasia sesi awal pada beberapa konfigurasi.
Tidak. Gembok menandakan koneksi umumnya terenkripsi dan biasanya terotentikasi.
Gembok tidak menjamin:
Anggap HTTPS sebagai lapisan keselamatan transport yang perlu, bukan putusan penuh soal kepercayaan.
Sertifikat mengikat sebuah kunci publik ke sebuah identitas (mis. nama domain). Browser mempercayai ikatan ini karena sertifikat ditandatangani oleh Certificate Authority (CA), dan browser/OS mengirimkan daftar CA tepercaya bawaan.
Jika Anda men-deploy layanan, rencanakan untuk:
Pembaruan bertanda tangan memungkinkan perangkat Anda memverifikasi dua hal:
Ini melindungi terhadap serangan “tukar paket” (mirror yang dikompromikan, jaringan yang dibajak, halaman unduhan tiruan). Untuk penjelasan lebih jauh, lihat /blog/code-signing-basics.
Kegagalan dunia nyata biasanya bersifat operasional, bukan karena "matematika RSA rusak":
Langkah praktis: lindungi private key (lebih baik jika didukung perangkat keras), pantau masa berlaku, rotasi kunci terencana, dan awasi penerbitan sertifikat bila memungkinkan.