어떤 TrueCrypt 알고리즘이 가장 안전한가요?


83

성능이 중요하지 않은 경우 어떤 TrueCrypt 알고리즘이 가장 안전한가요?

  • AES
  • 트리플 DES
  • Twofish
  • AES- 두 물고기
  • AES- 두 물고기 뱀
  • 뱀 -AES
  • 독사 두 물고기 AES
  • 두 물고기 뱀

13
그들은 모두 안전합니다. 그렇지 않으면 제품에 들어 있지 않을 것입니다. 그러나 표준이기 때문에 AES를 사용하십시오.
Ian Boyd

13
정부 기관이 없으면 암호 품질이 암호화 알고리즘보다 문제가 될 가능성이 높습니다.
Col

3
너무 이상합니다. 나는 제목이 가장 빠르다 는 질문을 맹세 할 수 있었다 . ಠ_ ఠ
Synetech

답변:


37

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 , truecrypt serpent 를 통해 연결됨 ).

다양한 이유로 Rijndael은 AES가되었으며, 이는 DES (및 3DES)의 후속 제품입니다.

그리고 오늘 그것이 news.ycombinator.com에 나타났기 때문에 AES의 이야기 :

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


62

TrueCrypt 7.0a를 사용하는 가장 안전한 암호화 방법은 다음과 같습니다. XTS 방법과 함께 AES-Twofish-Serpent 캐스 케이 딩 암호화를 사용하십시오. 월풀 해시 알고리즘을 사용하십시오. (SHA-512는 여기에서 매우 가까운 2 위입니다 ... 논쟁의 여지가 있습니다 ... SHA-512는 이미 SHA-1에 기반을 둔 이전 SHA-1을 기반으로한다는 두려움 때문에 후임자가 개발 되었기 때문에 소용돌이에 기대어 있습니다. 가장 중요한 것은 매우 강력한 암호를 사용하는 것입니다. 20 ~ 30 개 이상의 문자, 대문자, 소문자, 숫자, 기호. 강도 테스트를 위해 Microsoft의 온라인 암호 검사기를 사용하십시오. 키 파일을 사용하여 비밀번호를 더욱 안전하게 보호 할 수도 있습니다.

Serpent-Twofish-AES보다 AES-Twofish-Serpent를 권장합니다. 가장 외부 암호화 (AES가 가장 먼저 필요한 계층이 될 것임)가 업계에서 가장 표준이되기를 원하기 때문입니다. 그 중 하나는 가장 많이 시도되고 진실이며 모든 테스트를 거쳤습니다. 또한 누군가 파일이 AES로 암호화되었다고 가정하면 그 파일이 Twofish로 암호화 된 것을 볼 수있는 방법이 없습니다. 따라서 AES를 중단하기 위해이 모든 작업을 수행하여 Twofish가 현재 방해를 받고 있음을 알 수 있습니다. 그리고 Twofish가 다시 뱀에 부딪친 다. 뱀은 모두 가장 큰 짐승이다 (AES보다 덜 사용 / 테스트되었지만 여전히 AES보다 훨씬 높은 보안 마진을 가짐)

키 파일을 사용하는 경우 TrueCrypt에서 3 개의 키 파일을 생성하는 것이 좋습니다. 그들이 제공하는 각각의 해시 알고리즘에 대해 하나의 키 파일을 작성하십시오. .jpg 및 .mp3 파일도 추가 할 수 있습니다. 그러나 각 키 파일을 읽기 전용으로 만들어야합니다.

그러나 이것은 아마도 과잉입니다.


2
당신은 20-30자를 사용한다고 말하지만 그렇게 과도하지 않습니까? 10 개의 소문자조차도 26 ^ 10 = 141,167,095,653,376 조합입니다 (초당 한 번 확인시 4 백만 년). 충분히 좋은 것 이상입니까?
Dan W

12
@ Dan W : 초당 한 번의 확인으로. 그러나 해싱 방법은 성능 이 많이 다르지만 소비자 급 하드웨어는 초당 수십억 개의 암호를 테스트하는 데 훨씬 더 가깝습니다. 10 자의 소문자 비밀번호는 몇 시간 안에 깨질 것입니다.
Marcks Thomas

7
계단식 주문에 대한 당신의 근거는 의미가 없습니다. 공격자는 AES가 첫 번째인지 마지막인지에 관계없이 각 계층 (각각 독립 키를 사용하는 계층)을 통과해야합니다.
jjlin

15

계단식 암호 (AES-Twofish-Serpent 등)가 가장 안전해야합니다. 데이터는 하나의 알고리즘으로 암호화 된 다음 그 결과는 두 번째 알고리즘으로 암호화되며 그 출력은 세 번째 알고리즘으로 암호화됩니다. TrueCrypt documentation 에 따르면 , 각 알고리즘은 각각 암호문에서 파생 된 다른 키를 사용합니다.

이러한 암호 중 하나 (또는 ​​두 개)에서 취약점이 발견되면 공격자가 여전히 나머지 암호를 해독 할 수 없으므로 데이터는 안전해야합니다.


8
하나의 암호 만 선택하면 Serpent가 가장 안전하지만 AES보다 상당히 느리다는 점을 덧붙이고 싶습니다 (정부가 고급 암호화 표준을 선택하는 것은 보안뿐만 아니라 성능과 관련이 있습니다).
bwDraco

5

AES-Twofish-Serpent 또는 Serpent-Twofish-AES입니다. 그러나 정기적 인 AES이면 충분합니다.


5

Rijndael은 가장 "안전한"것이 아니라 하드웨어에서 가장 빠르고 쉽게 구현할 수 있기 때문에 AES 경쟁에서 승리했습니다 . Twofish와 Serpent는 일반적으로 더 안전한 것으로 간주되지만 모두 매우 견고하기 때문에 매우 주관적인 주장입니다. 물론 여러 알고리즘으로 암호화하는 것이 훨씬 "보안 적" 이지만 속도는 더욱 떨어집니다.

다시 말하지만, 그들은 모두 견고하기 때문에 내 조언은 컴퓨터에서 가장 빠른 것 (보통 AES)과 함께하는 것입니다.


1

체인 알고리즘을 함께 사용하면 알고리즘이 서로 따라 가기 때문에 보안이 약해질 수 있다는 것을 읽었습니다.

또한 결합 된 암호 중 하나를 사용하면 효율성과 속도가 크게 향상됩니다.

Rijndael (AES) 또는 Serpent를 권장하며 보안을 원한다면 가장 중요한 요소는 키이므로 대문자와 소문자, 숫자 및 기호 문자 중 적어도 하나를 사용하여 매우 긴 키를 만드십시오.


1

여러 암호를 함께 계단식으로 만드는 데 약간의 위험이 있지만 Truecrypt는 최대한 암호를 처리하는 것으로 보입니다. 첫 번째 암호의 출력에 알려진 평문을 추가하지 않으며 서로 다른 알고리즘을 함께 연결하여 보안을 강화해야하므로 각각에 대해 독립 키를 사용합니다.

그래도 3DES를 피하려고합니다. 알고리즘의 선택 사항이 나열된 Truecrypt 페이지를 읽은 후에는 트리플 DES도 나열되지 않으므로 최근에 제거했을 수 있습니다.


3
계단식 다중 암호의 "위험"에 대한 자세한 설명을 원하는 사람은 다음 항목을 확인하십시오. crypto.stackexchange.com/questions/6486/…
Tiago

3DES의 주요 책임은 더 현대적인 암호에 비해 고통스럽고 속도가 느리지 만 최상의 보안을 제공한다는 것입니다. (중간 공격으로 인해 3DES는 112 비트의 보안을 제공 할 수있는 반면, AES-128은 현재 훨씬 더 나은 처리량으로 128 비트의 보안에 거의 근접합니다.) 또한 DES의 64 비트 블록 사용은 더 작은 블록으로 한정된 확산으로 인한 책임.
CVn

0

키 파일을 사용하는 경우 더 짧은 암호를 사용할 수 있으며 성능 저하에 대해 걱정하지 않으면 AES Twofish 및 Serpent를 사용하면 암호화 된 자료에 들어 가려는 사람들에게 많은 두통이 발생할 수 있습니다. 그러나 하나의 암호화 된 파일을 가져 와서 더 큰 암호화 된 파일 내부에 배치 할 수 있다는 것도 간과하지 마십시오. 이러한 방식으로 공격자가 외부 컨테이너를보고 "전체 컨테이너가 있다고 생각하게"할 수 있습니다. 사실, 그들은 전혀 아무것도 가지고 있지 않습니다. 외부 파일에 약간 그늘진 부분을 자유롭게 두십시오. 그러나 실제로 문제를 일으키는 것은 없습니다. 많은 포르노 사진 이이 법안에 잘 맞을 것이라고 생각합니다. 여기 누군가 누군가 숨기고 싶은 것이 있습니다. 그러므로 좋은 이유가 있습니다. 외부 컨테이너는 내부 컨테이너가 존재한다는 것을 나타내지 않습니다. 내부 용기 안에 실제 재료를 넣습니다. 암호가 충분하지 않고 키 파일이없는 외부 컨테이너를 "약하게"만드는 것이 더 좋습니다. 공격자들이 암호화를 위반했다고 생각하게하고 어깨를 으 "하며"아빠, 당신은 선의의 권리를 갖습니다. "라고 말합니다.


0

256 비트 변형을 가정 할 때 각각에 가장 적합한 공개 암호화 분석 (시간 복잡성이 높을수록 좋지만 모든 종류의 경고) :

  • Rijndael : 2 ^ 254.4 시간 복잡성 (여기서는 중요하지 않은 관련 주요 공격 무시)
  • 독사 : 12 라운드 32, 2 ^ 228.8 시간 복잡성 (그러나 알려진 2 ^ 118 개의 평문 필요)
  • Twofish : 6 라운드 16 강 (단, 2 ^ 51 선택된 평문 필요)
  • 3DES : 2 ^ 118 (알려진 2 ^ 32 개의 일반 텍스트 사용, 3DES는 168 비트를 사용하므로 무차별 대입은 2 ^ 256 대신 2 ^ 168 임)

의심 할 여지없이, 3DES는 가장 안전하지 않지만 반드시 안전하지 않은 것은 아닙니다 (일반적인 미공개 백도어 문제를 제외하고). 그러나 나는 그것을 피할 것입니다. 다른 모든 알고리즘은 일반적으로 안전한 것으로 간주됩니다. 의도적으로 백도어가 있는지 확인하려면 Snowden에서 더 많은 문서를 공개해야합니다. 그리고 정직하게, 상위 3 명 중 어느 하나가 백도어를 가지고 있다면, 그것은 절대적인 폭탄 계시 일 것입니다. 그의 기록을 감안할 때, 나는 그들이 여전히 안전하다고 생각하게되어 기쁘다.


3 개의 독립적 인 키 (168 비트 키 자료)가있는 3DES는 중간 보안 공격에 취약하므로 효과적인 보안은 112 비트 키의 보안입니다. en.wikipedia.org/wiki/Triple_DES#Security
CVn

0

2001 년 NIST (National Institute of Standards and Technology)는 AES (Advanced Encryption Standard)를 시작하고 표준을 나타내는 반대 알고리즘으로 5 개의 후보자를 선정했습니다 (여러 후보 회의를 통해). 뱀 암호는 그중 하나였으며 높은 보안 쿠두를 얻었지만 결국 Rijndael 암호의 준우승자가되었습니다. 이것은 몇 년 전에 일어 났지만 전자 데이터 암호화와 성능과 보안 간의 절충에 대한 흥미로운 정보를 제공합니다. 흥미롭게도 성능이 승리했습니다!

다른 5 개의 후보와 비교하여, 뱀 암호는 가장 높은 안전 계수 3.56을 가졌으며, 그 다음으로 가장 우수한 것이 안전 계수가 2.67 인 Twofish 암호라는 사실을 고려하면 상당히 좋았습니다. Rijndael-256의 안전 계수는 1.56입니다

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

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


-1

3 문자 대행사가 다음 컴퓨팅을 위해 전체 컴퓨팅 기능을 사용할 것으로 예상하지 않는 한 무차별 강제 실행이 가능한 AES에 대한 알려진 공격이 없으므로 ( https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks 참조 ) 밀레니엄은 드라이브를 크랙하기 위해 갈 길입니다. TrueCrypt의 마지막 버전과 포크는 AES-NI를 지원하며, Core i7 3770에서 2.5GB / 초 이상의 처리량을 제공합니다.

이 도메인에서 광고하는 IP 주소 연결은 대부분의 브라우저에서 AES 암호화를 사용합니다 (CloudFlare는 브라우저에서 볼 수있는 키를 보유하고 있지만 데이터를 StackExchange 서버로 보내기 전에 데이터를 해독하고 다시 암호화하므로 TrueCrypt를 사용하지 마십시오) / VeraCrypt / CipherShed StackExchange 비밀번호의 비밀번호 : 3 개의 대행사가 드라이브를 해독해야하는 경우 CloudFlare 프록시에서 비밀번호를 가로 채고 작업을 수행하기 전에 한 번도 시도하지 않기 때문에 비밀번호를 시도해야합니다.


-2

이러한 알고리즘과 함께 가장 강력한 Whirlpool 해시를 사용하는 것이 좋습니다.

암호화 알고리즘의 경우 캐스케이드를 사용해야합니다. AES, Twofish, Serpent를 추천합니다. AES는 다른 알고리즘과 비교할 때 매우 약하지만 가장 빠릅니다. 따라서 업계 표준이므로 외부 계층으로 효과적입니다. Twofish는 더욱 강력하며 AES 계층을 해독 한 후에는 더 강력한 또 다른 계층 (Twofish)이 있습니다. 뱀이 가장 강력하며이 폭포는 효과적입니다.

추가 정보 : 암호의 경우 NSA에는 매우 빠르게 해독 할 수있는 양자 컴퓨터가 있습니다. 나는 NSA를 신뢰하지 않을 것입니다 (그들은 AES를 설계했습니다). 나는 최소 40 글자, 소문자와 대문자, 숫자, 기호 및 사전 단어 나 개인 정보 (생년월일 등)를 권장하지 않으며 키 파일을 사용할 수 있습니다. 적의 위험에 처한 경우 TrueCrypt에 내장 된 그럴듯한 거부 기능을 사용하십시오.


AES에 대한 알려진 Quantum Computing 공격은 없습니다. 양자 컴퓨터는 이진 컴퓨터보다 빠르지 않습니다. 그들은 단지 다릅니다.
Mark Lopez

NSA는 AES를 설계하지 않았습니다. AES는 Rijndael이라는 이름으로 벨기에의 한 쌍의 암호 해독기에 의해 설계되었으며 NIST AES 경쟁 중에 전세계 암호 해독가들에 의해 검토 (그리고 심하게 타격을 입음)되었으며 매우 널리 알려진 기준에 따라 경쟁에서 승리 한 후 NIST에 의해 AES로 표준화되었습니다. . 주석 호일 부화장에 참여하려는 경우 최소한 사실을 파악하십시오. 또한 AES는 암호와 관련없습니다 .
CVn

그럴듯한 부인에 대해서는 Linux cryptsetup FAQ 섹션 5.18 " 실제 부인은 어떻습니까?" 에서 실제로 적용되지 않는 이유에 대한 설득력있는 주장이 있습니다. 섹션 5.2 "LUKS가 안전하지 않습니까? 모두 암호화 된 데이터를 볼 수 있습니다!" 어떤 의미에서 xkcd.com/538 의 변형입니다 ( , xkcd 링크의 합법적 사용).
CVn

-2

AES

Rijndael (현재 AES)이 최고의 알고리즘입니다.

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

첫째, AES가 깨지지 않는다고 말하지는 않으며, 현재 알려진 공격 중 어느 것도 계산 비용을 실현 가능한 지점으로 낮추는 것은 없습니다. AES-128에 대한 현재 최선의 공격은 2 ^ 126.1 작업을 수행하는데, 만약 우리가 현재 컴퓨터보다 수백만 배 더 효율적인 컴퓨터 (또는 클러스터)를 가지고 있고 열역학적 Landauer 한계에서 작동 할 수 있다면, 모든 키 값을 통해 카운터. 노르웨이의 연간 전기 소비량의 약 절반입니다. 실제로 AES 라운드 계산에는 많은 양의 에너지가 필요합니다.

Twofish

에서 위키 백과 :

Twofish는 블록 크기가 128 비트이고 키 크기가 최대 256 비트 인 대칭 키 블록 암호입니다. Advanced Encryption Standard 콘테스트의 5 개 최종 후보 중 하나 였지만 표준화 대상으로 선정되지 않았습니다. Twofish는 이전 블록 암호 복어와 관련이 있습니다.

Twofish의 특징은 미리 계산 된 키 종속 S- 박스와 비교적 복잡한 키 스케줄을 사용한다는 것입니다. n- 비트 키의 절반은 실제 암호화 키로 사용되며 n- 비트 키의 다른 절반은 암호화 알고리즘 (키 종속 S- 박스)을 수정하는 데 사용됩니다. Twofish는 다른 디자인에서 일부 요소를 빌립니다. 예를 들어, SAFER 암호 군으로부터의 의사-하마드 변환 (PHT). Twofish는 DES와 같은 Feistel 구조를 가지고 있습니다. Twofish는 또한 최대 거리 분리 가능 매트릭스를 사용합니다.

대부분의 소프트웨어 플랫폼에서 Twofish는 128 비트 키의 Rijndael (Advanced Encryption Standard에서 선택한 알고리즘)보다 약간 느리지 만 256 비트 키의 경우 다소 빠릅니다.

에서 위키 백과 :

Serpent는 AES (Advanced Encryption Standard) 공모전의 최종 후보였던 대칭 키 블록 암호로 Rijndael에서 2 위를 차지했습니다. Serpent는 Ross Anderson, Eli Biham 및 Lars Knudsen이 디자인했습니다.

다른 AES 제출과 마찬가지로 Serpent는 128 비트의 블록 크기를 가지며 128, 192 또는 256 비트의 키 크기를 지원합니다. [2] 암호는 4 개의 32 비트 워드 블록에서 작동하는 32 라운드 치환 치환 네트워크입니다. 각 라운드는 8 개의 4 비트에서 4 비트 S- 박스 중 하나를 32 회 병렬로 적용합니다. Serpent는 32 비트 슬라이스를 사용하여 모든 작업을 병렬로 실행할 수 있도록 설계되었습니다. 이를 통해 병렬 처리를 최대화 할 수 있지만 DES에서 수행되는 광범위한 암호화 분석 작업을 사용할 수 있습니다.

서펜트는 보안에 대한 보수적 인 접근 방식을 취해 큰 보안 마진을 선택했습니다. 설계자는 알려진 유형의 공격에 대해 16 라운드는 충분하다고 생각했지만 암호화 분석에서 향후 발견에 대한 보험으로 32 라운드를 지정했습니다. AES 경쟁에 관한 공식 NIST 보고서는 RC6 및 Rijndael (현재 AES)의 적절한 보안 마진과 대조적으로 Serpent는 MARS 및 Twofish와 함께 높은 보안 마진을 가진 것으로 분류했습니다. 최종 투표에서 서펜트는 결선 진출 자 중에서 부정적인 투표 수가 가장 적었지만 Rijndael이 실질적으로 더 많은 투표를했기 때문에 전반적으로 2 위를 차지했습니다.

SHA는 MDA, Whirpool 등보다 훨씬 우수하지만 SHA를 깨는 방법을 찾았습니다. SHA-2 (HMAC)가 있습니다. 다시 그들은 그것을 깨는 방법을 찾았습니다. SHA-3 (Kakee 또는 이와 유사한 것)이 있습니다. 그러나 TrueCrypt, VeraCrypt, CipherShed 또는 TrueCryptNext에는 SHA-3이 없습니다 .--------------------------- 출처 : 내 기억의 어느 곳 ;-)

AES-Twofish-Serpent + SHA-512 = 최고의 알고리즘 및 TrueCrypt 및 기타 사용자에게 해시.


-3

빠른 검색 후 말할 것 AES 256 bits입니다.

나는 트리플 AES와 트리플 복어를 피할 것입니다. 동일한 알고리즘을 여러 번 실행하면 원래 알고리즘을 한 번 사용하는 것보다 보안 성이 떨어질 수 있습니다.

출처


1
추측처럼 믿을 수 있지만 트리플 DES는 분명히 다중 패스로 향상됩니다. (기본이되는 구현의 디자이너는 실수를하게하고하지 않는 한 "EK2 (DK1 (EK1 (일반 텍스트)))"사이먼 싱은 자신의 사이퍼 도전에서와 같이 P)
RJFalconer

5
1) 당신의 출처는 농담입니다. 무작위 포럼 게시물. 2) 키가 다른 3 중 암호화가 암호화를 약화시킬 이유가 없습니다 .
코드 InChaos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.