본문 바로가기

암호화 (단방향, 양방향) 본문

개발/알쓸코잡

암호화 (단방향, 양방향)

자전하는명왕성 2023. 2. 5. 11:38

 

암호화

암호화란, DB 정보를 해독할 수 없도록 정보를 비밀 코드로 변환하는 과정을 의미한다.

기본적으로 알고리즘을 사용하여 데이터를 변환하게 되며, 

변환된 데이터는 해독키를 갖지 않으면 정보에 접근할 수 없기에 해킹에 보다 안전한 방법이라고 말할 수 있다.

  • 단방향
  • 양방향 (비대칭형 / 대칭형)

 

단방향 암호화

단방향 암호화는 복호화할 수 없는 암호화 방법이라고 말할 수 있으며, 

이 경우 한번 암호화를 했다면 다시 복호화할 수 없다는 특징을 가진다. (복호화 가능한 것은 양방향 암호화)

** 복호화는 암호화(변환)된 데이터를 이전의 데이터로 되돌려 놓는 것을 말한다.

암호화 방식으로는 Hash 함수를 활용한 Hash 암호화를 주로 사용하는데,

Hash 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 변환시켜주는 함수다.

 

양방향 암호화

양방향 암호화는 암호화된 암호문을 복호화할 수 있으며, 대칭 키(비공개 키)와 비대칭 키(공개키) 방식으로 나뉘어져 있다.

  • 대칭 키 : 암호화 시 사용하는 키와 복호화 시 사용하는 키가 같을 경우
  • 비대칭 키 : 암호화 시 사용하는 키와 복호화 시 사용하는 키가 다를 경우

 

대칭형 암호화

대칭형 암호화는 대칭 키를 사용해 암호화하며, 암호화된 문자열을 다시 복호화 가능한 암호화 방법이다.

키를 사용해 암호화하여 암호화 결과 / 암호화 사용 키를 전달하게 되고,

암호화 시 사용한 키를 활용해 복호화하는 방식이다.

  • 키를 전달해야 하기 때문에 노출 가능성이 높아 웹에서는 사용이 힘들다는 단점이 있지만,
  • 키 사이즈가 작고 알고리즘이 간단해 연산속도가 빠르다는 장점을 가진다.

 

비대칭형 암호화

비대칭형 암호화는 암호화 시 사용하는 공개 키를 공개하는 방식으로, 공개 키를 사용해 암호화한다. 

이때 암호화된 데이터는 비공개 키를 사용하여 복호화할 수 있다. (비공개 키를 알아야 복호화할 수 있다는 것)

  • 공개 키와 비공개 키로 나뉘기 때문에 연산이 비교적 복잡해 속도가 느리다는 단점이 있기는 하나,
  • 그만큼 보안성이 높다는 장점을 가진다.

'개발 > 알쓸코잡' 카테고리의 다른 글

인증(Authentication) & 인가(Authorization)  (0) 2023.02.10
MySQL 쿼리문 사용법  (0) 2023.02.05
Login process  (0) 2023.02.04
Cookie / Local storage & Session storage  (0) 2023.02.02
JWT (JSON Web Token)  (0) 2023.01.30
Comments