Który algorytm TrueCrypt jest najbezpieczniejszy?

83

Jeśli wydajność nie ma znaczenia, który algorytm TrueCrypt jest najbezpieczniejszy w użyciu?

  • AES
  • Wąż
  • Potrójne DES
  • Dwie ryby
  • AES-Twofish
  • AES-Twofish-Serpent
  • Serpent-AES
  • Serpent-Twofish-AES
  • Twofish-Serpent
Amir Rezaei
źródło
13
Wszystkie są bezpieczne, w przeciwnym razie nie byłoby ich w produkcie. Ale używaj AES, ponieważ jest to standard.
Ian Boyd,
13
Powiedziałbym, że jeśli nie ma po tobie agencji rządowej, jakość twojego hasła jest bardziej prawdopodobna niż algorytm szyfrowania.
Kol.
3
To takie dziwne; Mógłbym przysiąc, że tytuł pyta, który jest najszybszy . ಠ_ ఠ
Synetech,

Odpowiedzi:

37

są to wyniki głosowania w ostatniej rundzie konkursu 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 , połączony za pomocą węża truecrypt , przeczytaj również ten).

z różnych powodów Rijndael stał się AES, który jest następcą DES (i 3DES).

i tylko dlatego, że pojawiła się dzisiaj na news.ycombinator.com, historia AES:

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

akira
źródło
62

Za pomocą TrueCrypt 7.0a najbezpieczniejszą metodą szyfrowania jest: Użyj kaskadowego szyfrowania AES-Twofish-Serpent z metodą XTS. Użyj algorytmu mieszającego Whirlpool. (SHA-512 jest tutaj bardzo blisko 2. miejsca ... jest dyskusyjny ... Skłaniam się ku Whirlpool, ponieważ SHA-512 już rozwija następcę z obawy, że jest oparty na starszym SHA-1, który ma został naruszony.) NAJWAŻNIEJSZE jest użycie BARDZO silnego hasła. 20 do ponad 30 znaków, wielkie litery, małe litery, cyfry, symbole. Użyj internetowego narzędzia do sprawdzania haseł firmy Microsoft do testu wytrzymałości. Możesz także użyć plików kluczy, aby dodatkowo zabezpieczyć swoje hasło.

Polecam AES-Twofish-Serpent nad Serpent-Twofish-AES, ponieważ chcesz, aby najbardziej zewnętrzne szyfrowanie (AES była pierwszą warstwą, którą muszą złamać) było jak najbardziej standardem w branży. Ten jest najbardziej wypróbowany i prawdziwy oraz najbardziej przetestowany ze wszystkich. Ponadto, jeśli ktoś zakłada, że ​​plik jest zaszyfrowany za pomocą AES, nie ma sposobu, aby zobaczyć, że jest on następnie szyfrowany za pomocą Twofish ... więc robią całą tę pracę, aby złamać AES, tylko po to, aby przekonać się, że Twofish stoi teraz na ich drodze. I znowu po Twofish wpadają na Węża, który jest największą bestią ze wszystkich (chociaż jest mniej używany / testowany niż AES, nadal ma znacznie wyższy margines bezpieczeństwa niż AES)

Jeśli korzystasz z plików kluczy, polecam, aby TrueCrypt utworzył dla ciebie 3 pliki kluczy. Utwórz jeden plik klucza dla każdego dostarczonego algorytmu skrótu. Możesz także dodać pliki .jpg i niektóre .mp3. Jednak upewniłem się, że każdy plik klucza jest tylko do odczytu.

Prawdopodobnie jest to jednak przesada.

Charles Hepburn II
źródło
2
Mówisz, że używasz 20-30 znaków, ale czy to nie przesada? Nawet 10 małych liter byłoby 26 ^ 10 = 141.167.095.653.376 kombinacji (4 miliony lat przy jednym czeku na sekundę). Z pewnością wystarczająco dobry?
Dan W
12
@Dan W: Z pewnością jeden czek na sekundę. Jednak chociaż metody mieszania różnią się znacznie wydajnością, sprzęt klasy konsumenckiej jest znacznie bliższy testowania miliardów haseł na sekundę. Twoje dziesięcioznakowe hasło zostanie złamane w ciągu kilku godzin.
Marcks Thomas
7
Twoje uzasadnienie dla porządku kaskadowego nie ma żadnego sensu. Osoba atakująca będzie musiała przedrzeć się przez każdą warstwę (każda za pomocą niezależnego klucza), niezależnie od tego, czy AES jest pierwszy, czy ostatni.
jjlin
15

