해쉬함수 테스트

해쉬함수는 임의의 길이의 입력메시지에 대하여 고정된 길이의 특징값(해쉬값)을 계산해내는 함수이다. 키가 사용되지 않으므로 입력메시지가 같으면 동일한 해쉬값을 출력한다. 해쉬함수는 다음과 같은 특성을 만족시켜야 한다.

  1. 일방향성: 입력메시지로부터 해쉬값을 계산하는 것은 쉽지만 출력 해쉬값으로부터 그 해쉬값을 출력하는 입력메시지를 찾는 것은 어렵다.
  2. 충돌회피성: 같은 해쉬값을 출력하는 두개의 입력메시지를 찾아내는 것은 어렵다.


해쉬알고리즘 선택
메시지
해쉬값
 

메시지인증코드 HMAC 테스트

메시지인증코드는 동일한 키를 공유하고 있는 송신자와 수신자가 전송하는 메시지의 인증성을 상대방에게 확인시키기 위해서 계산하는 값이다. 전송하는 메시지와 공유한 키를 입력으로 하여 해쉬값을 계산하는 것이다.


HMAC알고리즘 선택
메시지
공유키
메시지인증코드값
     

패스워드기반 키생성함수 PBKDF2() 테스트

사용자가 입력하는 패스워드를 직접 비밀키로 사용하는 것은 고정된 키를 사용하게 되어 사전공격 등의 방법이 가능하므로 보안성에 문제가 많다. 이를 해결하기 위하여 패스워드 기반 키생성함수(PBKDF2)를 이용하는데 (1)사용자 입력의 패스워드, (2)랜덤한 salt값, (3)반복횟수(iteration)값을 이용하여 난수처럼 보이는 암호키를 생성하여 사용한다. salt값과 반복횟수값은 공격자의 사전공격을 어렵게 하는 중요한 요소이다.


랜덤 Salt
반복횟수(Iteration)
패스워드
결과