본문으로 이동

SHA-3

위키백과, 우리 모두의 백과사전.
(Keccak에서 넘어옴)

SHA
개념
해시 함수 · SHA · DSA
주요 개념
SHA-0 · SHA-1 · SHA-2 · SHA-3

SHA-3SHA-2를 대체하기 위해 미국 국립표준기술연구소가 2015년 8월에 발표한 암호화 해시 함수의 이름이다. 이 함수는 SHA-1SHA-2를 대체하기 위해 기획되었다. 기존의 해시 함수와는 다르게, 미국 국립표준기술연구소에서 직접 함수를 디자인하는 것이 아니라, 공개적인 방식을 통해 후보를 모집한 다음 함수 안전성을 분석하여 몇 차례에 걸쳐 후보를 걸러내는 방식으로 진행되었다.

2012년 10월 1일에 귀도 베르토니조앤 데먼, 질 반 아쉐, 마이클 피터스가 설계한 Keccak이 SHA-3의 해시 알고리즘으로 선정되었다.[1]

2015년 8월 5일, 미국 국립표준기술연구소가 SHA-3 암호화 해시 함수 표준을 발표하였다.[2]

SHA-3 예제

[편집]

미국 국립표준기술연구소가 게시한 예제 해시 값[3]

SHA3-224("")
6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7
SHA3-256("")
a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a
SHA3-384("")
0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004
SHA3-512("")
a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26
SHAKE128("", 256)
7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26
SHAKE256("", 512)
46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762fd75dc4ddd8c0f200cb05019d67b592f6fc821c49479ab48640292eacb3b7c4be

1비트를 변경하면 출력값의 각 비트가 50% 확률로 변경되어, 쇄도 효과 때문에 상당한 변화가 일어난다.:

SHAKE128("The quick brown fox jumps over the lazy dog", 256)
f4202e3c5852f9182a0430fd8144f0a74b95e7417ecae17db0f8cfeed0e3e66e
SHAKE128("The quick brown fox jumps over the lazy dof", 256)
853f4538be0db9621a6cea659a06c1107b1f83f02b13d18297bd39d7411cf10c

달라진 비트는 총 126개이며, 이는 전체 비트 수 256개의 약 49.22%이다.

각주

[편집]

외부 링크

[편집]