Kaskadowe szyfry (AES-Twofish-Serpent itp.) Powinny być najbezpieczniejsze. Twoje dane są szyfrowane za pomocą jednego algorytmu, a następnie dane wyjściowe są szyfrowane za pomocą drugiego algorytmu, którego dane wyjściowe są szyfrowane za pomocą trzeciego algorytmu. Zgodnie z dokumentacją TrueCrypt , każdy algorytm wykorzystuje inny klucz, każdy pochodzący z hasła.

Jeśli w jednym (lub dwóch) z tych szyfrów zostanie wykryta podatność, Twoje dane powinny być nadal bezpieczne, ponieważ osoba atakująca nadal nie byłaby w stanie złamać pozostałych szyfrów.

Chris Acheson
źródło
8
Chciałbym dodać, że jeśli zostanie wybrany tylko jeden szyfr, Serpent prawdopodobnie będzie najbezpieczniejszy, ale będzie znacznie wolniejszy niż AES (zauważ, że rządowy wybór Advanced Encryption Standard wymagał wydajności, a nie tylko bezpieczeństwa).
bwDraco
5

Albo AES-Twofish-Serpent lub Serpent-Twofish-AES. Ale zwykłe AES jest wystarczające.

Fantius
źródło
5

Rijndael wygrał konkurs AES przede wszystkim dlatego, że jest najszybszy i najłatwiejszy do wdrożenia w sprzęcie, a nie dlatego, że jest najbardziej „bezpieczny”. Twofish i Serpent są zwykle uważane za bardziej bezpieczne, ale ponieważ wszystkie są niezwykle solidne, jest to bardzo subiektywne twierdzenie. Oczywiście szyfrowanie za pomocą wielu algorytmów będzie jeszcze bardziej „bezpieczne”, ale jeszcze bardziej zmniejszy szybkość.

Ponownie, wszystkie są solidne, więc radzę wybrać to, co jest najszybsze na twoim komputerze (zwykle AES).

BlueRaja - Danny Pflughoeft
źródło
1

Przeczytałem, że łączenie algorytmów razem może spowodować słabsze bezpieczeństwo ze względu na algorytm zastosowany jeden za drugim.

Co więcej, wydajność i szybkość będą dużym hitem, jeśli użyjesz jednego z połączonych szyfrów.

Polecam Rijndael (AES) lub Serpent, a jeśli chcesz, aby był bezpieczny: najważniejszym elementem jest klucz, więc utwórz bardzo długi klucz z co najmniej jednym z każdego zestawu wielkich i małych liter, cyfr i symboli.

funkotron
źródło
1

Chociaż istnieje kilka zagrożeń związanych z kaskadowaniem wielu szyfrów razem, Truecrypt wydaje się radzić sobie z nimi najlepiej, jak potrafi. Nie dodaje żadnych znanych tekstów jawnych do wyniku pierwszego szyfru i używa niezależnych kluczy dla każdego z nich, więc łącząc różne algorytmy razem, powinno to zwiększyć bezpieczeństwo.

Jednak oderwałbym się od 3DES. Po przeczytaniu strony Truecrypt zawierającej listę dostępnych algorytmów, nie ma nawet listy potrójnych DES, więc mogły go niedawno usunąć.

pipTheGeek
źródło
3
Dla osób zainteresowanych bardziej szczegółową dyskusją na temat „niebezpieczeństw” związanych z kaskadowaniem wielu szyfrów, sprawdź ten temat: crypto.stackexchange.com/questions/6486/…
Tiago,
Główną odpowiedzialnością 3DES byłoby to, że jest boleśnie powolny w porównaniu z bardziej nowoczesnymi szyframi, a w najlepszym razie oferuje podobne bezpieczeństwo. (3DES może zapewnić ci 112 bitów bezpieczeństwa z powodu spotkania w środkowych atakach, podczas gdy AES-128 obecnie zapewnia ci dość blisko 128 bitów bezpieczeństwa przy znacznie lepszej przepustowości.) Ponadto użycie 64-bitowych bloków DES jest odpowiedzialność z powodu ograniczonej dyfuzji możliwa przy mniejszych blokach.
CVn
0

