CS/Network

8-2. 데이터 압축과 암호화 : 암호화

pizzz 2023. 1. 13. 10:22

암호화

컴퓨터 시스템에서 사용되는 정보 암호화는 특정한 키 값을 이용하여 평문으로 된 정보를 암호문으로 바꾸는 작업

이와 같은 암호화를 수행하는 체계를 암호화 시스템이라고 함

두 가지 암호화 방식

- 대칭키(Symmetric Key) 암호방식

- 공개키(Public Key) 암호방식

 

기존 암호화 알고리즘

  • 대체 암호화 
    • 평문상의 각 문자 또는 여러 개의 문자를 다른 문자로 대체시켜 만드는 방법
    • 시저 암호화 방식 : 문자를 알파벳 순서상 세 자리 뒤의 문자로 대체하는 방법에 기초
      • 영어 문자 알파벳을 사용하여 이 방법에 의해서 대문자로 변환하면 평문 Ceasar는 암호문 FDHVDU가 됨
      • 이 방법은 암호문을 세 자리 대신 k자리 만큼 문자를 이동시키는 것으로 일반화
      • 예시

평문 : MY NAME IS JULIUS

  • 치환암호
    • 대체암호 방식과 함께 기존 암호방식의 한 부류
    • 평문의 문자를 대치하기 보다는 순서를 재배열하여 암호화
    • 키워드 컬럼 암호화방식 : 임의의 단어를 이용하여 컬럼의 순서 결정
    • 예시

 

암호화 시스템

  • 대칭 키 암호화 방식
    • 컴퓨터 시스템과 통신망 등의 정보 암호화에 많이 이용
    • 암호화 키와 복호화 키가 동일한 대칭 알고리즘을 사용
    • 암호화작업과 복호화 작업에서 계산량이 적고 빠르다는 장점
    • 대칭키를 암호화 이전에 서로 분배해야한다는 부담
  • 공개 키 암호방식
    • 키 분배 문제를 해결
    • 암호화 키와 복호화 키가 서로 다른 비대칭 알고리즘을 사용
    • 암호화 키는 안전한 경로를 사용할 필요 없이 공개해도 무방하다는 특징
      • 상대방이 공개한 공개 키(public key)를 암호화 키로 사용해서 정보를 암호화
      • 암호문을 받은 쪽에서는 자신의 비공개 키(private key)로 복호화
    • 계산량이 크다는 문제점
    • 대표적인 예) RSA알고리즘

 

RSA 알고리즘

- 가장 많이 사용되는 비대칭 암호화 알고리즘

- 매우 큰 두 소수는 소인수분해가 매우 어렵다는 것에 기반

- 데이터를 암호화하고 복호화하는데 한 쌍의 키를 이용

- 공개 키와 비공개 키를 생성하는 과정이 필요 

- 문자 등도 가능하도록 아스키 코드 등을 이용

- 모두 숫자로 변형해서 암호화/복호화

- 중간에 C값과 public key 값을 알게되더라도 d값을 모르면 복호화 불가능 

C = 암호화값, d = 비공개키(PR)의 d값