보안, IT/정보보안

부호화(Encode)와 암호화(Encrypt)

neck392 2024. 11. 24. 23:10

 정보보안과 관련하여 이것저것 공부해보면 부호화와 암호화를 혼용하여 쓰는 경우가 많으며 보안분야에서 자주 볼 수 있다. 최근 카카오톡 데이터베이스 복호화 관련하여 연구할 때에도 부호화 기술과 암호화 기술이 동시에 사용되는 것을 식별할 수 있었다. 뿐만 아니라 CTF를 해결해 나가는 과정에서도 자주 접할 수 있다. 그렇다면 부호화와 암호화의 차이는 무엇일까?


 

부호화의 명확한 특성을 이해하면 암호화와 부호화의 차이를 구분하는 것은 어렵지 않다. 따라서 이 글에서는 부호화를 위주로 서술한다.

부호화와 암호화는 목적에 따라 원하는 형태로 데이터를 변환시키는 공통점이 있다. 그러나 부호화와 암호화는 각 기술의 목적에 따른 쓰임이 다르다.

 

부호화는 주로 데이터 통신 과정에서 사용되며 본질적으로 형식에 따른 호환성과 효율적으로 테이터를 처리하기 용이하기 위한 목적으로 쓰인다. 부호화를 통하여 전송 속도를 높힐 수 있다.

 

PCM

특히, 데이터 통신에서 아날로그-대-디지털 변환의 펄스 코드 변조(PCM, Pulse Code Modulation)를 예로 들 수 있다. 아날로그를 디지털 신호로 변환하는 기법은 크게 펄스 코드 변조와 델타 변조로 논의할 수 있다.

그 중에서 펄스 코드 변조에서 부호화가 사용된다.

< PCM(Pulse Code Modulation) >

 

위 PCM 부호화 과정에서 Sampling으로 아날로그 신호를 채집하고 Quantizing으로 채집된 신호를 계수화 즉, 양자화를 수행한다. 이후에 마지막으로 부호화(Encoding) 과정을 거치어서 디지털 데이터로 변환한다. 여기서 계수화는 표본에 따른 신호를 가로 값과 세로 값을 실수에서 정수로 매핑(Mapping)한다. 단, 표본(Sample)을 채집하기 위해서는 나이퀴스트 정리(Nyquist theorem)에 의하여 채집률(Samping rate)은 최소한 신호에 포함된(원래 신호가 가지는) 최고 주파수의 두 배가 되어야 한다.

 PCM에서 부호화 과정을 통하여 계수화된 값(Quantized Value)을 이진수 비트 스트림으로 변환한다.

이는 아날로그 신호를 디지털 시스템에서 처리, 저장, 전송할 수 있도록 효율적이고 표준화된 디지털 형식으로 변환하는 것이다.

부호화의 다른 예시로는 보편적으로 많이 접해보았을 ASCII, UTF-8, Base64, URL Encoding 등이 있다.


암호화는 데이터를 보호하여 기밀성을 보장하기 위한 목적으로 쓰이며 AES, RSA, DES 등의 암호화 방식이 존재한다. 부호화와 복호화의 차이를 정리하면 아래 표와 같다.

구분 부호화(Encoding) 암호화(Encryption)
목적 ▶ 데이터를 특정 형식으로 변환하여 호환성과 효율성을 높임.
▶ 데이터의 효율적인 저장 및 전송
▶ 데이터를 보호하여 권한이 없는 접근을 방지.
▶ 데이터의 기밀성을 유지
의도 데이터의 가독성 및 구조화 데이터의 보안 및 기밀성
변환 가역적이며 변환 과정에서 키(key)를 사용하지 않음 복호화를 위해 암호화 키가 필요
출력 원본 데이터와 동일한 정보 포함, 표현 방식이 변경 원본 데이터를 암호화하여 무작위 데이터처럼 보이도록 변환

Reference

Behrouz A. Forouzan, Data Communications and Networking 5th ed, McGraw-Hill Education, 2012.