Możliwe, że możesz użyć krótszego hasła, jeśli używasz plików kluczy, a jeśli nie martwisz się spadkami wydajności, użycie AES Twofish i Serpent spowoduje wiele bólu głowy dla osób próbujących dostać się do zaszyfrowanego materiału. Ale nie zapominaj również, że możesz również wziąć jeden zaszyfrowany plik i umieścić go wewnątrz większego zaszyfrowanego pliku. W ten sposób możesz „pozwolić” atakującym spojrzeć na zewnętrzny pojemnik i pozwolić im myśleć, że mają cały pojemnik. Kiedy w rzeczywistości nic nie mają. Możesz umieścić coś nieco podejrzanego w zewnętrznym pliku, ale nic, co w rzeczywistości spowodowałoby problemy. Myślę, że mnóstwo zdjęć pornograficznych ładnie by pasowało do tego rachunku, oto coś, co ktoś chciałby ukryć, i jako taki masz dobry powód. Zewnętrzny pojemnik nie ujawnia, że ​​pojemnik wewnętrzny nawet istnieje. Umieść swój faktyczny materiał w wewnętrznym pojemniku. Jeszcze lepiej jest uczynić zewnętrzny pojemnik „słabym” przy niewystarczającym haśle i bez pliku klucza. Niech napastnicy myślą, że złamali twoje szyfrowanie, wzruszają ramionami i mówią: „Cholera, jesteś dobry, zabiłeś mnie na dobre”.

Gene Abshire
źródło
0

Najlepsza publiczna kryptoanaliza dla każdego, przy założeniu 256-bitowych wariantów (większa złożoność czasu jest lepsza, ale wszelkiego rodzaju zastrzeżenia):

  • Rijndael: złożoność czasu 2 ^ 254,4 (ignorowanie powiązanych kluczowych ataków, które nie byłyby tutaj przedmiotem)
  • Wąż: 12 rund o złożoności czasowej 32, 2 ^ 228,8 (ale wymaga 2 ^ 118 znanych tekstów jawnych)
  • Twofish: 6 rund po 16 (ale wymaga 2 ^ 51 wybranych tekstów jawnych)
  • 3DES: 2 ^ 118 (z 2 ^ 32 znanymi tekstami jawnymi; uwaga, 3DES używa 168 bitów, więc brutalna siła to 2 ^ 168 zamiast 2 ^ 256)

Niewątpliwie 3DES jest najmniej bezpieczny, ale niekoniecznie sprawia, że ​​jest niepewny (z wyjątkiem zwykłej niepublikowanej obawy o backdoora). Chciałbym jednak tego uniknąć. Wszystkie pozostałe algorytmy są ogólnie uważane za bezpieczne. Ustalenie obecności celowo umieszczonego backdoora w którymkolwiek z nich prawdopodobnie wymaga wydania przez Snowden kolejnych dokumentów. I szczerze mówiąc, jeśli którykolwiek z trzech najlepszych miałby backdoora, byłoby to absolutnym objawieniem bomby. Biorąc pod uwagę jego osiągnięcia, osobiście cieszę się, że nadal są bezpieczne.

Bob Aman
źródło
3DES z trzema niezależnymi kluczami (168 bitów materiału klucza) jest podatny na atak typu spot-in-the-middle, co oznacza, że ​​skutecznym zabezpieczeniem jest klucz 112-bitowy. en.wikipedia.org/wiki/Triple_DES#Security
CVn
0

W 2001 r. National Institute of Standards and Technology (NIST) wprowadził Advanced Encryption Standard (AES) i umieścił na liście pięciu kandydatów (na wielu konferencjach kandydatów) z przeciwnymi algorytmami reprezentującymi ten standard. Szyfr Węża był jednym z nich, zdobywając wysoki poziom bezpieczeństwa, ale ostatecznie stał się drugim w kolejności do szyfru Rijndael. Choć miało to miejsce kilka lat temu, zapewnia fascynujące spojrzenie na szyfrowanie danych elektronicznych i kompromisy między wydajnością a bezpieczeństwem. Co ciekawe, wydajność wygrała!

W porównaniu z pozostałymi pięcioma kandydatami szyfr Węża miał najwyższy współczynnik bezpieczeństwa 3,56, co było dość dobre, biorąc pod uwagę fakt, że kolejnym najlepszym był szyfr Twofish ze współczynnikiem bezpieczeństwa 2,67. Rijndael-256 miał współczynnik bezpieczeństwa 1,56

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

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

skan
źródło
-1

Ponieważ nie są znane ataki na AES, które sprawiają, że wymuszanie brutalne jest możliwe (zob .: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks ), chyba że oczekujesz, że trzyliterowe agencje poświęcą całą swoją moc obliczeniową na następne tysiąclecia do złamania twojego napędu, AES to droga. Ostatnia wersja TrueCrypt oraz jego widelce obsługują AES-NI, które na moim Core i7 3770 zapewniają przepustowość ponad 2,5 GB / s.

