방통대/컴퓨터 보안

암호의 개념

study_recode 2025. 2. 22. 01:37

암호의 정의

두 사람이 안전하지 않은 채널을 통해 정보를 주고받더라도 제3자는 이 정보의 내용을 알 수 없도록 하는 것

  • 안전하지 않은 채널 : 누구든지 메시지를 볼 수 있다는 의미 
  • 정보의 내용을 알 수 없다는 것은 정보를 다른 형태로 변환해서 보낸다는 것을 의미 

키 : 암호화와 복호화를 위한 가장 중요한 열쇠
암호는 기밀성을 보장하기 위한 필수적인 기술

암호의 역사

  • 처음에는 주로 군사와 정치적인 목적으로 사용
  • 컴퓨터와 통신이 결합됨에 따라 불법 사용자의 봉쇄 또는 데이터의 위조 및 변조를 막는 수단으로 이용
  • 최근에는 인터넷 뱅킹에 사용되는 공동인증서나 금융인정서, 보안 키패드, 메신저의 비밀 채팅 등에 널리 이용

고대 암호

최초의 암호, 스테가노그래피 - 데마라토스가 페르시아의 침략계획 소식을 나무판에 조각하여 남긴 후 밀랍을 발라 스파르타에 보낸 것, 실제로 전달하고자 하는 정보 자체를 숨기는 방법이다.

https://hiupress.hongik.ac.kr/news/articleView.html?idxno=814

 

스테가노그래피(Steganography) - 홍대신문

어린 시절, 신기한 볼펜이 있었다. 본디 펜이란 눈에 보이는 글을 쓰는 것이 목적인데, 그 펜의 경우 바로 글이 보이는 것이 아니라 다른 부분으로 색을 칠해야 비로소 적은 것들이 종이 위로 하

hiupress.hongik.ac.kr

 

최초의 암호라 보기 힘든 점은, 제3자가 암호알고리즘을 알더라도 키를 모르면 암호를 풀 수 없다는 것을 가정(Kerckhoff의 원리)하기 때문이다. 여기에 암호를 숨겨놓았다라고 알게만되도 스테가노그래피 암호는 그냥 풀린다.

전치법

  • 평문에 있는 문자들의 순서를 바꿈으로써 암호화하는 기법 

  • 스키테일 암호, 스파르타의 봉 암호

일정 굵기의 봉(이를 'scytale' 이라고 함)에 가늘고 긴 종이(당시에는 양피지)를 두른 후, 여기에 전달하고자 하는 문장을 봉의 길이 방향으로 적음으로써 암호화, 즉 "키는 봉의 굵기이다"

https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%82%A4%ED%85%8C%EC%9D%BC

 

스키테일 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 고대 그리스의 역사학자 플루타르크에 따르면 약 2,500년 전 그리스 지역의 옛 나라인 스파르타에서는 전쟁터에 나가있는 군대에 비밀메시지를 전할 때 암호를

ko.wikipedia.org

치환법

  • 평문의 문자들을 다른 문자로 치환함으로써 암호화하는 기법

  • 시저 암호
    • 평문의 각 문자를 알파벳 순서상 세 문자 뒤에 위치하는 문자로 치환
  • 시프트 암호
    • 평문의 각 문자를 알파벳 순서상 k번째 뒤 문자로 치환

근대 암호

비즈네르 암호

m개의 정수로 구성된 키를 표현하기 위해 m개의 알파벳의 로 구성된 키워드를 이용

이때 A부터 Z까지의 각 알파벳은 0부터 25까지 의 각 정수와 일대일로 대응.

위에서 예로 사용한 키 3, 5, 0은 각각 알파벳 D, F, A와 대응되므로 키워드 DFA가 바로 키

  • 시프트 암호를 개선한 새로운 치환법
  • 키 : 여러 개의 정숫값
  • 예 : k = 3, 5, 0 , 26의 3승 방법을 해봐야 풀 수 있음

 

20세기 초반까지 플레이페어 암호, 힐 암호 등 다양한 암호방식 등장 

1949년 섀넌의 일회성 암호체계

일회성 암호체계(one-time pad, OTP)가 안전함을 증명

  • 혼돈 : 평문과 암호문 사이의 상관관계를 숨김, 치환과 유사
  • 확산 : 평문의 통계적 성격을 암호문 전반에 확산시켜 숨김, 전치와 유사

현대 암호

  • 표준 암호 알고리즘의 등장
    • DES(Data Encryption Standard) : 대칭킹 암호 알고리즘
    • AES가 공표될 때까지 널리 이용됨
  • 공개키 암호 알고리즘의 등장
    • 디피와 헬먼이 공개키 암호의 개념을 제시 : 암호화와 복호화에 서로 다른 키를 사용
    • 리베스트, 샤미르, 애들먼이 RSA 공개키 암호 알고리즘 개발 
      • 소인수분해 문제에 기반을 둔 대표적인 공개키 암호 알고리즘 

대칭키 암호

암호화와 복호화에 같은 키 하나를 사용하는 암호방식

  • 장점 : 암호화와 복호화 속도가 빠름
  • 단점 : 키 분배 문제 존재
  • 대표적인 아록리즘 : DES, AES, IDEA 등
  • 대칭키 암호의 분류
    • 블록 암호 : 평문을 고정된 크기의 블록으로나누어 각 블록마다 암호화 과정을 수행하여 블록 단위로 암호문을 얻는 대칭키 암호 방식 
    • 스트림 암호 : 평문과 같은 길이의 키 스트림을 생성하여 평문과 키를 비트 단위로 xor연산하여 암호문을 얻는 대칭키 암호 방식 

비대칭키(공개키) 암호

암호화와 복호화에 두 개의 서로 다른 키를 사용하는 암호방식

  • 공개키 : 누구나 공개키를 이용하여 암호화 가능
  • 개인키 : 오직 자신만 개인키를 이용하여 복호화 가능
  • 장점 : 키 관리 쉬움, 키 분배 문제 해결
  • 단점 : 대칭키 암호에 비해 속도가 느림
  • 대표적인 알고리즘 : RSA, ECC, ELGamai 등 

  1. 암호는 안전하지 않은 채널을 통해 정보를 주고받더라도 제3자는 이 정보의 내용을 알 수 없도록 하는 것이다.
  2. 송신자는 평문을 암호화하여 암호문을 만들어 보내고 수신자는 암호문을 복호화하여 평문을 만든다.
  3. 키는 암호화와 복호화를 위한 가장 중요한 열쇠로 제3자에게 알려져서는 안 된다.
  4. 전치법은 평문에 있는 문자들의 순서를 바꿈으로써 암호화하는 기법이다.
  5. 치환법은 평문의 문자들을 다른 문자로 치환함으로써 암호화하는 기법이다.
  6. 대칭키 암호는 암호화와 복호화에 같은 키 하나를 사용하는 암호방식이다.
  7. 공개키 암호는 암호화와 복호화에 두 개의 서로 다른 키를 사용하는 암호방식이다.