Cryptography

암호화 및 해쉬

박줴민 2021. 9. 1. 12:07

암호화 와 복호화

 

암호화는 누구든지 읽어볼 수 없도록 알고리즘을 이용하여 정보를 전달하는 과정입니다. 

이에 반대로 복호화는 암호화된 암호문을 다시 읽을 수 있도록 만들어 주는 것 입니다.

 

단방향 양방향

 

암호화방식에는 단방향 암호화 방식과 양방향 암호화 방식으로 나뉘어집니다. 
단방향 암호화 기법으로 평문을 암호화된 문장으로 만들어주는 기능을 하고
양방향 암호화 기법은 단방향암호화와 같이 평문을 암호화된 문장으로 만들어주는 기능을 하고

암호화된 암호문을다시 평문으로 만드는 복호화기능을 가지고 있습니다.

단방향

 

단방향암호화는 다른말로 해쉬라고도 할 수 있습니다.

123456을 해쉬알고리즘을 사용하면 알수없는 값으로 암호화가 됩니다. 
다시 이 알수없는 값으로 123456으로 되돌리기는 불가능합니다.

해쉬를 사용하는 이유

 

해쉬는 같은 입력값을 받게되면 같은 해쉬값을 리턴해주기 때문에 데이터 송수신자간 이 해쉬값을 사용하여 이 데이터가 변조되지 않았는지 깨지지는 않았는지 등의 무결성체크를 하게 됩니다. 그러기 때문에 인증할 때 많이 사용이 됩니다.
에를들어 파일을 제공하는 사이트가 그파일의 해쉬값을 제공하고 파일을 내려받은 사용자는 해시함수를
통해 해시값을 비교하여 정상적으로 받은건지 비정상적으로 받은건지 예측을 할 수 있습니다.

 

해쉬의 종류

 

 

양방향

 

양방향암호화는 크게 대칭키 암호화방식과 비대칭키 암호화 방식으로 나뉘어집니다.

 

 

 

 

대칭키

 

암호화와 복호화에 사용하는 키가 같은 암호화 방식을 얘기하고 
비대칭키는 서로 사용하는 키가 다르다고 생각하면 되겠습니다. 
대칭키는 위에서 설명한대로 키가 동일하기 때문에 키를 아는 사람만 문서를 읽을 수 있게 됩니다. 
비대칭키암호화 방식보단 속도가 빠르다는 장점은 있지만 키를 교환하는 도중 보안에 문제가 많이 생기고
관리를 해야하는 키가 많아지기 때문에 관리가 어려워진다는 단점이있습니다.

 


대칭키의 대표적 알고리즘

 

 

비대칭키

 

다른말로 공개키암호화라고도 불립니다. 대칭키의 단점인 키교환 문제와 관리를 해결하기위해
만들어졌습니다.  비대칭키는 개인키로 암호화 한 정보는 그 쌍이 되는 공개키로만 복호화가 가능하고, 
공개키로 암호화한 정보는 그 쌍이 되는 개인키로만 복호화가 가능합니다.
대칭키에비핸 속도가 느리지만 기밀성/인증/부인방지 기능을 제공하고 있습니다.

 

비대칭키의 대표적 알고리즘

 

 

 

정리하자면 데이터원본을 확일할때 주로 hash를 사용하고 파일을 암호화하거나 개인정보유지를 할 떄 대칭키,
전자서명, 전송부인방지를 사용할땐 비대칭키암호화를 사용합니다. 근데 요즘은 이러한 key방식도 도난당하거나
잃어버리면 아무 소용없기 때문에 토큰기반의 key와 OTP등을 추가해서 보안을 강화하고 있습니다.