3학년 2학기 공부 과정/정보보안

07. 암호의 이해

환성 2022. 12. 22. 22:00
728x90

1. 암호의 개념과 원리

암호화와 복호화

  • 암호문
    • 비밀을 유지하기 위해 당사자만 알 수 있도록 꾸민 약속 기호
    • 암호는 암호문이 노출되더라도 정보를 숨길 수 있어야 함
      • 암호화 : 평문 → 암호문
      • 복호화 : 암호문 → 평문
      • 암호화 알고리즘 : 암호화나 복호화를 수행할 때 양쪽이 말고 있어야 할 수단
      • 암호화 키 : 약속한 규칙
    • 암호화 방식 - 전치법
      • 단순히 메시지에 들어 있는 문자 위치를 바꾸는 방법
      • 미리 정해둔 문자 배열 규칙으로 암호화, 복호화 수행
    • 암호화 방식 - 대체법
      • 메시지의 글자를 다른 글자로 대체하여 암호화
      • 전치법의 문제 해결하기 위해 등장
      • 단일 치환, 다중치환

대체법

  • 단일 치환
    • 모노 알파베틱 암호

 

  • 다중 치환 암호화
    • 암호화 키와의 매핑에 따라 알파벳 하나가 여러 가지 다른 알파벳으로 대체되어 암호화되는 것
    • 비즈네르 암호화
      • 암호화 과정
      • 암호화하려는 평문 : ‘wish to be free from myself’
      • 암호화 키 : ‘secret is beautiful’
      • 평문의 첫 문자인 w를 비즈네르 표의 가로축에서 찾고 암호화 키의 첫 문자인 s를 세로축 에서 찾으면 O에 대칭
      • 평문의 두 번째 문자 i와 암호화 키의 두 번째 문자 e를 비즈네르 표에서 찾으면 M에 대칭
      • ‘wish to be free from myself’ → ‘OMUY XH JW GVEY YZTG XQWGCJ’
  • 다중 치환
    • 플레이페어 암호
    • 2개로 이뤄진 문자 쌍을 다른 문자 쌍으로 대체
    • 암호화키(ASSASSINATOR)에서 중복 문자를 제거한 문자(ASINTOR)를 5x5 정사각형에 순서대로 배열하고 나머지 알파벳을 차례대로 배열
    • I와 J 혹은 Q와 Z를 같은 칸에 넣음
     

 

최초의 암호

  • 스테가노그래피 : 실제로 전달하고자 하는 정보 자체를 숨기는 것
  • 전치법 : 단순히 메시지에 있는 문자의 위치를 바꾸는 방법
  • 스키테일

2. 대칭 암호화 방식

  • 암호학적 강도를 높일 떄는 혼돈과 확산 이용
    • 혼돈 : 암호문의 통계적 성질과 평무의 통계적 성질의 관계를 난해하게 만드는 성질
    • 확산 : 암호문의 모든 비트에 영향을 주는 성질

DES 알고리즘

  • 64비트의 블록 암호화 알고리즘이며, 56비트 크기의 암호화 키로 암호화
  • 생성 가능한 암호화 키는 최대 256가지
  • 암호화는 다음 두 가지 기본 변환을 통해 이루어짐
    1. 하나의 블록인 64비트를 L1과 R1으로 나눔
    1. R1을 암호화 키로 생성한 S-Box로 f 함수를 만들어 치환 작업을 한 후 이 값을 L1과 XOR한 다음 L2와 R2의 위치를 바꿈
  • 암호화 과정 한 단계를 라운드라 표현
  • 혼돈이 이 과정에서 이루어짐
  • DES는 하나의 블록에 대해 알고리즘을 16번 수행함

DES 암호화 과정

DES 복호화 과정

트리플 DES 알고리즘

  • DES의 복호화가 가능해짐에 따라 AES가 나오기 전까지 임시로 사용한 암호화 알고리즘
  • 암호화 및 복호화 과정에서 2개의 암호화키를 이용

 

AES 알고리즘

  • NIST는 1997년 암호화 알고리즘을 다시 공모
  • 결선에서 리즈멘과 대먼의 Rijndael 알고리즘이 200년 10월 최종 AES로 선정

SEED 알고리즘

  • 전자상거래, 금융을 보호하기 위해, 순수 국내기술로 개발한 128비트 블록의 암호 알고리즘

ARIA 알고리즘

  • 국가 암호화 알고리즘
  • 개발된 128비트 블록 암호 알고리즘, 국가표준으로 지정

 

IDEA 알고리즘

  • 128비트의 키를 사용해 64비트의 평문을 8라운드를 거쳐 64비트의 암호문을 생성

 