Twoje połączenie z adresem IP reklamowanym przez tę domenę wykorzystuje szyfrowanie AES w większości przeglądarek (chociaż CloudFlare przechowuje klucz widziany przez twoją przeglądarkę oraz odszyfrowuje i ponownie szyfruje dane przed wysłaniem ich na serwery StackExchange, więc nie używaj swojego TrueCrypt / VeraCrypt / CipherShed hasło do Twojego hasła StackExchange, ponieważ jeśli wspomniane trzyliterowe agencje miałyby złamać twój dysk, przechwyciłyby twoje hasło w proxy CloudFlare i wypróbowałyby to na długo przed próbą nigdy nie działającej brutalnej siły).

William
źródło
-2

Zalecam używanie skrótu Whirlpool z tymi algorytmami, ponieważ jest on najsilniejszy.

W przypadku algorytmów szyfrowania należy użyć kaskady. Polecam AES, Twofish, Serpent. AES jest dość słaby (w porównaniu z innymi algorytmami, ale najszybszy) i jest standardem branżowym, dlatego będzie skuteczny jako warstwa zewnętrzna. Twofish jest jeszcze silniejszy, a po odszyfrowaniu warstwy AES pojawi się kolejna warstwa (Twofish), która jest jeszcze silniejsza. Wąż jest najsilniejszy i ta kaskada okazuje się skuteczna.

Kilka dodatkowych informacji: w przypadku haseł NSA ma komputer kwantowy, który może bardzo szybko odszyfrować. Nie ufałbym NSA (zaprojektowali AES). Poleciłbym minimum 40 liter, małe i wielkie litery, cyfry, symbole i bez słownika lub danych osobowych (daty urodzenia itp.), A możesz użyć plików kluczy. Jeśli jesteś narażony na ryzyko ze strony przeciwnika, skorzystaj z prawdopodobnych funkcji zaprzeczania wbudowanych w TrueCrypt.

UndefeatedWarrior786
źródło
Nie są znane znane ataki obliczeń kwantowych na AES. Komputery kwantowe nie są szybsze niż nasze komputery binarne. Są tylko inne.
Mark Lopez
NSA nie zaprojektowała AES. AES został zaprojektowany przez parę belgijskich kryptografów pod nazwą Rijndael, zrecenzowany (i mocno wkurzony) przez kryptografów na całym świecie podczas konkursu NIST AES i ujednolicony przez NIST jako AES po wygraniu konkursu na podstawie zestawu bardzo znanych kryteriów . Jeśli zamierzasz zaangażować się w haterię z folii cynowej, proszę przynajmniej dobrze przedstawić swoje fakty. Ponadto AES nie ma nic wspólnego z hasłami.
CVn
Jeśli chodzi o prawdopodobną zaprzeczalność, istnieje przekonujący argument, dlaczego to nie zadziała w praktyce w Linux FAQ na temat szyfrowania , sekcja 5.18 „Co z prawdopodobną zaprzeczeniem?” który również dotyczy tego w sekcji 5.2 „Czy LUKS jest niepewny? Wszyscy widzą, że zaszyfrowałem dane!”. W pewnym sensie jest to odmiana xkcd.com/538 (tak, uzasadnione użycie linku xkcd).
CVn
-2

AES

Rijndael (obecnie THE AES) jest najlepszym algorytmem.

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

Po pierwsze, nie jest powiedziane, że AES jest niezniszczalny, a jedynie, że żaden z obecnie znanych ataków nie obniża kosztów obliczeniowych do punktu, w którym jest to wykonalne. Obecny najlepszy atak na AES-128 wymaga 2 ^ 126,1 operacji, gdybyśmy mieli komputer (lub klaster) kilka milionów razy wydajniejszy niż jakikolwiek inny obecny komputer i mogliby działać na termodynamicznym limicie Landauera, zajęłoby to 234 petadżuli, aby zwiększyć przeciwdziałać każdej wartości klucza. To około połowa rocznego zużycia energii elektrycznej w Norwegii. Właściwie obliczenie rundy AES wymaga kilkakrotnie więcej energii.

Dwie ryby

Z Wikipedii :

Twofish to symetryczny szyfr klucza blokowego o rozmiarze 128 bitów i rozmiarach klucza do 256 bitów. Był to jeden z pięciu finalistów konkursu Advanced Encryption Standard, ale nie został wybrany do standaryzacji. Twofish jest związany z wcześniejszym szyfrem blokowym Blowfish.

