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.
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 .
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.
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/
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.
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.
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.
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
DES adalah "standar enkripsi data" lama dari tahun tujuh puluhan.
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)
Jawaban:
Gunakan AES.
Lebih detail:
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.
sumber
Semua skema ini, kecuali AES dan Blowfish, telah diketahui kerentanannya dan tidak boleh digunakan.
Namun, Blowfish telah digantikan oleh Twofish .
sumber
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/
sumber
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.
sumber
Universal security - from bits and mips to pools, lakes – and beyond
.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:
Semoga berhasil
sumber
DES adalah "standar enkripsi data" lama dari tahun tujuh puluhan.
sumber
AES adalah algoritma standar yang saat ini diterima untuk digunakan (maka dinamai Advanced Encryption Standard ).
Sisanya tidak.
sumber
sumber