본문 바로가기

정처기지식, 소프트웨어 공학

CryptoGraphy. 단방향 암호화 방식에 대해서

단방향 암호화는 다른 말로해쉬(Hash)라고도 한다. 해쉬라는 것은 저며버린다는 말로 한번 해쉬해버리면 다시 되돌릴 수 없다.

earth라는 단어에 sha256알고리즘을 적용하면 알수없는 오른쪽과 같은 문자열로 변함. 이 문자열을 earcth로 되돌리는 것은 불가능함.

 

해쉬를 단방향 암호화 방식에서 사용하는 이유는 여렇 있지만 가장 큰 이유는 무결성(Integrity)때문이다. 어떠한 정보가 원본으로부터 훼손, 조작되었는지를 파악하는데 해쉬만큼 유용한 수단은 없습니다.

(지금 내생각은 이렇다. 기밀성이 아닌 무결성만을 추구한다면 암호화만 생각하고 복호화는 생각할 필요가 없다. 아래는 MySQL프로그램을 다운받는 페이지이고 여기에는 MD5 해쉬알고리즘으로 암호화된 문자열이 적혀 있다. 만약 내가 어떤 받고자하는 MySQL프로그램이 조작된 프로그램이 아닌 원본의 그 프로그램이라면 이 프로그램을 다운받아서 그 프로그램(파일)을 대상으로 MD5해쉬 알고리즘으로 암호화된 문자열은 사이트에 나와 있는 그 문자열과 일치할 것이다(아직 어떻게 파일을 대상으로 알고리즘을 적용한다는 것인지 짐작도 가지 않는다). 이렇게 내가 받은 파일이 진짜 원본의 아무조작이 가해지지 않은 파일, 무결성이 충족된 파일인지를 단방향 암호화 방식, 그 중 해쉬알고리즘을 사용해서 확인 할 수 있는 것이다.)

 

아래는 해쉬알고리즘에 해당하는 여러알고리즘들이다.