'암호화(양방향/단방향)'에 대해 알아보자

BE_{Potato.}·2022년 12월 20일
0

암호화에 대해 알아보자.
암호화(Encryption)는 평문을 특정Key를 이용해 해독할 수 없는 형태로 변경하는 것을 말한다.

이 암호화에는 크게 양방향과 단방향 암호화가 있는데
평문을 암호화한 암호문을 반대로 암호를 푸는 복호화를 할 수 있는지 여부에 따라서 양방향과 단방향으로 나뉜다.

<양방향>

양방향은 암호화된 암호문을 복호화 할 수 있는 기법을 의미한다.
따라서 암호화/복호화 시 필요한 Key가 존재 하는데 암호화와 복호화를 같은 키를 사용하느냐 다른 키를 사용하느냐에 따라서 대칭키와 비대칭키로 분류할 수 있다.

1) 대칭키(비공개키)

암호화,복호화에 동일한 키를 사용하는 암호화 방식이다.
따라서 키가 노출되면 안되므로 공개하면 안되므로 비공개키 라고도 한다.
대표적으로 AES 알고리즘이 있다.

2) 비대칭키(공개키)

암호화,복호화에 다른 키를 사용하는 암호화 방식이다.
노출시켜선 안되는 키를 Private Key라고 하고 노출시켜도 상관 없는 키를 Public Key라고 한다.
보통의 경우 데이터를 중요하게 다뤄야 하는 서버 측에서 Private Key를 사용하고,
누구나 사용해야 하는 클라이언트 측에서 Public Key를 사용하게 된다.
대표적으로 RSA 알고리즘을 사용한다.

<단방향>

암호문을 평문으로 복호화 할 수 없는 것을 말한다.
단방향 기법은 HASH를 사용하는데 흔히 자료구조에서 사용하던 HASH가 아니고
암호학적으로, 수학적으로 복호화가 거의 불가능하다고 증명이 된 알고리즘을 사용해야 한다.
인증,신원증명 등에 주로 쓰이며 대표적으로 SHA-256 알고리즘을 주로 쓴다.

profile
항상 '기본'을 중요시하는 예비 백엔드개발자입니다!

0개의 댓글