암호학

2020. 1. 6. 17:13Security/알고리즘&암호학

* 암호학

암호의 개념

- 통신 당사자들끼리만 아는 비밀스런 신호나 부호

- 암호화와 복호화하기 위한 원리, 수단, 방법 등을 취급하는 기술이나 과학

평문을 그냥 보냈을때 공격 당할 수도 있기 때문에 암호 알고리즘을 이용해서 암호문을 만들어서 수신자에게 보내면 복호화키와 복호 알고리즘을 통해 수신자가 평문으로 해독해서 확인해 볼 수 있다. 알고리즘에게는 누구에게나 공개되어 있고 암호화 키와 복호화 키를 유니크하게 관리한다. 

 

대부분의 암호는 시간과 돈을 투자하면 풀 수 있다. 다만 그에 상응하는 가치가 있느냐가 중요하다.

 

암호 원리

평문을 암호화하기 위한 연산자의 유형
- 치환 (Substitution) : 평문의 각 원소를 다른 원소로 사상
- 전치 (Transpostion) : 평문의 각 원소를 재배열
- 혼합 (Confusion) : 평문의 원소를 치환 선택(bit)
- 확산 (Duffusion) : 평문의 원소를 확대(bit)

 

사용된 키의 수
- 대칭키 : 송수신자가 같은 키를 사용
- 공개키 : 송수신자가 다른 키를 사용. 하나는 공개되어 있다. ex)공인 인증서.

 

평문 처리 방법
- 블록 암호화 (Block cipher) : 연산을 블럭단위로 잘라서 처리. 컴퓨터는 대부분 블록 암호화를 쓴다. 
- 스트림 암호화 (Stream cipher) : 입력을 연속적으로 처리. 글자 하나하나씩 처리하는 것.

 

단대단 암호 (End-to-End Encryption)
- OSI 참조모델에서 가장 높은 계층(7,6)에서 이루어진다.
- 네트워크에서 보안유지에 실패하더라도 데이터의 비밀성은 위협받지 않는다.
- 암호화는 송수신 프로세서가 담당한다.

- 우리가 사용하는 암호의 대부분이다. 

 

링크암호 (Link Encyption)
- OSI 참조모델에서 가장 낮은 계층(1,2)에서 암호화 된다.
- 송수신 호스트나 중간 노드에서 노출된다.
- 신뢰적인 호스트 사이에 비신뢰적인 매체를 사용할 때 유리하다.
- 암호화는 송수신 호스트에서 담당한다.

 

관용 암호
- 암호/복호에 동일한 키 와 동일한 알고리즘 사용
- 수신자와 송신자는 키를 교환해야 함
- 공유한 키(비밀키)는 비밀로 유지
- 키 분배의 어려움(서로 상면해야 키를 나눠가질 수 있음)

- 책임 추적성이 없어서 디지털 서명 불가능
- 속도가 빠름

 

공개키 암호
- 암호/복호에 각각 서로 다른 키 와 동일한 알고리즘 사용
-  수신자와 송신자는 연관된 키쌍 중 하나를 알아야 함
- 키 쌍중 하나(개인키)를 비밀로 유지

- 개인키를 사용하기때문에 책임 추적성이 명확하다.
- 공개키를 공개
- 디지털 서명 가능
- 속도가 느림

'Security > 알고리즘&암호학' 카테고리의 다른 글

암호학 (5)키 관리&hash 함수  (0) 2020.01.16
암호학 (4)공개키 암호  (0) 2020.01.14
암호학 (3)대칭키(비밀키) 암호  (0) 2020.01.13
암호학 (2)고전적 암호  (0) 2020.01.07
알고리즘  (0) 2019.12.27