해시로서의 Skein의 보안은 Threefish의 블록 암호로서의 보안을 암시합니까?

StackOverflow https://stackoverflow.com/questions/827989

문제

그만큼 Skein Hash SHA-3에 제안 된 인상적인 속도 결과를 자랑하는 몇 가지 인상적인 속도 결과를 자랑합니다.이 속도는 심장의 Threefish Block Cipher에 적용 할 수 있다고 생각합니다. 그러나 Skein이 SHA-3에 대한 승인을 받으면 Threefish도 안전하다고 간주 될 것입니까? 즉, Threefish의 취약성이 SHA-3의 취약성을 암시할까요? (따라서 알려진 문제의 부족과 SHA-3에 대한 일반적인 신뢰는 3 피쉬에 대해 동일하다는 것을 암시합니다).

도움이 되었습니까?

해결책

아니요. Skein의 보안은 Threefish의 안보를 암시하지 않습니다. 누군가가 3 피쉬에서 약점을 발견하면 Skein도 안전하지 않다는 것을 의미하지는 않습니다.

그러나 문제는 다른 해시 함수에도 적용됩니다. Skein은 약간의 수정으로 Davis-Meyer 구조를 사용합니다. MD5, SHA1 및 기타 여러 해시 기능 도이 Davis-Meyer 구성을 사용하고 있으므로 원칙적으로 블록 암호를 기반으로합니다. MD5 또는 SHA1의 경우 블록 암호는 이름이 없으며 이러한 구성이 얼마나 적합한 지에 대한 많은 연구를 알지 못합니다.

좋은 블록 암호와 좋은 해시 기능에 대한 요구 사항은 다릅니다. 다소 단순화 된 경우, e가 블록 암호이고 두 개의 키 K, K '와 두 개의 메시지 M, M'을 찾는 것은 불가능한 경우케이(m) xor m = e케이'(M ') XOR M'그런 다음 E는 Davis-Meyer를 사용하여 해시 함수를 구성하는 데 적합합니다. 그러나 블록 암호로 안전하려면 다른 속성이 필요합니다. e는 선택한 복용 텍스트 공격, 선택된 플레인 텍스트 공격 등에 저항해야합니다.

또한 E가 좋은 블록 암호라면 좋은 해시 기능을 제공한다는 의미는 아닙니다. Microsoft는 Xbox에서 사용한 해시와 함께 어려운 방법을 배워야했습니다. 이 해시는 블록 암호에게는 중요하지 않은 약점을 가진 블록 암호 차를 기반으로했지만 해시 기능에 사용될 때 치명적이었습니다.

공정하게 말하면, 좋은 블록 암호와 해시 기능에 적합한 관계가 있습니다. 예를 들어, 두 경우 모두 차등 공격을 피해야합니다. 따라서 좋은 블록 암호를 구축하는 데 사용되는 일부 설계 방법을 사용하여 우수한 해시 기능을 구성 할 수 있습니다.

SHA-3에 대한 제안 중 일부는 AES를 기반으로합니다. 지금까지 AES가 이미 표준이기 때문에 AES 기반 해시 함수를 선호하는 것에 대한 지원을 많이 보지 못했습니다. 이 해시 함수는 다른 SHA-3 제안과 마찬가지로 분석됩니다.

다른 팁

내 이전 답변을 무시하십시오. 나는 Skein과 Threefish 사이의 관계를 오해했다. 나는 여전히 Skein이 승인을받는 것이 절대적으로 Threefish가 일반적으로 안전하다는 것을 증명한다고 생각하지 않습니다 (특정 방식으로 사용될 때만 Threefish가 안전 할 수 있음). 그러나 그것은 징후 일 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top