Membandingkan ECDSA vs RSA

Pengantar

Akhir-akhir ini, ada banyak diskusi tentang pro dan kontra dari RSA[01]
dan PAUD[02], di komunitas crypto. Untuk yang belum tahu, mereka berdua
algoritma tanda tangan digital yang paling banyak digunakan, tetapi bahkan untuk yang lebih berteknologi
cerdas, bisa sangat sulit untuk mengikuti fakta. Artikel ini adalah
mencoba perbandingan penyederhanaan dari kedua algoritma. Meskipun tidak
esai yang sangat teknis, pembaca yang lebih sabar dapat memeriksa bagian akhir
artikel untuk tabel TL; DR cepat dengan ringkasan diskusi.

Butuh sertifikat? SSL.com siap membantu Anda. Bandingkan opsi di sini untuk menemukan pilihan yang tepat untuk Anda, dari S/MIME dan kode sertifikat penandatanganan dan banyak lagi.

PESAN SEKARANG

ECDSA vs RSA

ECDSA dan RSA adalah algoritma yang digunakan oleh kriptografi kunci publik[03] sistem,
untuk menyediakan mekanisme untuk pembuktian keaslian. Kriptografi kunci publik adalah
ilmu merancang sistem kriptografi yang menggunakan pasangan kunci: a publik
kunci
(karenanya nama) yang dapat didistribusikan secara bebas kepada siapa saja, bersama dengan a
sesuai kunci pribadi, yang hanya diketahui pemiliknya. Autentikasi
mengacu pada proses verifikasi bahwa pesan, yang ditandatangani dengan kunci pribadi, telah
dibuat oleh pemegang kunci pribadi tertentu. Algoritma digunakan untuk
otentikasi secara kolektif dikenal sebagai algoritma tanda tangan digital [04].

Algoritma semacam itu bergantung pada masalah matematika yang kompleks yang relatif sederhana
untuk menghitung satu cara, meskipun cukup tidak praktis untuk dibalik. Ini berarti untuk
seorang penyerang untuk memalsukan tanda tangan digital, tanpa sepengetahuan pribadi
Kuncinya, mereka harus memecahkan masalah matematika yang sulit dipecahkan, seperti integer
faktorisasi, yang tidak ada solusi efisien yang diketahui [05].

Oleh karena itu, karena tidak ada solusi efisien yang tersedia untuk
masalah matematika yang mendasari, evaluasi algoritma kriptografi dapat
hanya terjadi sehubungan dengan detail implementasi mereka sehubungan dengan
tingkat keamanan yang mereka berikan. Untuk tujuan ini, bagian ini menyajikan a
perbandingan RSA dan ECDSA menggunakan lima (atau enam) metrik kuantifikasi. Setiap metrik
diperkenalkan di bagian sendiri, bersama dengan signifikansinya bagi siapa pun yang
mencoba memutuskan antara kedua algoritma.

Adopsi

RSA telah menjadi standar industri untuk kriptografi kunci publik selama bertahun-tahun
sekarang. Kebanyakan SSL /TLS sertifikat telah (dan masih) ditandatangani dengan kunci RSA.
Meskipun sebagian besar CA, pada saat ini, telah mengimplementasikan dukungan untuk ECDSA
sertifikat, adopsi berumur panjang ini telah menyebabkan banyak sistem warisan saja
mendukung RSA. Oleh karena itu, jika vendor memerlukan kompatibilitas dengan yang lama
perangkat lunak klien, mereka dipaksa untuk menggunakan sertifikat yang ditandatangani dengan RSA. Sekarang,
Namun, sebagian besar klien modern telah menerapkan dukungan untuk ECDSA, yang akan
mungkin menghapus kendala kompatibilitas ini dalam waktu dekat.

Kematangan standar

RSA pertama kali distandarisasi untuk SSL /TLS pada tahun 1994 [06], sementara ECDSA diperkenalkan
dalam spesifikasi TLS v1.2 pada 2008 [07]. Perbedaan usia ini menunjukkan a
perbedaan dalam kematangan standar yang menggambarkan praktik terbaik untuk
setiap algoritma. Meskipun, standar RSA telah banyak diteliti dan
diaudit, ECDSA belum melihat banyak perhatian. Baru-baru ini, advokasi ini
algoritma oleh CA utama dan penerapannya di sebagian besar SSL /TLS klien telah
menghasilkan penelitian yang lebih luas yang diterbitkan, tetapi masih tetap a
skema yang relatif baru. Ini menyisakan ruang untuk cacat desain yang belum ditemukan atau
implementasi yang salah diungkapkan di masa depan.

Rasio ukuran kunci ke tingkat keamanan

Tingkat keamanan [08] adalah metrik dalam kriptografi, mengacu pada kekuatan
dari primitif atau fungsi kriptografi. Ini biasanya diukur dalam "bit" itu
menunjukkan jumlah operasi yang perlu dilakukan oleh penyerang untuk kompromi
keamanan. Metrik ini dapat memberikan metode kuantifikasi untuk membandingkan kemanjuran
dari berbagai cryptosystems. Harus ditekankan bahwa ukuran kunci publik juga
diukur dalam bit, tetapi ini adalah konsep yang sama sekali berbeda, mengacu pada
ukuran fisik kunci.

