암호학 기초 - 암호학이란?(1)
암호학을 전혀 모르는 사람이 …. 암호학을 공부하기 시작했다.
용어에 대한 정의, 암호학이 무엇인지에 대한 모든 내용을 처음부터 작성하려고 한다.
이제 시작!
암호학(Cryptography)이란?
영어로 cryptography라고 부르는데 여기서 암호학이라는 뜻을 나타낼 수 있습니다.
Crypto(비밀) + graphy(방법) : 비밀을 다루는 방법
암호학(cryptography)은 컴퓨터 시스템에서의 정보보호를 위해 필수불가격(indispensable)한 요소입니다. 예를 들어, Disk에 저장된 File들을 보호할 때 암호화가 사용됩니다. 만약 Alice가 디스크를 잃어버려도, 그것을 훔친 사람이 디스크 안의 데이터를 열람할 수 없습니다. 강제로 해독과 조작하려는 시도를 한다는 것이 감지될 때 그 자료를 삭제해버리는 방법으로 대처할 수 있습니다. 이것은 기밀성(confidentiality)과 무결성(integrity)을 지켜내는 것으로 이해할 수 있습니다.
그럼 여기서 기밀성(confidentiality)과 무결성(integrity)이 무엇일까요?
-
기밀성(confidentiality) : 암호화된 내용을 알 수 없어야 함
-
무결성(integrity) : 내용 조작과 훼손을 방지하여 내용이 원본과 같다는 것을 확신할 수 있도록 함(데이터 정확성과 일관성 유지)
즉 Disk 예시를 보면, File이 암호화되어 있어서 훔친 사람은 암호화된 내용을 알 수 없고 => 기밀성
강제로 해독, 조작하려는 시도를 하면 삭제해버리는 방법으로 대체할 수 있어서 => 무결성
이렇게 설명될 수 있습니다.
그럼 비밀을 지키기 위한 요소로 저 2가지만 있을까요? 훼손되지 않은 정보를 볼 수 없는 것만으로 부족합니다. 권한이 있는 사람만 접근되도록 해야 하는데 이것을 인증(authentication)이라고 합니다.
여기까지 일단 정리하자면
■비밀을 지키기 위한 요소
기밀성(confidentiality) : 암호화된 내용을 알 수 없어야 함
무결성(integrity) : 내용 조작과 훼손을 방지하여 내용이 원본과 같다는 것을 확신할 수 있도록 함(데이터 정확성과 일관성 유지)
인증(authentication) : 권한이 있는 사람만 접근 되도록 함
이제 넘어와서 암호가 동작하는 기본 흐름을 보겠습니다. (암호의 성격과 목적에 따라서 변형이 있지만 처음이니까 간단하게..)
■암호가 동작하는 기본 흐름

평문을 암호 알고리즘을 통해 암호화하여 암호문을 만들고, 암호문은 암호 알고리즘을 통해 복호화하여 평문을 만들 수 있습니다.
이것이 암호가 동작하는 기본 흐름인데 아래에 더 자세하게 작성하겠습니다.
평문(PlainText) : 보호되지 않은 데이터
암호문(CipherText) : 암호화된 데이터
평문을 암호문으로, 암호문을 평문으로 만들려면 암호화 방법(암호 알고리즘)이 필요합니다. 평문을 암호문으로 만드는 과정을 암호화(Encryption)라고 하고, 암호문을 평문으로 만든느 과정을 복호화(Decryption)라고 합니다. 그리고 비밀 정보를 일단 key라고 하겠습니다.
여기서 key에 대한 이야기를 하면
예전에는 암호 알고리즘을 공개하지 않는 것을 통해서 암호화를 달성했습니다. 하지만 현대 암호는 알고리즘을 공개해서 검증을 받습니다. 대신에 암호를 만들고 풀 때 비밀정보를 적습니다. 이 비밀정보를 모른다면 사람들은 그 암호를 풀어낼 수 없습니다. 이 비밀정보를 Key라고 합니다. 즉, 푸는 방법을 다 가르쳐주되 key 하나만 숨겼을 때에도 이 key값을 찾아내기가 굉장히 어려워야 한다는 것입니다. (일명 케르크호프스의 원리라고 함) 이는 암호체계의 안전성은 키의 비밀성에만 의존해야함을 의미합니다.
다음으로 넘어와서 암호법은 크게 2가지로 분류할 수 있습니다.
■암호법 2가지 분류
양방향 암호화 방식 : 암호화와 복호화 모두 할 수 있는 암호법 -> 기밀성 초점
단방향 암호화 방식 : 암호화는 가능하지만 복호화는 불가능한 암호법 -> 무결성 초점

양방향은 암호화하면 생각하는 가장 전형적인 암호화입니다. 양방향 암호화 방식에서는 대칭키 방식과 비대칭키 방식으로 나뉩니다.
대칭키 방식 : 암호화와 복호화할 때 모두 같은 키를 사용하는 것
비대칭키 방식 : 암호화와 복호화할 때 다른 키를 사용하는 것
여기서 기밀성, 무결성 초점과 대칭키, 비대칭키에 대한 자세한 내용은 조금 더 지나서,,설명하도록 하겠습니다.!
댓글남기기