<암호>

1) 암호의 정의

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

 

2) 암호에서 많이 쓰이는 용어들

2-1) 암호문

  • 제3자가 보더라도 그 내용을 알 수 없도록 변환된 메세지를 말함

2-2) 평문

  • 볌환되기 전인 원래의 메세지를 평문이라 함

2-3) 암호화

  • 평문을 암호문으로 변환하는 것을 암호화라고 함

 

<암호의 역사>

1) 고대의 암호

  • 고대의 암호에는 전치법과 치환법을 사용하였음

1-1) 전치법

  • 평문에 있는 문자들의 순서를 바꿈으로써 암호화하는 기법을 말함
  • 평문을 두 문자씩 잘라서, 섞는 방법을 말함
  • 즉, 암호문에 사용되는 문자들이 그대로 이용되며, 단지 위치만 바뀜

1-1-1) 전치법의 예시

  • 예를 들어, 암호알고리즘을 두 글자씩 잘라서 바꿔서 섞으면, 호암고알즘리 ← 이 처럼 변경이 됨

1-1-2) 전치법의 군사용으로 사용하던 암호 방식

  • 군사용으로 사용하던 암호 방식이 있는데, 가늘고 긴 종이를 두른 후 여기에 전달하고자 하는 문장을 봉의 길이 방향으로 씀으로써 암호화를 했음
  • 봉의 굵기가 키(Key)가 됨

1-2) 치환법

  • 평문의 문자들을 다른 문자로 치환함으로써 암호화 하는 기법
  • 치환 법에는 크게 2가지가 존재함
    • 시저 암호, 시프트 암호

1-2-1) 시저 암호

  • 알파벳 26글자를 알파벳 순서로 세 자씩 오른쪽 이동 시킨 뒤, 해당되는 글자로 치환하여 암호화를 함
  • CAESAR를 에시로 하면,
    • C를 3글자 이동하면 F로
    • A를 3글자 이동하면 D로
    • ... 이런식으로 변경을 함

1-2-2) 시프트 암호

  • 시저 암호를 일반화한 암호를 말함
  • 각 문자를 k번째 뒤 문자로 치환하는 방법
  • 여기서 k는 0부터 25까지의 정수 중 하나가 됨
  • k는 암호의 key가 됨
  • 예를 들어, k=5라면
    • A는 알파벳 순서로 5번째 뒤인 F로 치환
    • B는 알파벳 순서로 5번째 뒤인 G로 치환
    • ....이런식으로 변경

1-2-3) 시프트 암호의 단점

  • 경우의 수가 알파벳의 개수인 26가지밖에 없어, 26번만의 시도만으로 암호를 풀 수 있는 매우 취약한 방식

2) 근대 암호

  • 근대 암호에는 시프트 암호를 개선하여 새로운 치환법을 고안함
  • 비즈네르 암호라고 함

2-1) 비즈네르 암호

  • 여러개의 정수 값을 키로 이용함
  • 시프트 암호는 k(key)가 한개였지만, 그와 달리 비즈네르 암호는 여러개의 k(key)를 가짐
  • 예시
  • 다음과 같이 Key가 여러개 가지고, k번째 뒤에 문자로 치환됨
  • 길이가 m이면, 26^m개의 키를 가지가 되므로, 매우 안전함

2-2) 이 후의 근대암호

  • 일회성 암호체계 안전함을 증명하였고, 암호체계의 2가지 기본원칙인 혼돈과 확산 이론을 제시
  • 혼돈 : 평문과 암호문 사이의 상관관계를 숨기는 것을 말함
  • 확산 : 평문의 통계적 성격을 암호문 전반에 확산시켜 숨기는 역할을 말함

3) 현대 암호

  • 현대 암호에는 2가지가 변화함
  • 표준 암호 알고리즘과 공개키 암호 알고리즘

