Perbandingan DES, Triple DES, AES, enkripsi blowfish untuk data

Jawaban:

245

Gunakan AES.

Lebih detail:

  • DES adalah "standar enkripsi data" lama dari tahun tujuh puluhan. Ukuran kuncinya terlalu pendek untuk keamanan yang tepat (56 bit efektif; ini bisa dipaksakan, seperti yang telah ditunjukkan lebih dari sepuluh tahun yang lalu ). Selain itu, DES menggunakan blok 64-bit, yang memunculkan beberapa masalah potensial saat mengenkripsi beberapa gigabytes data dengan kunci yang sama (satu gigabyte tidak sebesar ini saat ini).
  • 3DES adalah trik untuk menggunakan kembali implementasi DES, dengan membuat tiga contoh DES (dengan kunci berbeda). 3DES diyakini aman setidaknya hingga " 2 112 keamanan " (yang cukup banyak, dan cukup jauh di ranah "tidak dapat dihancurkan dengan teknologi saat ini"). Tetapi lambat, terutama dalam perangkat lunak (DES dirancang untuk implementasi perangkat keras yang efisien, tetapi sangat payah dalam perangkat lunak; dan 3DES menyebalkan tiga kali lipat).
  • Blowfish adalah cipher blok yang diusulkan oleh Bruce Schneier, dan digunakan dalam beberapa perangkat lunak. Blowfish dapat menggunakan kunci besar dan diyakini aman, kecuali terkait dengan ukuran bloknya, yaitu 64 bit, seperti DES dan 3DES. Blowfish efisien dalam perangkat lunak, setidaknya pada beberapa platform perangkat lunak (menggunakan tabel pencarian yang tergantung pada kunci, karenanya kinerja tergantung pada bagaimana platform menangani memori dan cache).
  • AES adalah penerus DES sebagai algoritma enkripsi simetris standar untuk organisasi federal AS (dan sebagai standar untuk hampir semua orang, juga). AES menerima kunci 128, 192 atau 256 bit (128 bit sudah sangat bisa dipecahkan), menggunakan blok 128-bit (jadi tidak ada masalah di sana), dan efisien dalam perangkat lunak dan perangkat keras. Itu dipilih melalui kompetisi terbuka yang melibatkan ratusan cryptographers selama beberapa tahun. Pada dasarnya, Anda tidak dapat memiliki yang lebih baik dari itu.

Jadi, ketika ragu, gunakan AES.

Perhatikan bahwa cipher blok adalah kotak yang mengenkripsi "blok" (128-bit data dengan AES). Saat mengenkripsi "pesan" yang mungkin lebih panjang dari 128 bit, pesan tersebut harus dibagi menjadi beberapa blok, dan cara aktual Anda melakukan pemecahan itu disebut mode operasi atau "rantai". Mode naif (pemisahan sederhana) disebut ECB dan memiliki masalah. Menggunakan cipher blok dengan benar tidak mudah, dan lebih penting daripada memilih di antara, misalnya, AES atau 3DES.

Thomas Pornin
sumber
4
Menjadi sedikit gila, saya hampir selalu merekomendasikan AES256
hdost
2
Ya Tuhan, NSA bisa memecahkan DES pada tahun 1976 tetapi terus mendorong penggunaannya hingga tahun 2002! Panggil saya paranoid tetapi takut akan dorongan untuk AES
Dr Deo
25

Semua skema ini, kecuali AES dan Blowfish, telah diketahui kerentanannya dan tidak boleh digunakan.
Namun, Blowfish telah digantikan oleh Twofish .

Slaks
sumber
11

Metode enkripsi yang dijelaskan adalah sandi blok kunci simetris.

Data Encryption Standard (DES) adalah pendahulunya, mengenkripsi data dalam blok 64-bit menggunakan kunci 56 bit. Setiap blok dienkripsi secara terpisah, yang merupakan kerentanan keamanan.

Triple DES memperpanjang panjang kunci DES dengan menerapkan tiga operasi DES pada setiap blok: enkripsi dengan kunci 0, dekripsi dengan kunci 1 dan enkripsi dengan kunci 2. Kunci-kunci ini mungkin terkait.

DES dan 3DES biasanya ditemui ketika berinteraksi dengan produk dan layanan komersial lama.

AES dianggap sebagai penerus dan standar modern. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Saya percaya penggunaan Blowfish tidak disarankan.

Sangat disarankan agar Anda tidak mencoba mengimplementasikan kriptografi Anda sendiri dan sebagai gantinya menggunakan implementasi tingkat tinggi seperti GPG untuk data saat istirahat atau SSL / TLS untuk data dalam perjalanan. Ini adalah video yang sangat bagus dan serius tentang kerentanan enkripsi http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/

