본문 바로가기

Dreamhack/Cryptography

[Cryptography] STAGE 5

STAGE 5

 

해시

 

 

 

해시 함수 (Hash Function)

- 임의 크기의 데이터를 입력 받아 고정된 크기의 데이터를 반환하는 함수

- 해시 값 (Hash Value): 해시 함수의 반환 값

 

 

암호학적 해시 함수 (Cryptographic Hash Function)

- 해시 함수 중에서 특정 성질을 만족하는 함수

1) 제 1 역상 저항성 (Preimage Resistance)

2) 제 2 역상 저항성 (Second Preimage Resistance)

3) 충돌 저항성 (Collision Resistance)

4) 눈사태 효과 (Avanlanche Effect)

 

 

일방향함수 (One-way Function)

- 임의의 인자에 대한 함수 값은 쉽게 계산할 수 있지만, 함수 값으로부터 함수의 인자를 알아내기 어려운 함수

 

 

생일 역설 (Birthday Paradox)

- 암호학적 해시 함수의 충돌 저항성과 관련된 이론 중 하나

- 아무리 정교한 해시 함수라도 공역의 크기가 작으면 해시 함수는 충돌 저항성을 만족하기가 어려움

 

 

암호학적 해시 함수의 사용

- 무결성

   - 수신한 데이터가 원본과 같을 때 데이터를 무결하다고 함

   - 데이터가 무결하게 송수신되는 성질

- 암호학적 해시 함수는 충돌 저항성을 만족하므로 임의 데이터의 해시 값은 그 데이터의 고윳값

- 송신자가 데이터와 함께 해시 값 전송

  → 수신자는 받은 데이터로부터 해시 값 생성

  → 송신자가 보낸 해시 값과 비교하여 데이터 변조 여부 확인

- 민감한 데이터 보관 시 사용

 

 

해시 함수의 종류

- MD5

- SHA256

 

 

MD5

- Ronald Lorin Rivest가 1991년 만들어낸 해시 함수

- 임의 입력으로부터 128비트의 값을 생성하는 함수

- 임의 길이의 입력을 블록 암호와 비슷하게 512비트 단위로 쪼갠 후 연산을 거쳐 값 생성

 

 

SHA256

- 미국 표준 기술 연구소에서 만들어낸 해시 함수

- 256비트의 출력을 내는 함수

- MD5에 비해 길이가 2배로 늘어나 충돌 저항성 크게 증가

 

 

MAC (Message Autentication Code)

- 데이터와 함께 보내는 추가적인 정보

- MAC을 통해 데이터의 무결성을 보장할 수 있음

- 현재 통신 중인 상대방이 위장한 공격자가 아니라는 사실을 알아낼 수 있음

'Dreamhack > Cryptography' 카테고리의 다른 글

[Cryptography] STAGE 6  (0) 2022.08.19
[Cryptography] STAGE 4  (0) 2022.08.05
[Cryptography] STAGE 3  (0) 2022.08.04
[Cryptography] STAGE 2  (0) 2022.07.26
[Cryptography] STAGE 1  (0) 2022.07.25