in thy commandments,

And I will delight myself in thy commandments, which I have loved. My hands also will I lift up ...

Hello, world! Home

Study/Security

암호학(Cryptrography)의 시작

DDe 2023. 12. 1. 11:16

 암호학(Cryptrography)에 대한 공부를 시작하려고 한다. 암호학이란 무엇일까? 사이버보안(Cybersecurity)에 대해서 이야기하면 빠질 수 없이 등장하는 가장 핵심이 암호학 또는 암호화 알고리즘에 대한 이야기일 것이다. 앞으로 가능한 암호학에 대한 이야기를 다뤄보려고 하는데, 오늘은 첫 시간으로 암호화와 복호화에 대한 기본적인 개념을 살펴보려고 한다.


암호학(Cryptography)이란?

 암호학(Cryptography)은 정보를 안전하게 전송하고 보호하기 위한 과학과 기술의 분야로, 주로 데이터의 기밀성, 무결성, 인증을 보장하는 데 사용된다. 특히, 암호학은 데이터의 보안을 유지하고 불법 액세스로부터 보호하기 위해 많이 사용된다. 현대 사회는 많은 인프라(Infrastructure)들이 컴퓨터 시스템, 네트워크, 소프트웨어, 데이터 등을 사용하여 구성되어 있다. 이런 사회에서 다양한 사이버 위협으로부터 보호하고 보안을 유지한다는 것은 선택 사항이 아닌 필수 사항일 것이다.

 

 

 

 

이번 시간은 암호학의 기초에 대해서 이야기 나누고자 한다. 필자는 암호학의 기초 구분을 3가지로 나눠 설명하고자 한다. 첫째, 암호화와 복호화에 대한 기본 설명, 둘째, 키 생성에 대한 기본 설명(그런데 키 생성은 후에 무작위성을 설명할 때 더 자세히 설명하도록 하겠다.), 셋째, 암호학의 특성에 대한 설명이다. 그럼 기본적인 암호화와 복호화에 대해서 살펴보자. 

 


암호화 & 복호화(Encryption & Decryption)

 

 암호화(Encryption)는 무엇일까? 암호화에 대한 기본적인 개념은 다음과 같다. 암호화는 정보나 데이터를 암호 알고리즘을 사용하여 안전하게 변환하는 프로세스를 말한다. 따라서 암호화를 통해 평문(원본 데이터)을 암호문(암호화된 데이터)으로 변환함으로써 불법 액세스로부터 정보를 보호하고, 데이터의 기밀성을 유지할 수 있다. 그래서 암호화는 안전한 데이터 전송 및 저장, 인증, 무결성 보호 등 다양한 보안 목적에 사용될 수 있다.

 

 

  •  결국, 암호화정보데이터암호 알고리즘으로 평문에서 암호문으로 변환하는 작업을 이야기한다.

 

암호화(Encryption)하는 과정

 

 

그래서 평문(Plaintext)는 P, 암호문(Ciphertext)은 C, 암호화(Encryption) 알고리즘은 E, 암호화 알고리즘에 사용되는 키(Key)는 K로 나타낼 때, 암호문을 만드는 과정의 식은 다음과 같다.

 

 

C = E(K, P)  또는  C = EkP

 

 

식을 보면 암호문을 만드는데 필요한 것은 평문(P)과 암호화 알고리즘(E)과 키(K)다. 우리는 이런 과정을 통해 가지고 있는 데이터(평문)을 암호문(C)으로 만들어 암호화 알고리즘(E)과 키(K)를 가지고 있는 특정 대상에게만 공개하는 암호문서를 공유할 수 있는 것이다.

 

 

 그렇다면 복호화(Decryption)는 무엇일까? 복호화는 암호화된 데이터 또는 암호문(Ciphertext)을 원래의 평문(Plaintext)으로 되돌리는 과정을 의미한다. 이는 암호화의 반대 과정으로, 복호화 알고리즘과 특정 키를 사용하여 암호문을 평문으로 변환하는 과정을 말한다. 그래서 복호화는 주로 데이터를 안전하게 전송하거나 저장한 후, 필요한 사용자나 시스템에서만 읽을 수 있도록 하는 데 사용된다. 

 

 

  • 즉, 암호화의 반대과정으로 암호문복호화 알고리즘을 통해 암호문에서 평문으로 변환하는 작업을 이야기한다.

 

복호화(Decryption)하는 과정

 

 

그래서 평문(Plaintext)는 P, 암호문(Ciphertext)은 C, 복호화(Decryption) 알고리즘은 D, 복호화 알고리즘에 사용되는 키(Key)는 K로 나타낼 때, 암호문을 만드는 과정의 식은 다음과 같다.

 

 

P = D(K, C)  또는  P = DkC

 

 

앞서 설명했던 암호화 과정에서 얻어지는 것은 암호문이였기 때문에  C에 대한 식으로 정리했다면, 복호화는 암호문으로부터 평문을 얻어내는 과정이기 때문에 평문인 P에 대한 식으로 정리된다. 그리고 식을 보면 평문을 만드는데 필요한 것은 암호문(C)과 복호화 알고리즘(D)과 키(K)다. 우리는 이런 과정을 통해 복호화 방법을 알고 있는 특정 대상들에게만 암호문서를 공유할 수 있는 것이다.

 

 


 

정리(Summury)

 

 우리는 암호화와 복호화에 대해서 알아보았다. 암호화는 평문을 암호문으로 만드는 작업이고, 복호화는 암호문을 평문으로 만드는 작업이다. 두 과정 모두 각 암,복호화 알고리즘이 필요하고, 암,복호화에 대한 키가 필요한 것을 알 수 있다. 향후에 다시 설명하겠지만, 여기서 사용되는 암,복호화 키가 동일한 키를 사용하는 방법 대칭 키 암호화(Symmetric encryption) 방법이고, 동일하지 않은 두 키를 사용하는 방법 비대칭 키 암호화(Asymmetric encryption) 방법이다.(Cryptosystem에 대해서는 추후에 더 자세히 알아보도록 하자.)

 

 

    • 암호화(Encryption) = 평문(Plaintext) → 암호문(Ciphertext)
    • 복호화(Decryption) = 암호문(Ciphertext) 평문(Plaintext) 
    • 암호화 키 = 복호화 키  →   대칭 키(Symmetric Key)
    • 암호화 키  ≠  복호화 키  →  비대칭 키(Asymmetric Key)

 

 


 

'Study > Security' 카테고리의 다른 글

배타적 논리합(eXclusive OR)과 합동식(Congruent)  (0) 2023.12.04