Dalam hal ini, kunci publik RSA 2048-bit yang umum menyediakan tingkat keamanan
112 bit. Namun, ECDSA hanya membutuhkan kunci publik berukuran 224-bit untuk menyediakan
tingkat keamanan 112-bit yang sama. Perbedaan mencolok dalam ukuran kunci ini memiliki dua
implikasi yang signifikan. Ukuran kunci yang lebih kecil membutuhkan lebih sedikit bandwidth untuk mengatur
SSL /TLS streaming, yang berarti bahwa sertifikat ECDSA ideal untuk seluler
aplikasi. Apalagi sertifikat semacam itu bisa disimpan ke perangkat dengan banyak
kendala memori yang lebih membatasi, fakta yang memungkinkan m /TLS tumpukan menjadi
diimplementasikan dalam perangkat IoT tanpa mengalokasikan banyak sumber daya. Diterbitkan
penelitian, bahkan menunjukkan bahwa ECDSA lebih efisien [09] untuk diterapkan di embedded
perangkat.

Performa & kompleksitas waktu

Algoritma adalah resep abstrak yang menggambarkan metode untuk mencapai tujuan tertentu.
Dalam ilmu komputer, kinerjanya diukur dengan menghitung jumlah
operasi elementer yang diperlukan untuk mencapai akhir yang telah ditentukan ini
kondisi. Metrik demikian disebut kompleksitas waktu. Karena inputnya berbeda
ukuran memerlukan jumlah operasi yang berbeda, kompleksitas waktu biasanya
dinyatakan sebagai fungsi dari ukuran input.

Kedua algoritma yang dimaksud, berkinerja kurang lebih sama
operasi matematika, seperti divisi dan perkalian. Jadi, ukuran input
(yang dalam hal ini adalah ukuran kunci mereka) tetap yang paling signifikan
faktor yang mempengaruhi kinerja mereka. Membandingkan kedua algoritma, perlu
dibedakan antara menandatangani pesan dan memverifikasi tanda tangan. Di sebagian besar
implementasi praktis, RSA tampaknya secara signifikan lebih cepat daripada ECDSA di
memverifikasi tanda tangan, meskipun lebih lambat saat masuk.

Segala sesuatunya menjadi rumit untuk tingkat keamanan yang lebih tinggi. Misalnya, paling banyak
konfigurasi umum tingkat keamanan 112 bit, RSA membutuhkan 2048-bit
dibandingkan ECDSA yang membutuhkan kunci 224-bit. Di tingkat umum berikutnya 128 bit, RSA
membutuhkan kunci 3072-bit, sedangkan ECDSA hanya 256 bit. Ini menghasilkan RSA
kinerja menurun secara dramatis, sedangkan ECDSA hanya sedikit terpengaruh. Sebagai
konsekuensi dari masalah penskalaan ini, meskipun RSA tampaknya lebih berprestasi di
Saat ini, peningkatan terus-menerus dalam persyaratan keamanan bisa sangat bagus
ECDSA solusi de-facto di masa depan.

Resistensi pasca-kuantum

algoritma Shor [10] adalah algoritma yang terkenal untuk memecahkan kunci RSA menggunakan
komputer kuantum. Karena tidak ada implementasi praktis (publik) dari a
seperti mesin, berikut ini adalah dugaan tentang masa depan kunci publik
kriptografi. Pada saat penulisan ini, implementasi terbaik dari Shor
algoritma dapat mengalahkan enkripsi RSA kunci 15-bit. Meskipun ini tidak terdengar
memprihatinkan, karena semakin banyak penelitian diarahkan menuju komputasi kuantum, RSA
bisa menjadi masalah serius kapan saja.

Advokat untuk ECDSA seharusnya tidak cepat untuk merayakan, karena elips
kriptografi kurva juga rentan [11] ke versi modifikasi dari Shor
algoritma. Akibatnya, jika kedua cipher dapat dipecah oleh komputer kuantum,
satu-satunya metrik objektif adalah kompleksitas yang diperlukan untuk mengimplementasikan suatu
menyerang. Menurut penelitian publik, kunci RSA 2048-bit membutuhkan 4098 qubit
(dan 5.2 triliun gerbang Tofolli) dikalahkan, sedangkan ECDSA 256-bit kunci
hanya membutuhkan 2330 qubit (dan 126 miliar gerbang Tofolli). Karenanya, RSA lebih dari itu
mahal untuk dipecah, menggunakan mesin kuantum teoretis.

Kesimpulan

Meskipun perbandingan ini sama sekali tidak komprehensif, jelas bahwa
RSA telah mendapatkan posisi sebagai tanda tangan digital terkemuka
algoritma untuk sebagian besar aplikasi sertifikat. Namun, karena teknologi selalu
maju dengan cara yang lebih tidak terduga, kesadaran dan kebutuhan keamanan juga
meningkat. Sedikit lebih dari sepuluh tahun yang lalu, keamanan perangkat yang disematkan telah
fiksi dan komunikasi aman saat ini adalah harus dimiliki untuk dunia nyata
aplikasi. Akibatnya, meskipun ECDSA relatif muda, itu milik siapa saja
tebak apakah itu akan menggantikan RSA sebagai standar untuk otentikasi di SSL /TLS
implementasi.

Jika Anda, pembaca, masih tidak dapat memutuskan algoritma mana yang harus dipilih, ada
solusi untuk mendukung ECDSA dan RSA (sebagai mekanisme mundur), hingga
komunitas crypto memilih pemenang. Periksa bagian artikel ini untuk masa depan
panduan cara.

TL; DR table

metrik RSA PAUD
Adopsi ?  
Kematangan ?  
Ukuran kunci   ?
Performance ?  
Scaling   ?
Resistensi P / Q ?  

Referensi

Berlangganan Newsletter SSL.com

Jangan lewatkan artikel baru dan pembaruan dari SSL.com

Tetap Terinformasi dan Aman

SSL.com adalah pemimpin global dalam keamanan siber, PKI dan sertifikat digital. Daftar untuk menerima berita industri terkini, tips, dan pengumuman produk dari SSL.com.

Kami sangat menantikan tanggapan Anda

Ikuti survei kami dan beri tahu kami pendapat Anda tentang pembelian terakhir Anda.