티스토리 뷰

$ 인코딩 vs 암호화 주제로 블로그를 작성하는 이유?

 

암호화에 대해서 발표를 하던 중 암호화 시스템의 등장에 대한 배경으로 아날로그 데이터를 디지털 부호로 변환하는 바꾸는 것을 부호화(encoding)라고 설명을 했다. 그런데 팀원이 인코딩과 암호화가 같은 건가요? 다른 건가요?라는 질문에 대답을 하지 못했다. 왜냐하면 나는 당연하게 별개라고 생각을 했기 때문이다. 그리고 예상하지 못한 질문이었다. 그런데 곰곰이 생각을 해보니, 나 또한 무엇이 다른 것인지 설명할 수가 없었다. 팀원 덕분에 깊이 이해할 수 있는 '학습 기회'가 생겼다.

$ 인코딩(encoding / 부호화)

<---> 디코딩(decoding / 복호화)

사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정을 말한다.

[ 출처 : https://namu.wiki/w/%EC%9D%B8%EC%BD%94%EB%94%A9 ]

 

- 이미지 인코딩 : digital video(.DV) -> MAEG(.MPG)로 변환하면 디지털 비디오 용량의 아주 적은 부분을 줄여준다.

- 오디오 인코딩 : WAVE(.WAV) -> MP3(.MP3)로 변환을 하면 기존의 WAVE 용량의 10분의 1로 용량을 줄여준다.

- 문자열 인코딩 : 컴퓨터는 이진수(0과 1) 데이터로 인식할 수 있는데, 문자열도 바이너리 데이터로 나타내야지 컴퓨터가 문자열을 이해할 수 있다. 즉, 문자, 숫자 등을 바이너리 데이터로 변환한다. 문자열 인코딩 종류로는 아스키코드(ASCII)와 유니코드가 있다.

 

- 문자열 인코딩이 잘 못됐을 경우, 파일을 열었을 때, 글자가 깨진 경우를 예로 들 수 있다.

 

출처 : https://www.soft2000.com/13355 

$ 암호화(encryption)

: 제3자가 다른 사람의 정보를 알아볼 수 없도록 하는 것이다.

 

$ 인코딩과 암호화의 공통점은?

기존의 데이터를 목적에 따라 원하는 데이터 형식으로 변환하는 것이다!

 

$ 그래서 인코딩이랑 암호화의 차이점이 뭔가?

 

인코딩은 기존의 데이터를 변환하기 위해 공개적으로 사용하는 알고리즘을 사용한다. 예를 들어, 아스키코드에서 문자를 숫자로 사용해서 인코딩한다. 문자 'APPLE'은 아스키코드로 표현을 하면 65 80 80 76 69이다. 숫자로 나타낸 코드를 아스키코드가 적힌 표를 이용해서 다시 문자 'APPLE'로 나타낼 수 있다. 이처럼 디코딩하기가 쉽다. 그래서 인코딩은 데이터의 보안 측면이 아닌 특정 목적을 위해 데이터를 변환하는 기능에 초점을 두었다.

 

암호화는 데이터의 보안을 위해서 사용된다. 데이터를 보내는 사람이 암호화 키로 'Hello'라는 평문을 암호화한다. 'Hello'는 f7#E+7d이라는 암호문으로 바뀐다. 암호화된 데이터(암호문)를 다시 평문으로 되돌릴 수도 있다. 이 경우 또한 복호화 키를 이용해서 평문으로 되돌린다.

즉, key를 가진 특정 사용자만 데이터를 복호화할 수 있다. 암호화 알고리즘 자체가 어렵기 때문에 복호화 하는 것이 사실상 어렵다고 한다.

https://www.digicert.com/ssl-cryptography.htm

$ 간단하게 정리

  인코딩(encoding) 암호화(encryption)
목적 데이터 포맷 변형 보안
키 유무 key 필요없음 key 필요

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함