[보안] 암호 알고리즘 (Encryption Algorithms)

·2021년 4월 28일
0

암호 알고리즘 개요

패스워드, 주빈번호, 계좌번호와 같은 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차/방법을 의미한다.

Hash를 사용하는 단방향 암호화 방식과,
개인키 및 공개키로 분류되는 양방향 암호화 방식이 있다.

양방향

개인키 암호화 기법 (Private Key Encryption, 대칭, 단일키)

데이터를 암호화, 복호화 할 때 동일한 키를 사용한다.
키가 한개!

데이터베이스 사용자는 평문의 정보 M을 암호화 알고리즘 E와 개인키 K를 이용하여 암호문 C로 바꾸어 저장시켜 놓으면, 사용자는 그 데이터베이스에 접근하기 위해 복호화 알고리즘 D와 개인키 K를 이용하여 다시 평문 M으로 바꾸어 사용한다.

대칭 암호 기법, 단일키 암호화 기법이라고도 한다.

한번에 하나의 데이터 블록을 암호화하는 블록 암호화,
평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화하는 스트림 암호화 방식으로 분류된다.

  • 장점
    암호화/복호화 속도가 빠르다
    알고리즘이 단순하다
    파일의 크기가 작다

  • 단점
    사용자가 많아지면 관리해야 할 키의 수가 많아진다

공개키 암호화 기법 (Public Key Encryption, 비대칭)

암호화할 때 사용하는 공개키는 데이터베이스 사용자에게 공개하고, 복호화할 때의 비밀키는 관리자가 비밀리에 관리한다.
키가 두개! (공개키, 비밀키)

데이터베이스 사용자는 평문의 정보 M을 암호화 알고리즘 E와 공개키 PK를 이용하여 암호문 C로 바꾸어 저장시켜 놓으면, 비밀키와 복호화 알고리즘에 권한이 있는 사용자만이 복호화 알고리즘 D와 비밀키 SK를 이용하여 다시 평문 M으로 바꾸어 사용한다.

비대칭 암호 기법이라고도 한다.

  • 장점
    키의 분배가 용이하다
    관리해야 할 키의 개수가 적다

  • 단점
    암호화/복호화 속도가 느리다
    알고리즘이 복잡하다
    파일의 크기가 크다

⭐RSA⭐

MIT 가 제안한 공개키 암호화 알고리즘
큰 숫자는 소인수분해 하기 어렵다는 것에 기반하여 만들어졌다.

단방향

Hash

임의의 길이의 입력 데이터나 메세지를 고정된 길이의 값이나 키로 변환하는 것

해시 알고리즘을 해시 함수라고 부르며, 해시 함수로 변환된 값이나 키를 해시값 또는 해시키라고 부른다.

해시 함수의 대표적 종류-

  • SHA 시리즈
    비국 국가안보국, 미국 국립표준기술연구소가 발표
    SHA-0부터 SHA-512까지 다양한 종류
  • MD5
  • N-NASH
  • SNEFRU
profile
튼튼

2개의 댓글

comment-user-thumbnail
2021년 5월 16일

우와 멋져요!

1개의 답글