rohannes
sumber
2
Mengapa menggunakan blowfish tidak disarankan? Bukankah itu yang paling aman?
yogsma
5
@yogsma: Blowfish memiliki ukuran blok hanya 64 bit (seperti yang dimaksudkan sebagai pengganti drop-in untuk protokol DES), dan dengan demikian menjadi bermasalah setelah beberapa GB data dienkripsi dengan kunci yang sama.
Paŭlo Ebermann
@rohannes, mengapa BlowFish berkecil hati, saya membaca di suatu tempat dalam hal kinerja BlowFish lebih baik daripada AES lihat artikel ini di brighthub.com
Yogesh
9

AES adalah algoritma kriptografi simetris, sedangkan RSA adalah algoritma kriptografi asimetris (atau kunci publik). Enkripsi dan dekripsi dilakukan dengan satu kunci di AES, sementara Anda menggunakan kunci terpisah (kunci publik dan pribadi) di RSA. Kekuatan kunci AES 128-bit kira-kira setara dengan kunci RSA 2600-bit.

RAM BHEEMA
sumber
7
dapatkah Anda memberikan dukungan matematika jawaban ini, atau sumber? Saya tertarik untuk mengetahui bagaimana Anda sampai pada kesimpulan bahwa 128-bit AES kira-kira setara dengan 2600-bit RSA (Saya sadar ini adalah jawaban lama)
Russell Uhl
3
@RussellUhl - Saya setuju bahwa sejarah angka-angka itu adalah pertanyaan yang menarik, bahkan setelah 2 tahun keheningan tambahan. :) Angka-angka itu tampaknya berasal dari kertas PDF ini: eprint.iacr.org/2013/635.pdf berjudul Universal security - from bits and mips to pools, lakes – and beyond.
Jesse Chisholm
4

Meskipun TripleDESCryptoServiceProvider adalah metode yang aman dan bagus tetapi terlalu lambat. Jika Anda ingin merujuk ke MSDN, Anda akan mendapatkan saran itu untuk menggunakan AES dan bukan TripleDES. Silakan periksa tautan di bawah ini: http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx Anda akan melihat perhatian ini di bagian komentar:

Catatan Algoritma enkripsi simetris yang lebih baru, Advanced Encryption Standard (AES), tersedia. Pertimbangkan untuk menggunakan kelas AesCryptoServiceProvider alih-alih kelas TripleDESCryptoServiceProvider. Gunakan TripleDESCryptoServiceProvider hanya untuk kompatibilitas dengan aplikasi dan data lama.

Semoga berhasil

QMaster
sumber
3
Ini lucu mengingat Microsoft masih secara aktif menggunakan TripleDES di beberapa produk mereka untuk enkripsi ( en.wikipedia.org/wiki/Triple_DES#Usage )
Tom Heard
@Tom Anda benar tetapi jangan lupa banyak soft-wares menggunakan teknologi lama dan itu membutuhkan waktu untuk beradaptasi dengan metode baru. Khusus untuk perusahaan besar seperti Microsoft, walaupun saya setuju dengan Anda tentang perlunya pembaruan dan ini buruk ketika perusahaan kami menyarankan beberapa hal dan melakukan hal lain.
QMaster
1
Microsoft terkenal dengan kompatibilitasnya. Penggunaan TripleDES langsung di bawah "hanya untuk kompatibilitas dengan aplikasi dan data lama".
Dan Bechard
1

masukkan deskripsi gambar di sini

DES adalah "standar enkripsi data" lama dari tahun tujuh puluhan.

Keshav Gera
sumber
0

AES adalah algoritma standar yang saat ini diterima untuk digunakan (maka dinamai Advanced Encryption Standard ).

Sisanya tidak.

Ian Boyd
sumber
3
Maka nama? Lalu bagaimana nama "AES" menunjukkan bahwa itu harus digunakan?
CodyBugstein
15
Bagaimana dengan Standar Enkripsi Data ? Logika Anda "memiliki <standar> dalam nama - maka inilah yang harus digunakan" cukup cacat.
Zlatin Zlatev
0
                DES                               AES
Developed       1977                              2000
Key Length      56 bits                           128, 192, or 256 bits
Cipher Type     Symmetric                         Symmetric
Block Size      64 bits                           128 bits
Security        inadequate                        secure
Performance     Fast                              Slow
ikarayel
sumber
AES lebih cepat daripada 3DES, terutama pada CPU yang mendukung AES-NI. (tetapi bahkan tanpa itu - DES dirancang untuk implementasi perangkat keras yang cepat, bukan implementasi perangkat lunak) ( DES yang normal sedikit lebih cepat pada beberapa tolok ukur , tetapi kunci 56bit membuatnya tidak cocok untuk penggunaan saat ini)
Gert van den Berg