2013-01-16 3 views
12

SHA-224, SHA-256, SHA-384 및 SHA-512는 모두 SHA-2 hash function family의 일부입니다. 그러나 이제는 새로운 SHA-3 해시 알고리즘도 있습니다.해시 알고리즘 SHA-2와 SHA-3의 차이점은 무엇입니까?

SHA-2와 SHA-3의 차이점을 말씀해 주시겠습니까? SHA-3을 사용해야하는시기와 이유는 무엇입니까? SHA-3에는 실제로 해시 알고리즘이 보안되어 있습니까?

+0

@xuinkrbin. 그게이 포럼에서 화제가 아니기 때문에 수치 스럽습니다.이 질문은 crypto.stackexchange에서 더 나을 것입니다. 이제 우리는 하나의 대답을 가지며 추가 답변을 추가 할 수 없습니다. 따라서 Ilmari의 대답이 나쁘지 않은 경우에도 이것이 Google에서 유용한 히트가 될 방법은 없습니다. 그러나 나는 다소 모욕적 인 말을 제거했습니다. –

+0

나에게 유용했다. :-) –

답변

18

SHA-3 Keccak (원래 이름은의 승자로 선택되기 전의 원래 이름)은 SHA-1 및 SHA-2와는 전혀 관계가없는 완전히 새로운 해시 알고리즘입니다.

실제로 NIST가 다른 SHA-3 대회 결선 참가자보다 Keccak을 선택한 이유 중 하나는 기존 SHA-1/2 알고리즘과의 차이점이었습니다. 이러한 차이점으로 인해 기존의 SHA-2 알고리즘 (NIST에서 여전히 안전하고 권장되는 것으로 간주 됨)을 보완 할뿐만 아니라 향후 암호 해독법이 SHA- 2 및 SHA-3.

일부 배경에서 SHA-3 해시 함수 경쟁은 원래 SHA-1의 보안에 새로운 암호 해독 공격이 제기 된 2007 년 NIST에서 처음 발표되었습니다. SHA-1에 대한 공격은 그 당시에는 이론적 인 관심 이었지만 SHA-1에 대한 실질적인 충돌 발견 공격을 허용하고 SHA-2에 대해서도 동일한 기술이 적용될 수 있다는 우려가있었습니다. SHA-1과 유사한 디자인을 공유합니다. 따라서 NIST는 SHA-2라는 후임자를 선발하기 위해 SHA-3이라는 이름의 대회를 개최하기로 결정했다.

그러나 SHA-1 was finally demonstrated in 2017에 대한 실제 충돌 공격의 경우 SHA-2에 대한 두려운 공격이 실현되지 않았습니다. 요즘은 일반적으로 SHA-2를 깨는 것이 10 년 전과 같이 쉽지 않으므로 SHA-2의 모든 변종은 당분간 안전한 것으로 간주됩니다. 그러나 NIST가 2012 년에 SHA-3가 선택 될 것이라고 약속했기 때문에 그리고 많은 사람들이 경쟁을위한 새로운 해시 함수를 제출하고 평가하는 데 많은 시간과 노력을 쏟았 기 때문에, 그리고 정말 멋진 디자인이 있었기 때문에 결승 진출 자 중 결국 우승자로 선택하지 않는 것은 부끄러운 것처럼 보였습니다. 따라서 NIST는 SHA-3으로 Keccak을 선택하고 SHA-2 해시 함수에 대체 (후속 제품이 아님)으로 권장하기로 결정했습니다.

안전하고 표준화 된 해시 기능을 원한다면 SHA-2 또는 SHA-3 중 하나를 선택할 수 있습니다. 이 실제로 편집증이라고 느끼는 경우, 해시 함수 중 하나가 손상 되더라도 둘 다 사용하여 암호화 시스템을 설계하여 보안이 유지되도록 할 수 있습니다.

+5

해시 함수를 모두 사용하면 수행중인 작업을 모르는 경우 약간 위험 할 수 있습니다. 그것은 당신이 물론 달성하기를 원하는 것에 달려 있습니다. –

관련 문제