3-1) 표준 암호 알고리즘

  • 데이터 보호에 대한 필요성 증가
  • DES 대표적인 대칭키 암호 알고리즘가 등장
  • AES 암호 알고리즘이 나오기전까지 널리 이용됨

3-2) 공개 암호 알고리즘

  • 암호화와 복호와에 서로 다른 키를 사용
  • 이 개념을 이용하여, 소인수분해 문제에 기반을 둔 RSA 공개키 암호 알고리즘이 만들어짐

 

<대칭키 암호>

1) 대칭키 암호의 정의

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

2) 대칭키 암호

  • 암호화와 복호화 속도가 빠르다는 장점
  • 하지만, 비밀키를 제3자에게 노출하지 않으면서, 송신자와 수신자와 나누어 가지기 어려운것이 단점

3) 대칭키 암호의 종류

  • 블록 암호, 스트림암호 두가지의 종류가 존재

3-1) 블록 암호

  • 암호문을 만들기 위해 평문을 고정된 크기의 블록을 나누어서, 각 블록마다 암호화 과정을 수행하여, 블록 단위로 암호문을 얻는 대칭키 암호 방식

3-2) 스트림 암호

  • 평문과 같은 길이의 키 스트림을 생성하여, 평문과 키를 비트 단위로 XOR하여 암호문을 얻는 대칭키 암호 방식

<공개키 암호>

1) 공개키 암호의 정의

  • 암호화와 복호화에 두 개의 서로 다른 키를 사용하는 암호 방식
  • 공개키 암호에서 사용하는 두개의 키를 공개키와 개인키라고 함

1-1) 공개키

  • 공개되어 있어서, 누구나 공개키를 이용하여 암호화가 가능함

1-2) 개인키

  • 아무에게도 공개하지 않고, 자신만 알고 있어야함
  • 오직 자신만 개인키를 이용하여 복호화를 할 수 있음

1-3) 공개키 암호의 단점

  • 대칭키 암호에 비해 속도가 느림
  • 데이터를 암호화할때는 대칭키 암호 방식을 선호

1-4) 공개키 암호는 언제 사용하는가?

  • 대칭키 암호의 비밀키를 교환할 때에 공개키 암호 방식을 사용

1-5) 공개키 암호의 예시 알고리즘

  • RSA 알고리즘
  • 타원곡선 암호 알고리즘

'보안' 카테고리의 다른 글

[보안] 기밀성, 무결성, 가용성  (0) 2022.05.14

정보 보호의 3가지 목표

기밀성

  • 허락되지 않은 자가 정보의 내용을 알 수 없도록 하는 것
  • 접근 권한이 없는 사람이 접근하지 못하도록 막는 것을 말함

무결성

  • 허락되지 않은자가 정보를 함부로 수정할 수 없도록 하는 것
  • 즉, 정보에 대한 수정권한이 없는자가 저장되어 있는 정보, 전달중인 정보를 변경하지 못하도록 막는 것을 말함

가용성

  • 허락된 자가 정보에 접근하고자 할 때 이것이 방해 받지 않도록 하는 것
  • 정보에 접근권한이 있는 자는 필요할 때 언제든지 정보를 사용할 수 있어야 함

그 외의 목표들

 

1. 부인 방지

  • 정보에 관여한자가 부인하지 못하도록 하는 것

2. 인증

  • 어떤 실체가 정말 주장하는 실체가 맞는지 확인할 수 있고, 신뢰할 수 있는 것
    • 실체 : 어떤 정보 자체일 수도 있고, 정보를 이용하는 사용자일 수도있음

3. 접근제어

  • 정보에 대해 허락된 접근만 허용하고, 그 외의 접근은 허용하지 않는 것
  • 접근권한이 있는 자는 정보에 대한 접근을 허용, 접근권한이 없는자는 정보에 접근하지 못하도록 막는 것

'보안' 카테고리의 다른 글

[보안] 암호의 역사  (0) 2022.05.14

+ Recent posts