본문 바로가기

암호학 기초

암호학 1

오늘은 '암호학' 시작하겠습니다.

본 포스팅은 컴퓨터 보안에서 매우 중요한 부분에 담당하고 있는 암호에 대해서 설명해 보겠습니다
암호학 영어로는 크립토그래피(cryptography) 라고 합니다
크립토는 비밀 이란 뜻이에요 그래피는 방법 이란 뜻이에요
즉 비밀을 다루는 방법 입니다

비밀을 지키기 위해서는 무엇이 필요한지 따져 볼까요
우선 암호화된 내용이 무엇인지 알 수 없어야 됩니다
이러한 특징을 기밀함을 유지한다는 뜻에서 '기밀성' 이라고 합니다
하지만 단지 내용을 볼 수 없다고 암호화가 달성 되는 것은 아니에요
내용이 조작 되었거나 훼손되었다 면 것은 의미가 없는 것이죠
내용이 원본과 같다는 것을 확신할 수 있도록 해주는 특성을 '무결성' 이라고 합니다
한편 훼손되지 않은 정보를 볼수 없는 것만으로도 부족해요
권한이 있는 사람만 정보에 접근할 수 있어야 합니다
이것을 인증 이라고 합니다.

자 따라해 보세요

기밀성 무결성 인증

기밀을 지키기 위한 요소들 입니다


자 그럼 지금부터 암호를 만들고 암호를 푸는 과정을 보여드리겠습니다
모든 암호는 이 과정에 따라서 사용됩니다
암호의 성격과 목적에 따라서 이 과정에 약간의 변형이 있을 뿐입니다
우선 보고되고 있지 않은 데이터를 평문 영어로는 플레인텍스트(plain text)라고 합니다
암호화된 데이터를 암호문 영어로는 사이퍼텍스트(cipher text)라고 해요
평문을 암호문으로, 암호문을 다시 평문으로 만들기 위해서는 암호화 방법이 필요합니다 
이것을 '암호알고리즘'이라고 합니다
자 그럼 이 3자 어떻게 상호작용하는지 를 알아봅시다
우선 평문을 아무 문 으로 만드는 과정을 영어로 인크립션(encryption) 한국어로는 암호화라고 합니다
암호문을 평문으로 만드는 과정을 복호화 영어로는 디크립션(decryption) 이라고 합니다
예전에는 암호 알고리즘을 공개하지 않는 것을 통해서 암호화에 달성했거든요
어떻게 암호를 만들어지 모르면 물어볼 수 없으니까요
하지만 현대의 암호는 알고리즘을 공개해서 검증을 받습니다
대신에 암호를 만들고 풀 때 비밀정보를 섞습니다
이 정보가 없다면 복구호화을 할 수가 없거든요
이 정보를 열쇠라는 의미에서 키(key) 라고 합니다
바로 이것이 암호가 동작하는 가장 기본적인 흐름입니다
축하합니다.

여러분은 안보이던 게 보이고 안 들리던 게 들리기 시작 할 것입니다

IT분야에서 얼마나 많은 용어들이 사실은 이 친구들이였는지를 알게되면 깜짝 놀라실 겁니다
자 다음 이야기로 넘어가 봅시다

암호화 방법은 크게 두 가지 분류가 있습니다
양방향 암호화와 단방향 암호화가 그것 입니다
암호화와 복호화를 모두 할 수 있는 암호화 방법을 양방향 암호화라고 합니다
우리가 암호화 하면 떠오르는 가장 전형적인 암호화가 바로 양방향 암호화에요
이것은 정보를 감추는 기밀성의 초점이 맞춰져 있습니다.
그런데 희안하게도 암호화는 되는데 복호화는 되지않는 암호화 방법도 있어요
이런 암호화 방법을 단방향 암호화 방법이라고 합니다
복호화되지 않는 암호화 방법이 왜 필요하냐고요?
단방향 암호화는 '기밀성을 위한 것이 아닙니다 무결성을 위한 것입니다' 라고 말씀드리고 싶지만...
이렇게 말씀드려도 지금은 이해할 수 없기 때문에 말하지 않겠습니다.

지금 여러분은 암호화 방법을 이루는 가장 큰 틀에 인식을 얻은 것입니다
기념으로 한번 따라 읽어 볼까요 

단방향 암호화  양방향 암호화 

양방향 암호화는 다시 대칭키와 비대칭키로 나누어집니다
대칭키 방식은  암호화 복호화를 할 때 모두 같은 키를 사용하는 것입니다
전형적인 방법이에요

자 비대칭키 방식은 두 개의 키가 사용됩니다
하나의 키는 암호화를 할 때 사용하는 키고 다른 키는 복호화를 할 때 사용하는 키 입니다
굳이 키가 2개 해야되나 정당한 궁금증 이에요
그럼 여기서 그 궁금증을 다 푸는 것보다는 이런 것도 있구나 하고 눈여겨 보시고 넘어가는 것이 더 좋을 것 같습니다

사실 비대칭 키 방식 암호화 는 인류의 오랜 꿈이었어요
1978년에 비로소 등장하는 암호화방법으로 인해서 우리가 안심하고 인터넷쇼핑도 하고 로그인도 하고 금융거래도 하는 것입니다
위대한 암호화 방법이란 것만 일단 알아두고 지금은 넘어갑시다


자 다시 정리해 봅시다 암호화 방법은 어떤것이 있다고요?
단방향 암호화와 양방향 암호화가 있습니다
단방향 암호화 해당되는 구체적인 제품으로는 md5 sha 와 같은 것이 있습니다
양방향 암호화는 대칭키가 있고 비대칭키 방식이 있습니다
이중 대칭키 방식에는 AES가 대표적이고 비대칭키 방식으로는 RSA가 대표적입니다
자 여기까지 입니다 
여러분은 암호화를 지배하는 가장 큰 틀의 구조를 파악하게 된 것입니다
지금까지 말씀드린 내용이 아마도 암호처럼 추상적으로 느껴지실 거에요
당연하죠
이 추상적인 느낌을 서둘러서 구체적이고 유용한 느낌으로 복호화 해야 됩니다

자 여러분의 관념을 복호화 할 준비가 되셨나요?