Charakterystycznymi cechami Twofish są wykorzystanie wstępnie obliczonych S-boxów zależnych od klucza i stosunkowo złożony harmonogram kluczy. Połowa klucza n-bitowego jest używana jako rzeczywisty klucz szyfrowania, a druga połowa klucza n-bitowego służy do modyfikowania algorytmu szyfrowania (zależne od klucza S-boxy). Twofish pożycza niektóre elementy z innych wzorów; na przykład transformacja pseudo-Hadamarda (PHT) z rodziny szyfrów SAFER. Twofish ma strukturę Feistel jak DES. Twofish wykorzystuje również matrycę z maksymalną odległością.

Na większości platform oprogramowania Twofish był nieco wolniejszy niż Rijndael (wybrany algorytm Advanced Encryption Standard) dla kluczy 128-bitowych, ale jest nieco szybszy dla kluczy 256-bitowych.

Wąż

Z Wikipedii :

Serpent to symetryczny klucz blokowy, który był finalistą konkursu Advanced Encryption Standard (AES), gdzie zajął drugie miejsce w rankingu Rijndaela. Serpent został zaprojektowany przez Rossa Andersona, Eli Biham i Larsa Knudsena.

Podobnie jak inne zgłoszenia AES, Serpent ma rozmiar bloku 128 bitów i obsługuje rozmiar klucza 128, 192 lub 256 bitów. [2] Szyfr jest 32-rundową siecią substytucyjno-permutacyjną działającą na bloku czterech 32-bitowych słów. Każda runda stosuje jedną z ośmiu 4-bitowych do 4-bitowych S-boxów 32 razy równolegle. Serpent został zaprojektowany tak, aby wszystkie operacje mogły być wykonywane równolegle przy użyciu 32-bitowych wycinków. Maksymalizuje to paralelizm, ale pozwala także na wykorzystanie rozległej pracy kryptoanalizy wykonanej na DES.

Wąż przyjął konserwatywne podejście do bezpieczeństwa, wybierając duży margines bezpieczeństwa: projektanci uznali 16 rund za wystarczające przeciwko znanym typom ataków, ale określił 32 rundy jako ubezpieczenie od przyszłych odkryć w kryptoanalizie. Oficjalny raport NIST z zawodów AES sklasyfikował Serpent jako posiadający wysoki margines bezpieczeństwa wraz z MARS i Twofish, w przeciwieństwie do odpowiedniego marginesu bezpieczeństwa RC6 i Rijndael (obecnie AES). W końcowym głosowaniu Serpent miał najmniejszą liczbę negatywnych głosów wśród finalistów, ale ogólnie zajął drugie miejsce, ponieważ Rijndael miał znacznie więcej pozytywnych głosów, co decydowało o tym, że Rijndael pozwolił na znacznie bardziej wydajne wdrożenie oprogramowania.

SHA jest dużo lepszy niż MDA, Whirpool itp. Ale znaleźli sposób na złamanie SHA. Nadchodzi SHA-2 (HMAC). Znów znaleźli sposób, aby to złamać. Nadchodzi SHA-3 (Kakee lub coś takiego). Ale w TrueCrypt, VeraCrypt, CipherShed lub TrueCryptNext nie istnieją SHA-3 .--------------------------- Źródło: Dowolne miejsce w mojej pamięci ;-)

AES-Twofish-Serpent + SHA-512 = NAJLEPSZY ALGORYTM I HASH DO TrueCrypt I INNYCH.

Gigabajt
źródło
-3

Po szybkim przeszukaniu powiedziałbym AES 256 bits.

Unikałbym Triple AES i Triple Blowfish. Wielokrotne uruchomienie tego samego algorytmu może spowodować mniejsze bezpieczeństwo niż jednorazowe użycie oryginalnego algorytmu.

źródło

gulbrandr
źródło
1
Wydaje się wiarygodne jako spekulacja, ale Triple DES z pewnością jest wzmocniony przez wiele przejść. (Chyba że projektant implementacji bazowej popełnia błąd i nie robi „EK2 (DK1 (EK1 (tekst jawny)))”, jak Simon Singh w swoim wyzwaniu
szyfrowym
5
1) Twoje źródło to żart. Losowy post na forum. 2) Nie ma powodu sądzić, że potrójne szyfrowanie przy użyciu różnych kluczy osłabi szyfrowanie.
CodesInChaos