정보보안기사

Base64인코딩

duduranran 2023. 1. 14. 23:18

Base64 인코딩이란?

이진 데이터를 아스키 텍스트 문자열로 변환하는 방법을 말한다.

Base64 인코딩은 대표적으로 전자우편이나 HTTP 메시지를 전송할 때 사용한다

파일전송과 같이 텍스트로 표현할 수 없는 바이너리 데이터를 전송할 때 Base64로 인코딩하여 전송한다.

 

인코딩 과정

각각 8비트로 구성된 3개의 바이트(총 24비트)를 6비트씩 쪼개어 4개로 나누는 방식으로 진행.

 

아래의 예는 'WWW'라는 문자열을 Base64로 인코딩하여 'V1dX'라는 문자열로 변환하는 과정이다.

W의 아스키값은 87이고, 2진수로 표현하면 01010111,W가 3개이므로

01010111 01010111 01010111, 총 24비트가 된다.

이것은 6비트씩 4개로 나누고, 그렇게 얻은 6비트를 각각 10진수로 변환하면

21, 53, 29, 23이 된다.

이것을 각각 아스키로 변환하면 V, 1, d, X가 된다.

중요한 점은 base64는 암호화가 아닌, 인코딩이다.

디코딩을 통해 쉽게 평문을 찾을 수 있기 때문에 중요한 정보를 암호화?!한 것으로 착각하면 안 된다.