본문 바로가기

DEV/etc...

[DEV] 암호화 - 단방향 그리고 양방향

블로그를 운영하면서 가장 조회수가 높은 글이 하나 있는데...

React 환경에서 sha256 해시 생성에 대한 내용을 적은 아티클 입니다. 

그래서 좀더 알아보고자 하는 생각으로 암호화에 대해 알아보려고 합니다!

 

암호화?

암호화는 특정 키(key)를 이용해 해독이 불가능한 상태로 변환하는 것을 뜻합니다. 

 

방식에 따라 양방향, 단방향 암호화로 분류가 가능한데 

이는 복호화 여부에 따라 나눌수 있습니다. 

 

단방향 암호화

단방향 암호화는 입력된 데이터를 암호화 하여 출력값을 만들지만 해당 데이터를 원래의 값으로 복호화불가능한 방식입니다.

 

예를 들자면 제 블로그 아티클에도 올렸던 sha-256해시를 예시로 볼 수 있는데요

sha-256은 어떠한 데이터든 256비트로 길이의 해시값을 생성하는데 이는 역으로 복호화를 하지 못합니다.

주로 비밀번호 인증과 신원 증명등에 쓰입니다.

 

해시 알고리즘

양방향 암호화

양방향 암호화도 단방향과 동일하게 데이터를 암호화 하여 출력값을 생성합니다. 

하지만 단방향 암호화와는 다르게 특정키를 이용하여 다시 원래의 값으로 복호화가능합니다. 

 

양방향 암호화는 대칭키 방식과 비대칭키 방식으로 나눌 수 있는데

간략하게 복호화를 할때 암호화와 같은 키를 사용하느냐, 다른키를 사용하느냐에 따라 나눠집니다. 

 

     대칭키 방식

     대칭키 방식은 암/복호화에 동일한 키가 사용되는 암호화 방식으로 키를 공개하지 않습니다. 

     속도가 빠르다는 장점은 있지만 키가 노출되었을 경우 보안상의 문제가 발생 할 수 있으며

     송신측에서 수신측에 키를 전달 하는 과정에서 탈취의 위험이 있습니다. 

 

대칭키 예시

 

     비대칭키 방식

     비대칭키 방식은 암/복호화에 서로 다른 키가 사용되는 암호화 방식으로
     그 중 한개의 키는 공개키로 이용합니다.

     대칭키 방식에서 문제가 되었던 키 배송문제를 원천 차단 하여 안정성이 높지만

     속도가 다소 느리다는 단점이 있습니다. 

 

비대칭키 예시

 

간략히

양방향 암호화는 특정 키를 활용하여 복호화가 가능하지만

단방향 암호화복호화가 불가능한 암호화 방식이라고 할 수 있겠습니다. 

 

 

 

 

 

 

 

 

출처 : [암호화] 양방향/단방향 암호화

          https://godd.tistory.com/46

          암호화와 복호화, 양방향 알고리즘(공개키, 비공개키)

          https://www.zehye.kr/etc/2021/09/15/etc_encryt/

반응형