본문 바로가기
알고리즘

암호화

by 코린이 프로도 2022. 11. 28.
반응형

 서비스를 제작할 때 암호화 알고리즘을 사용하는 경우는 많이 있다.

누구나 접근 가능한 서버와 통신을 하는 경우 통신 과정에서 데이터를 노출하지 않도록 암호화를 한다.

또 로그 파일이나 DB에 개인정보를 저장할 경우에도 마스킹을 하거나 암호화를 하는 경우가 있다.

이 처럼 서비스에서 암호화 알고리즘을 사용해야 하는 경우가 많은데, 암호화 알고리즘을 직접 개발하지는 않더라도  각 목적과 용도에 따라서 어떤 암호화 알고리즘 모듈을 사용해야 하는지에 대한 판단과 선택이 필요하겠다. 

 

그래서 간단히 KISA에서 소개하는 암호화 내용에 대해 살펴보겠다.

KISA는 Korea Internet & Security Agency로 준정부기관인 '한국인터넷진흥원'이다.  

https://seed.kisa.or.kr/kisa/intro/EgovDefinition.do

 

KISA 암호이용활성화 - 소개 - 암호기술의 정의

소개 정보보호의 기반 암호기술 및 정책에 대한 다양한 정보전달 HOME 소개 소개 국산 암호기술 차세대 암호 암호모듈검증 암호 역기능 대응 자료실 알림마당 암호기술의 정의 암호기술의 정의

seed.kisa.or.kr

암호화 용어 정리


암호기술이란? 

 중요한 정보를 읽기 어려운 값으로 변환하여 제 3자가 볼 수 없도록 하는 기술이다. 암호기술의 안전성은 수학적 원리에 기반한다. 

평문(PlainText) :  암호기술을 통해 보호하고자 하는 원본 데이터.

암호문(CipherText) : 평문에 암호기술을 적용하여 변환시킨 데이터.

암호화(Encryption) : 평문에 암호기술을 적용해 암호문으로 변환하는 과정.

복호화(Decryption) : 암호문을 다시 평문으로 복원하는 과정.

암호키(Encryption Key) : 암/복호화를 위해서는 암호 키가 필요하다.

 

기능


암호기술을 이용하면 아래 4가지 기능을 제공할 수 있다.

종류


 보통 크게 양방향 암호화, 단방향 암호화 2가지로 구분한다. 양방향 암호화 방식에는 또 다시 대칭키 암호화, 비대칭키 암호화 방식으로 나뉜다. 단방향 암호화는 HASH 암호화를 의미한다. 

KISA의 분류에 따라 아래 3가지를 살펴보겠다.

대칭키 암호

  • 암/복호화에 같은 암호키를 사용하는 알고리즘.
  • 암호 키가 노출되면 암/복호화할 수 있기 때문에 노출되지 않도록 관리해야되는 어려움이 있다.
  • 암/복호화 연산 속도가 비교적 빠르다.
  • 종류 : 
    1. 블록 암호 : 국산 알고리즘인 SEED, HIGHT, ARIA, LEA와 외산 알고리즘인 DES, AES 등
    2. 스트림 암호 : RC4, A5/1, A5/2 등

블록 암호 : 평문을 고정된 크기의 블록단위로 암/복호화를 수행. 각 블록마다 동일한 키가 사용된다. 길이를 맞추기 위해 패딩이라는 기법을 사용하며, 하나의 키로 여러 블록을 안전하게 처리하기 위한 운용방식이라는 절차를 이용한다.

 

스트림 암호 : 평문과 동일한 길이의 키스트림(key stream) 수열을 생성하여, 평문과의 XOR연산을 통하여 암/복호화를 수행한다. 구현 여건이 제약되는 환경에서 구현이 용이하며, 무선 통신 등의 환경에 주로 사용된다.

비대칭키 암호

  • 공개키 암호(Public-key Encryption)라고도 한다. 
  • 대칭키와 달리 암/복호화에 서로 다른 키를 사용한다.
  • 송신자는 수신자의 공개키를 이용해 암호화하고 수신자는 자신의 공개키로 암호화된 암호문을 자신의 개인키로 복호화 할 수 있다.
  • 복잡한 수학적 난제를 기반으로 설계되어 대칭키 암호에 비해 효율이 떨어질 수 있다.
  • 키 관리에 유리하다.
  • 종류 : RSA, ElGamal, ECC 등
  • 공개키 암호를 거꾸로 활용하는 방식으로 전자 서명(Digital Signature)은 인터넷 상에서 본인임을 증명하기 위해 서명을 하는 수단이다.

해시 함수

  • 임의의 길이의 메세지를 입력으로 받아 고정된 길이의 해시값을 출력하는 함수.
  • 암호 키가 사용되지 않아 같은 입력에 대해 항상 같은 해시 값을 얻는다. 이러한 성질로 위변조를 파악 할 수 있다(무결성)
  • 종류 :MD5, HAS-160, SHA-1, SHA-2, SHA-3 등

 

반응형

'알고리즘' 카테고리의 다른 글

[암호화] SHA-256 해시 함수  (0) 2022.12.28
[암호화] SEED 암호화  (0) 2022.12.11