Algoritma TrueCrypt mana yang paling aman?

83

Jika kinerja tidak menjadi perhatian, algoritma TrueCrypt manakah yang paling aman untuk digunakan?

  • AES
  • Ular
  • Triple DES
  • Dua ikan
  • AES-Twofish
  • AES-Twofish-Serpent
  • Ular-AES
  • Serpent-Twofish-AES
  • Ular Twofish
Amir Rezaei
sumber
13
Mereka semua aman, kalau tidak mereka tidak akan berada dalam produk. Tetapi gunakan AES, karena itu standar.
Ian Boyd
13
Saya akan mengatakan kecuali ada agen pemerintah setelah Anda, kualitas kata sandi Anda lebih cenderung menjadi masalah daripada algoritma enkripsi.
Kol
3
Itu sangat aneh; Saya berani bersumpah judulnya bertanya mana yang tercepat . ಠ_ ఠ
Synetech

Jawaban:

37

ini adalah hasil pemungutan suara di babak final dari kontes AES:

Rijndael 86-10 = 76
Serpent 59-7   = 52
Twofish 31-21 = 10
RC6 23-37 = -14
MARS 13-83 = -70 

( http://csrc.nist.gov/archive/aes/round2/comments/20000523-msmid-2.pdf , ditautkan melalui ular truecrypt , baca juga yang itu).

jadi, karena berbagai alasan Rijndael menjadi AES, yang merupakan penerus DES (dan 3DES).

dan, hanya karena muncul hari ini di news.ycombinator.com, kisah AES:

http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html

akira
sumber
62

Menggunakan TrueCrypt 7.0a, metode enkripsi yang paling aman adalah: Gunakan enkripsi cascading AES-Twofish-Serpent dengan metode XTS. Gunakan algoritma hash Whirlpool. (SHA-512 adalah tempat ke-2 yang sangat dekat di sini ... dapat diperdebatkan ... Saya condong ke Whirlpool karena SHA-512 sudah memiliki penerus yang dikembangkan karena kekhawatiran bahwa itu didasarkan pada SHA-1 yang lebih tua yang memiliki telah dikompromikan.) PALING PENTING adalah menggunakan kata sandi yang SANGAT kuat. 20 hingga 30+ karakter, huruf besar, huruf kecil, angka, simbol. Gunakan pemeriksa kata sandi online Microsoft untuk uji kekuatan. Anda juga dapat menggunakan Keyfiles untuk lebih mengamankan kata sandi Anda.

Saya merekomendasikan AES-Twofish-Serpent atas Serpent-Twofish-AES karena Anda ingin enkripsi terluar (AES akan menjadi lapisan pertama yang mereka perlu istirahat) untuk menjadi standar paling dalam industri. Yang itu adalah yang paling dicoba dan benar dan yang paling teruji dari semuanya. Plus, jika seseorang menganggap file dienkripsi dengan AES, tidak ada cara untuk melihat yang kemudian dienkripsi dengan Twofish ... sehingga mereka melakukan semua pekerjaan ini untuk memecahkan AES, hanya untuk menemukan bahwa Twofish menghalangi mereka sekarang. Dan lagi setelah Twofish mereka bertemu dengan Serpent, yang merupakan binatang terbesar di antara mereka semua (meskipun lebih sedikit digunakan / diuji daripada AES, masih memiliki margin keamanan yang jauh lebih tinggi daripada AES)

Jika Anda menggunakan Keyfile, saya sarankan TrueCrypt membuat 3 keyfile untuk Anda. Buat satu keyfile untuk setiap algoritma hash yang mereka sediakan. Anda mungkin juga menambahkan beberapa file .jpg dan .mp3 juga. Saya akan memastikan untuk membuat setiap keyfile hanya-baca.

Ini mungkin berlebihan meskipun.

Charles Hepburn II
sumber
2
Anda mengatakan menggunakan 20-30 karakter, tetapi bukankah itu berlebihan? Bahkan 10 huruf kecil adalah 26 ^ 10 = 141.167.095.653.376 kombinasi (4 juta tahun pada satu cek per detik). Lebih dari cukup tentunya?
Dan W
12
@Dan W: Satu cek per detik, tentu saja. Namun, meskipun metode hashing bervariasi banyak dalam kinerja, hardware konsumen kelas datang jauh lebih dekat dengan pengujian miliaran password per detik. Kata sandi huruf kecil sepuluh karakter Anda akan dipecahkan dalam hitungan jam.
Marcks Thomas
7
Alasan Anda untuk pesanan kaskade tidak masuk akal. Seorang penyerang harus menerobos setiap lapisan (masing-masing menggunakan kunci independen), terlepas dari apakah AES pertama atau terakhir.
jjlin
15

Cascaded cipher (AES-Twofish-Serpent, dll.) Harus menjadi yang paling aman. Data Anda dienkripsi dengan satu algoritma, kemudian output dari itu dienkripsi dengan algoritma kedua, yang outputnya dienkripsi dengan algoritma ketiga. Menurut dokumentasi TrueCrypt , setiap algoritma menggunakan kunci yang berbeda, masing-masing berasal dari frasa sandi Anda.

Jika kerentanan ditemukan di satu (atau dua) dari cipher ini, data Anda harus tetap aman, karena penyerang masih tidak dapat memecahkan cipher yang tersisa.

Chris Acheson
sumber
8
Saya ingin menambahkan bahwa jika hanya satu cipher yang akan dipilih, Serpent mungkin yang paling aman, tetapi secara signifikan lebih lambat daripada AES (perhatikan bahwa pilihan pemerintah dari Standar Enkripsi Lanjutan melibatkan kinerja, bukan hanya keamanan).
bwDraco
5

Entah AES-Twofish-Serpent atau Serpent-Twofish-AES. Tapi AES biasa sudah cukup.

Fantius
sumber
5

Rijndael memenangkan kompetisi AES terutama karena itu yang tercepat dan termudah untuk diterapkan dalam perangkat keras, bukan karena itu yang paling "aman." Twofish dan Serpent biasanya dianggap lebih aman, tetapi karena mereka semua sangat kuat, itu klaim yang sangat subjektif. Dan tentu saja, mengenkripsi dengan banyak algoritma akan lebih "aman," tetapi akan mengurangi kecepatan lebih jauh.

Sekali lagi, mereka semua sangat solid, jadi saran saya adalah untuk hanya pergi dengan mana yang tercepat di mesin Anda (biasanya AES).

BlueRaja - Danny Pflughoeft
sumber
1

Saya pernah membaca bahwa algoritma chaining bersama-sama dapat mengakibatkan keamanan yang lebih lemah karena algoritma yang digunakan untuk mengikuti satu sama lain.

Lebih lanjut, efisiensi dan kecepatan akan mendapat pukulan besar jika Anda menggunakan salah satu dari cipher gabungan.

Saya akan merekomendasikan Rijndael (AES) atau Serpent dan jika Anda ingin aman: elemen yang paling penting adalah kuncinya jadi buatlah kunci yang sangat panjang dengan setidaknya satu dari setiap rangkaian huruf besar dan kecil, angka dan karakter simbol.

funkotron
sumber
1

Meskipun ada beberapa bahaya dalam cascading beberapa ciphers bersama-sama, Truecrypt tampaknya berurusan dengan mereka sebaik mungkin. Itu tidak menambahkan plaintext yang dikenal ke output dari cipher pertama dan menggunakan kunci indepentant untuk masing-masing sehingga dengan merantai algoritma yang berbeda bersama-sama itu harus meningkatkan keamanan.

Saya akan tetap menggunakan 3DES. Setelah membaca halaman Truecrypt yang mencantumkan pilihan algoritma, ia bahkan tidak mencantumkan triple DES sehingga mereka mungkin baru saja menghapusnya.

pipGeek
sumber
3
Bagi mereka yang tertarik dalam diskusi yang lebih mendalam tentang "bahaya" dalam meretas banyak cipher, periksa topik ini: crypto.stackexchange.com/questions/6486/…
Tiago
Tanggung jawab utama 3DES adalah lambatnya kecepatan dibandingkan dengan cipher yang lebih modern, sementara paling baik menawarkan keamanan yang sama. (3DES dapat membawa Anda ke 112 bit keamanan karena bertemu di serangan tengah, sedangkan AES-128 saat ini membuat Anda cukup dekat dengan 128 bit keamanan pada throughput yang jauh lebih baik.) Plus, DES 'menggunakan 64-bit blok adalah kewajiban karena difusi terbatas dimungkinkan dengan blok yang lebih kecil.
CVn
0

Anda bisa menggunakan kata sandi yang lebih pendek jika Anda menggunakan keyfile, dan jika Anda tidak khawatir tentang kinerja yang hit, menggunakan AES Twofish dan Serpent akan menyebabkan banyak sakit kepala bagi mereka yang mencoba masuk ke materi yang dienkripsi. Tetapi juga jangan mengabaikan bahwa Anda juga dapat mengambil satu file terenkripsi dan letakkan di bagian dalam file terenkripsi yang lebih besar. Dengan cara ini, Anda dapat "membiarkan" penyerang Anda melihat wadah luar dan membiarkan mereka berpikir mereka memiliki seluruh wadah. Padahal, mereka tidak punya apa-apa. Jangan ragu untuk meletakkan sesuatu yang sedikit teduh di file luar, tetapi tidak ada yang benar-benar menyebabkan masalah. Saya pikir banyak foto porno akan cocok dengan RUU ini dengan baik, di sini ada sesuatu yang ingin disembunyikan seseorang, dan karena itu, Anda memiliki alasan yang bagus. Wadah luar tidak mengungkapkan bahwa wadah dalam bahkan ada. Tempatkan bahan Anda yang sebenarnya di dalam wadah bagian dalam. Yang lebih baik adalah membuat wadah luar "lemah" dengan kata sandi tidak mencukupi, dan tidak ada keyfile. Biarkan penyerang Anda berpikir mereka melanggar enkripsi Anda, dan mengangkat bahu Anda dan berkata, "Sialan, Anda baik, Anda memiliki saya mati untuk hak."

Gene Abshire
sumber
0

Kriptanalisis publik terbaik untuk masing-masing, dengan asumsi varian 256 bit (kompleksitas waktu lebih tinggi lebih baik, tetapi semua jenis peringatan):

  • Rijndael: 2 ^ 254,4 kompleksitas waktu (mengabaikan serangan kunci terkait yang tidak akan menjadi masalah di sini)
  • Ular: 12 putaran 32, 2 ^ 228,8 kompleksitas waktu (tetapi membutuhkan 2 ^ 118 teks yang dikenal)
  • Twofish: 6 putaran 16 (tetapi membutuhkan 2 ^ 51 plaintext yang dipilih)
  • 3DES: 2 ^ 118 (dengan 2 ^ 32 plaintext yang diketahui; perhatikan, 3DES menggunakan 168 bit, jadi brute force adalah 2 ^ 168 bukannya 2 ^ 256)

Tidak diragukan lagi, 3DES adalah yang paling tidak aman, tetapi itu tidak serta merta membuatnya tidak aman (kecuali masalah backdoor yang tidak dipublikasikan). Namun saya akan menghindarinya. Semua algoritma lain umumnya dianggap aman. Menentukan keberadaan backdoor yang sengaja ditempatkan di salah satu dari mereka kemungkinan membutuhkan Snowden untuk merilis lebih banyak dokumen. Dan jujur, jika salah satu dari tiga itu memang memiliki pintu belakang, itu akan menjadi wahyu bom mutlak. Mengingat rekam jejaknya, saya pribadi senang mengasumsikan bahwa mereka masih aman.

Bob Aman
sumber
3DES dengan tiga kunci independen (materi kunci 168 bit) rentan terhadap serangan meet-in-the-middle yang berarti keamanan yang efektif adalah kunci 112-bit. en.wikipedia.org/wiki/Triple_DES#Security
a CVn
0

Pada tahun 2001, Institut Nasional Standar dan Teknologi (NIST) meluncurkan Advanced Encryption Standard (AES) dan memasukkan lima kandidat (melalui beberapa kandidat konferensi) dengan algoritma yang berlawanan untuk mewakili standar. Cipher Serpent adalah salah satunya, mengumpulkan kudus keamanan tinggi, tetapi akhirnya menjadi runner-up, ke cipher Rijndael. Meskipun ini terjadi beberapa tahun yang lalu, ini memberikan pandangan yang menarik ke dalam enkripsi data elektronik dan pertukaran antara kinerja dan keamanan. Menariknya, kinerja menang!

Dibandingkan dengan lima kandidat lainnya, Serpent cipher memiliki faktor keamanan tertinggi 3,56, yang cukup baik mengingat fakta bahwa yang terbaik berikutnya adalah Twofish cipher dengan faktor keamanan 2,67. Rijndael-256 memiliki faktor keamanan 1,56

https://www.100tb.com/blog/security-performance-serpent-cipher-rijndael/

https://veracrypt.codeplex.com/wikipage?title=Serpent

skan
sumber
-1

Karena tidak ada serangan yang diketahui terhadap AES yang membuat kekerasan layak (ref: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks ), kecuali jika Anda mengharapkan agensi 3 huruf untuk mencurahkan seluruh daya komputasi mereka untuk selanjutnya milenium untuk memecahkan drive Anda, AES adalah cara untuk pergi. Versi terakhir TrueCrypt juga forks-nya mendukung AES-NI, yang pada Core i7 3770 saya menyediakan throughput lebih dari 2,5 GB / detik.

Koneksi Anda ke alamat IP yang diiklankan oleh domain ini menggunakan enkripsi AES pada sebagian besar browser (meskipun CloudFlare memegang kunci yang terlihat oleh browser Anda, dan mendekripsi dan mengenkripsi ulang data Anda sebelum mengirimnya ke server StackExchange, jadi jangan gunakan TrueCrypt Anda / VeraCrypt / CipherShed kata sandi untuk kata sandi StackExchange Anda karena jika 3 agensi huruf tersebut memecahkan drive Anda, mereka akan mencegat kata sandi Anda di proksi CloudFlare dan mencobanya terlebih dahulu sebelum mencoba kekuatan brutal yang tidak berfungsi).

William
sumber
-2

Saya menyarankan Anda menggunakan hash Whirlpool dengan algoritma ini karena merupakan yang terkuat.

Untuk algoritma enkripsi, Anda harus menggunakan kaskade. Saya merekomendasikan AES, Twofish, Serpent. AES cukup lemah (dibandingkan dengan algoritma lain tetapi merupakan yang tercepat) dan oleh karena itu standar industri akan efektif sebagai lapisan luar. Twofish bahkan lebih kuat dan setelah mendekripsi lapisan AES, akan ada lapisan lain (Twofish) yang bahkan lebih kuat. Ular adalah yang terkuat dan kaskade ini terbukti efektif.

Beberapa info tambahan: Untuk kata sandi, NSA memiliki komputer kuantum yang dapat mendekripsi dengan sangat cepat. Saya tidak akan mempercayai NSA (mereka merancang AES). Saya akan merekomendasikan minimal 40 huruf, huruf kecil dan besar, angka, simbol dan tidak ada kata-kata kamus atau informasi pribadi (tanggal lahir dll) dan Anda dapat menggunakan keyfiles. Jika Anda berisiko dari musuh, gunakan fitur penyangkalan yang masuk akal yang tertanam dalam TrueCrypt.

Prajurit Tak Terkalahkan786
sumber
Tidak ada serangan Quantum Computing yang diketahui diketahui pada AES. Komputer Quantum tidak lebih cepat dari komputer biner kita. Mereka hanya berbeda.
Mark Lopez
NSA tidak merancang AES. AES dirancang oleh sepasang kriptografi Belgia dengan nama Rijndael, ditinjau (dan sangat digemari) oleh kriptografer di seluruh dunia selama kompetisi NIST AES, dan distandarisasi oleh NIST sebagai AES setelah memenangkan kompetisi berdasarkan serangkaian kriteria yang diketahui secara umum. . Jika Anda akan terlibat dalam kebencian timah-foil, harap setidaknya perbaiki fakta Anda. Selain itu, AES tidak ada hubungannya dengan kata sandi.
CVn
Adapun penyangkalan yang masuk akal, ada argumen yang meyakinkan mengapa itu tidak akan berhasil dalam praktek di Linux cryptsetup FAQ , bagian 5.18 "Bagaimana dengan Penyangkalan yang Masuk Akal?" yang juga menyentuhnya di bagian 5.2 "Apakah LUKS tidak aman? Semua orang dapat melihat saya memiliki data terenkripsi!". Dalam arti tertentu, ini adalah variasi dari xkcd.com/538 (yay, penggunaan yang sah untuk tautan xkcd).
CVn
-2

AES

Rijndael (Saat Ini THE AES) adalah algoritma terbaik.

Dari https://crypto.stackexchange.com/questions/24307/why-is-aes-unbreakable :

Pertama, tidak dikatakan bahwa AES tidak bisa dipecahkan, hanya bahwa tidak ada serangan yang dikenal saat ini mengurangi biaya komputasi ke titik di mana itu layak. Serangan terbaik saat ini pada AES-128 membutuhkan 2 ^ 126,1 operasi, jika kita memiliki komputer (atau cluster) beberapa juta kali lebih efisien daripada komputer saat ini dan dapat beroperasi pada batas Landauer termodinamika, itu akan membutuhkan 234 petajoule hanya untuk meningkatkan sebuah counter melalui setiap nilai kunci. Itu sekitar setengah dari konsumsi listrik tahunan Norwegia. Sebenarnya menghitung putaran AES membutuhkan energi beberapa kali lipat.

Dua ikan

Dari Wikipedia :

Twofish adalah cipher blok kunci simetris dengan ukuran blok 128 bit dan ukuran kunci hingga 256 bit. Itu adalah salah satu dari lima finalis kontes Standar Enkripsi Lanjutan, tetapi tidak dipilih untuk standardisasi. Twofish terkait dengan Blowfish blok cipher sebelumnya.

Fitur khas Twofish adalah penggunaan S-box yang bergantung pada kunci yang dihitung sebelumnya, dan jadwal kunci yang relatif kompleks. Setengah dari kunci n-bit digunakan sebagai kunci enkripsi aktual dan setengah lainnya dari kunci n-bit digunakan untuk memodifikasi algoritma enkripsi (S-box yang bergantung pada kunci). Twofish meminjam beberapa elemen dari desain lain; misalnya, transformasi pseudo-Hadamard (PHT) dari keluarga sandi yang lebih aman. Twofish memiliki struktur Feistel seperti DES. Twofish juga menggunakan matriks Maximum Distance Separable.

Pada kebanyakan platform perangkat lunak, Twofish sedikit lebih lambat daripada Rijndael (algoritma yang dipilih untuk Advanced Encryption Standard) untuk kunci 128-bit, tetapi agak lebih cepat untuk tombol 256-bit.

Ular

Dari Wikipedia :

Serpent adalah cipher blok kunci simetris yang merupakan finalis dalam kontes Advanced Encryption Standard (AES), di mana ia berada di peringkat kedua setelah Rijndael. Serpent dirancang oleh Ross Anderson, Eli Biham, dan Lars Knudsen.

Seperti kiriman AES lainnya, Serpent memiliki ukuran blok 128 bit dan mendukung ukuran kunci 128, 192 atau 256 bit. [2] Cipher adalah jaringan substitusi-permutasi 32-putaran yang beroperasi pada blok empat kata 32-bit. Setiap putaran menerapkan salah satu dari delapan S-box 4-bit ke 4-bit 32 kali secara paralel. Serpent dirancang agar semua operasi dapat dieksekusi secara paralel, menggunakan irisan 32 bit. Ini memaksimalkan paralelisme, tetapi juga memungkinkan penggunaan pekerjaan analisis kripto ekstensif yang dilakukan pada DES.

Serpent mengambil pendekatan konservatif terhadap keamanan, memilih margin keamanan yang besar: para perancang menganggap 16 putaran cukup untuk melawan jenis serangan yang diketahui, tetapi menetapkan 32 putaran sebagai asuransi terhadap penemuan masa depan dalam cryptanalysis. Laporan NIST resmi tentang kompetisi AES mengklasifikasikan Serpent memiliki margin keamanan yang tinggi bersama dengan MARS dan Twofish, berbeda dengan margin keamanan yang memadai dari RC6 dan Rijndael (saat ini AES). Dalam pemungutan suara terakhir, Serpent memiliki jumlah suara negatif paling sedikit di antara para finalis, tetapi secara keseluruhan menempati urutan kedua karena Rijndael memiliki suara yang jauh lebih positif, faktor penentu adalah bahwa Rijndael memungkinkan implementasi perangkat lunak yang jauh lebih efisien.

SHA jauh lebih baik daripada MDA, Whirpool, dll. Tetapi mereka menemukan cara untuk memecahkan SHA. Itu dia SHA-2 (HMAC). Lagi-lagi mereka menemukan cara untuk melanggarnya. Itu dia SHA-3 (Kakee atau yang seperti ini). Tetapi dalam TrueCrypt, VeraCrypt, CipherShed atau TrueCryptNext tidak ada SHA-3 .--------------------------- Sumber: Tempat apa pun di memori saya ;-)

AES-Twofish-Serpent + SHA-512 = ALGORITMA TERBAIK DAN HASH TO TrueCrypt DAN LAINNYA.

Gigabyte
sumber
-3

Setelah pencarian cepat saya akan mengatakan AES 256 bits.

Saya akan menghindari Triple AES dan Triple blowfish. Menjalankan algoritma yang sama beberapa kali dapat menghasilkan keamanan yang lebih sedikit daripada menggunakan algoritma asli satu kali.

sumber

gulbrandr
sumber
1
Tampaknya bisa dipercaya sebagai spekulasi, tetapi Triple DES tentu saja ditingkatkan oleh beberapa operan. (Kecuali jika perancang implementasi yang mendasari membuat kesalahan dan melakukan "EK2 (DK1 (EK1 (plaintext)))" "seperti yang dilakukan Simon Singh dalam tantangan cypher-nya: P)
RJFalconer
5
1) Sumber Anda adalah lelucon. Posting forum acak. 2) Tidak ada alasan untuk percaya bahwa enkripsi rangkap tiga dengan kunci yang berbeda akan melemahkan enkripsi.
CodesInChaos