🔐 소프트웨어 개발 보안 구축 #6 - 암호 알고리즘

2020. 7. 14. 15:33컴퓨터언어/소프트웨어공학

728x90
반응형

 

 

👍 암호 알고리즘이란?

 

👊 용어정리

해시 : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 "단방향" 암호 알고리즘
단방향 : 평문 -> 암호문으로 바꿀수는 있지만, 암호문을 평문으로 다시 복호화는 할 수 없는 암호화 방식. 해시를 사용하는 방식
양방향 : 평문 -> 암호문, 암호문 -> 평문 모두 가능한 암호화 방식. 양방향 암호화방식은 개인키와 공개키가 사용된다.

🙌 단방향 암호 알고리즘

단방향 암호 알고리즘은 해시를 이용한다.

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

단방향이기 때문에 복호화할 수 없어, 암호화보다는 데이터변조/수정여부 파악 등 무결성검증 용도로 많이 쓰인다.

대표 해시함수 : MD5, SHA, HAS, N-NASH, SNEFRU


🙌 양방향 암호 알고리즘

구분 비밀키(개인키, 대칭키) 암호 알고리즘 공개키(비대칭키) 암호 알고리즘
특징 암호화 및 복호화 할 때 사용하는 키가 같음
=> 양쪽이 같으니까 "대칭"키
=> 양쪽이 같으니까 노출되면 안되는 "비밀"키
=> 양쪽이 같으니까 노출되면 안되는 나만의 "개인"키
암호화 및 복호화 할 때 사용하는 키가 다름
장점 <양쪽이 같으니까>
암호화와 복호화 속도가 빠름
알고리즘이 단순함
공개키 암호 알고리즘보다 파일의 크기가 작음
<관리자만 복호화 키를 관리하면 되니까>
키의 분배가 용이하고 관리해야 할 키의 개수가 적음
단점 사용자의 증가에 따라 관리해야 할 키의 수가 상대적을 많음 암호화 및 복호화 속도가 느림
알고리즘이 복잡함
개인키 암호 알고리즘보다 파일의 크기가 큼
종류 SEED, ARIA, DES, AES RSA
  • SEED : 1999년 한국인터넷진흥원에서 개발한 블록 암호화 알고리즘으로, 128비트의 블록크기, 128/256비트의 키 길이
  • ARIA : 2004년 학계(Academy), 연구기관(Research Institute), 정부(Agency) 연합으로 개발한 128비트의 블록크기, 128/192/256비트의 키 길이
  • DES : 1975년 미국 NBS(전 미국표준기술연구소)에서 발표한 64비트의 블록크기, 56비트의 키길이
  • AES : 2001년 DES에 한계를 느낀 NIST(현 미국표준기술연구소)에서 공모한 후 발표한 128비트의 블록크기, 128/192/256비트 길이의 키길이
  • RSA : 1978년 MIT의 Rivest, Shamir, Adelman이 큰 숫자를 소인수분해하기 어렵다는 점에 기반하여 만든 공개키 암호 알고리즘
728x90
반응형