70 likes | 195 Views
HASH CRC. 곽인범. 암호학적 해쉬함수. 압축 (Compression) : 출력길이가 작아야 함 효율성 (Efficiency) : 어떤 x 에 대해서도 h(x) 를 계산하기가 쉬워야 함 단방향 (One-way) : 주어진 y 값에 대해 h(x)=y 를 만족하는 x 값을 찾는 것이 어려워야 함 약한 충돌 방지 (Weak collision resistance) : 주어진 x 와 h(x) 에 대해 h(y) = h(x) 를 만족하는 y x 를 찾기 어려워야 함
E N D
HASHCRC 곽인범
암호학적 해쉬함수 • 압축 (Compression) : 출력길이가 작아야 함 • 효율성 (Efficiency) : 어떤 x에 대해서도 h(x) 를 계산하기가 쉬워야 함 • 단방향(One-way) : 주어진 y값에 대해 h(x)=y를 만족하는 x 값을 찾는 것이 어려워야 함 • 약한 충돌 방지 (Weak collision resistance) : 주어진 x와 h(x)에 대해 h(y) = h(x)를 만족하는 y x 를 찾기 어려워야 함 • 강한 충돌 방지 (Strong collision resistance) : h(x) = h(y) 를 만족하면서 x y 인 어떤 x와 y도 찾기 어려워야 함 • 많은 충돌들이 존재하지만, 찾기가 어려워함 함
CRC란? • 시리얼 전송에서 데이타의 신뢰성을 검증하기 위한 에러 검출 방법. • MD5보다는 낮은 연산을 하므로 빠름. • 그리 중요하지 않은 정보에 대한 간단한 변조유무 확인. • k값에 따라서 16비트(CRC-16)와32비트(CRC-32)가 존재.
CRC 기본원리 • n비트 정보를 k비트만큼 자리를 올림. • 이를 미리 약속한 k비트의 키값으로 나눔. • 나머지는 r비트가 남게됨. • 송신측에서는k비트 자리에 올린것에r비트 나머지 더한 n+r비트의 데이터를 보냄. • 수신측에서는n+r비트의 데이터를 키값으로 나누어보아 0이됨을 확인.
CRC 다항식 표현방법. • 2진 다항식 표시- 비트열101 -> 다항식 x2+ 1 • 몫,나머지,전송데이터- 몫: Q(x)- 나머지: R(x)- 전송 데이터: T(x)
CRC 계산방법 • P(x)를 k 비트 만큼 자리를 올리고 G(x)로 나누면 - xkP(x) = Q(x)*G(x) +/- R(x) • 위 식에서 xk P(x) + R(x) 는 Q(x)*G(x) 와 같으므로 xkP(x) + R(x) 는 G(x)의 배수. • 따라서, 전송 T(x) = xk P(x) + R(x)