TIL. 양방향 vs 단방향 해시함수

jeong_hyeon·2022년 3월 22일
2

TIL

목록 보기
17/22

양방향 암호화는 암호화된 데이터에 대한 복호화가 가능한 암호화 방식을 말한다.

대표적으로 대칭키, 공개키 암호화 방식이 양방향 암호화 에속한다.

단방향 암호화는 양방향 암호화와는 다르게 암호화 된 데이터에 대한 복호화가 불가능한 암호화 방식을 말한다.

대표적으로 해시(Hash)나 메시지 인증코드 (MAC)이 있다,

단방향 해시함수 (Hash)

단방향 해시함수는 임의의 길이 메시지로부터 고정길이의 해시값을 계산

단방향 암호화기 때문에 해시값으로 부터 메시지를 역산할수는 없으며 이것을 일방향성을 갖는다고 한다.

또한, 메시지가 다르면 해시값도 다르다는 특징을 가진다.

해당 특징으로 인해 해시함수의 무결성을 확인하기 위한 방안으로 사용되기도 한다.

메시지가 1bit 이라도 변화 했다면 해시값은 높은 확률로 다른값이어야 하기 때문이다

만약 2개의 다른메시지가 같은 해시값을 갖는 다면 이건 충돌(Collison)이라고 한다.

메시지 인증코드(MAC, Massage Authenticaion Code)

메시지 인증 코드는 임의 길이의 메시지와 송수신 자가 공유하는 키를 기초로 고정 길이의 출력값을 계산하는 함수

출력값을 MAC이라고 부른다.

메시지 인증코드는 무결성을 확인(보낸 사람으로부터 메시지가 변조되지 않았는지)하고 메시지에 대한 인증(보낸사람이 알맞는 사람인지)을 할때 사용된다.

위의 그림을보면 메시지 와 키를 이용해서 MAC값을 구하고

송신자는 메시지와 MAC을 같이 보내게 된다.

수신자는 받은 메시지와 본인이 가지고 있는 키를 사용해서 MAC값을 계산해보고 받은 MAC값과 일치하는지 확인하는 방식으로 무결성과 인증을 확인한다.

2개의 댓글

comment-user-thumbnail
2022년 3월 22일

해쉬브라운 먹고싶네여

1개의 답글