RC5

  • 라운드 수가 가변인 블록 알고리즘
  • 32/64/128비트의 키를 가짐
  • 속도는 DES의 10배

 

SkipJack

  • Fortezza Card에 칩 형태로 구현됨
  • 음성 암호시에 사용
  • 64비트의 입출력, 80비트의 키, 총 32라운드

 

양자 암호

  • 광자 하나 하나의 단위로 신호를 실어 나름
  • 차세대 암호화 기술로 많은 관심을 받고 있지만 광자의 특성상 가용 통신 거리가 최대 약 200km로 짧고 고가의 장비로 제한적인 범위로 사용

 

3. 비대칭 암호화 방식

  • 암호화 키 교환의 문제를 해결하기 위해 등장

비대칭 암호화 방식의 발견

  • 공개된 정보가 3이라 가정
  • 같은 키를 공유하기 위해 철수는 자신이 정한 숫자 5를 사용해 3^5인 243이라는 수를 영희에게 보냄
  • 영희도 자신의 숫자를 7로 정하고, 3^7인 2178를 철수에게 보냄
  • 철수와 영희는 상대에게 받은 수에 자신의 수를 제곱승
  • 룰은 자신이 정한 5와 7 숫자를 상대방에게 전달하지 않고서도 50,031,545,098,999,707이라는 같은 키를 공유

 

RSA 알고리즘

  • 소수를 이용
  • 중요 정보를 두 개의 소수로 표현, 두 소수의 곱을 힌트와 함께 전송해 암호로 사용
  • RSA 알고리즘에서는 모든 사람이 고유한 N값을 갖게 됨
  • 만약 영희가 자신의 N을 p=17159와 q=10247의 곱인 N으로 정함
  • 영희가 자신의 N값을 모든 사람들에게 공개하면 이 떄의 N 값은 영희의 공개키가 됨
  • 여기에서 p와 q는 영희의 사설키

 

비대칭 암호화의 구조

  • 각 개인이 공개키와 개인키를 소유하는 구조
  • 비대칭 암호화 알고리즘에서는 언제나 한 쌍의 개인키와 공개키에 의해 암호화와 복호화가 이루어짐

 

비대칭 암호화의 기능

  • 기밀성
    • 가장 기본적인 기능
  • 부인방지
    • 철수는 영희에게 편지를 보낼 때 자신의 개인키로 편지를 암호화하여 전송
    • 철수의 개인키로 암호화된 편지는 철수의 공개키로만 볼 수 있으므로 편지가 철수가 쓴 것임을 확신
  • 암호화 키와 관련된 용어
    • 대칭 키 : 암호화할 떄 쓰는 키와 복호화할 때 쓰는 키가 같은 것
    • 비밀 키 : 암호화할 때와 복호화할 떄 사용되는 키가 같으므로 암호문이 효력을 발휘하려면 발신자와 수신자 사이의 키에 대한 정보가 비밀로 유지
    • 비대칭 키 : 암호화할 때 쓰는 키와 복호화할 때 쓰는 키가 다른 것
    • 공개 키와 개인 키 : 발신자와 수신자가 각각 한 쌍을 소유

4. 해시

해시의 특징

  • 정보의 무결성을 확인하기 위해
  • 전자서명, 전자봉투, 전자화폐 등 다양한 전자상거래 기능 구현 가능
  • 대표적인 것은 MD5
  • 세 평문은 길이가 각각 다르지만 해시 결과는 32개 문자 길이로 같음
  • 두 번쨰와 세 번쨰 평문은 단어 하나만 다를 뿐인데 해시 결과는 완전 다름

 

해시의 역할

  • 원래 해시는 데이터베이스의 탐색을 효과적으로 구현하기 위해 만들어진 것
  • 보안에서는 해시가 완전히 똑같은 데이터만 해시 값이 같고 조금만 달라도 해시 값이 전혀 다르다는 점을 이용, 데이터 무결성 확인

 

해시의 종류

  • MD 알고리즘
    • MD2, MD4, MD5 세 종류가 있음
    • 공개키 기반 구조를 만들기 위해 RSA와 함께 개발
    • MD2는 8비트 컴퓨터에 최적화되어 있음
    • 데이터 보안성에 있어 더 많은 확신
  • SHA 알고리즘
    • 160비트의 값을 생성, MD4가 발전한 형태
    • 512비트 크기의 블록
    • MD5보다 느리지만 좀 더 안전함

 

'3학년 2학기 공부 과정 > 정보보안' 카테고리의 다른 글

09. 보안 시스템  (0) 2022.12.22
08. 암호를 이용한 전자상거래  (0) 2022.12.22
06. 악성 코드  (0) 2022.12.22
04. 웹 보안  (0) 2022.12.22
03. 네트워크 보안  (2) 2022.12.15