암호화, 복호화란 ? 쉽게 알아보자.

암호란 ? 

평문을 암호문으로 변환하거나 암호문을 평문으로 변환하는 기술을 의미합니다.

 

  • 평문

해독 가능한 형태의 텍스트 ( 보고 알아볼 수 있다. )

"12345" , "안녕하세요", "반갑습니다"

 

  • 암호문

해독 불가능한 형태의 텍스트 ( 보고 알아 볼 수가 없다. )

"A@3EC!BR_1T", "E)$A!EM|+A11", "꿜꽐뚫뽈쎵썀$!떙"

 

만약 암호가 적용되지 않는 다면 어떨까요 ?

이처럼 중간에 악의적인 의도를 가진 해커가 중간에 패킷을 탈취해 데이터를 확인할 수 있어 해킹에 위험이 있습니다.

 

하지만 암호가 적용된다면 ?

암호화를 통해 중간의 데이터가 암호문으로 변경되어 해커가 이를 탈취한다해도 읽을 수 없어 해킹에 안전합니다.

 


암호화와 복호화란 ?

 

  • 암호화

평문을 암호문으로 변환하는 과정.

평문 ("안녕하세요") => 암호화 => 암호문("꿜꽐뚫뽈쎵썀$!떙")

 

  • 복호화

암호문을 평문으로 변환하는 과정

암호문("A@3EC!BR_1T") => 복호화 => 평문("12345")

 


 

암호화의 종류

암호와의 종류는 "단방향 암호화" "양방향 암호화"가 있습니다.

 

단방향 암호화

암호화는 수행하지만 절대로 복호화가 불가능합니다.

예를 들어 "사용자 비밀번호"의 경우
사용자가 입력한 비밀번호를 암호화하여 DB에 저장이 될 때, 모든 접근자(개발자 포함)는 암호화 된 코드를 다시 평문으로 볼 수 없습니다.
이는 해킹이 되어도 복호화가 매우 힘든것이 특징입니다.
  • 해시함수 방식이 대표적으로,
    해시함수는 임의의 길이의 데이터를 입력받아 일정한 길이의 비트열로 반환 시켜주는 함수로, 입력값의 길이가 달라도 출력값은 언제나 고정된 길이로 반환되며
    동일한 값이 입력되면 언제나 동일한 출력값을 보장하는 함수를 의미합니다.

    ✔ 대표적인 해시 함수 : SHA

 

양방향 암호화

 

암호화 복호화가 모두 가능합니다.

예를 들어 "이메일, 번호 또는 전자 서명"의 경우
이와 같이 재사용성이 있는 정보는 암호화, 복호화 모두 이루어져야 합니다.

 

양방향 암호화는 크게  대칭키(비공개키)와 비대칭키(공개키) 방식으로 나눠집니다.

여기서 간단히 설명하자면,

 

  • 대칭키(비공개키)

암복호화에 사용하는 키가 동일한 암호화 방식으로 공통키라고도 합니다.

송수신자는 서로 공유된 대칭키를 가지고 통신하게 됩니다.

 

  • 비대칭키(공개키)

암복호화에 사용하는 키가 서로 다른 암호화 방식

따라서 비대칭키 암호화 에서는 송수신자 모두 한쌍의 키(개인키, 공개키)를 갖고있게 됩니다.

 


양방향 암호화의 대칭키(비공개키)와 비대칭키(공개키)는 아래 포스팅에서 더욱 자세히 다뤄보도록 하겠습니다.

 

[암호화] 대칭키(비공개키)와 비대칭키(공개키) 란 ?

저번 포스팅에서 "암호화"에 대해 알아보았습니다. 암호화에는 단방향 암호화, 양방향 암호화 두 종류가 있었는데요. 이번 포스팅에선  양방향 암호화인 대칭키(비공개키)와 비대칭키(공개키)

hstory0208.tistory.com

 

 


참고자료
https://www.zehye.kr/etc/2021/09/15/etc_encryt/

https://joongbu.raonctf.com/essential/study/web/cryptography