대칭 알고리즘
DES (Data Encryption Standard, 데이터 암호화 표준)
- 1970년대에 IBM에서 개발한 AES 도입 이전까지의 표준 대칭 키 암호화 알고리즘
- 블록 크기가 64 bit (8 byte), 키 크기가 56 bit (7byte)로 고정
- 작동 원리 = 암호화할 데이터를 블록으로 나눈 후 각 블록 내의 데이터의 일련의 수학적 연산을 적용하여 작동
- 현재는 IT기술의 발전으로 안전성이 보장되지 않아 사용이 지양됨
3DES (Triple DES)
- DES를 3번 반복하는 방식의 대칭 키 암호화 알고리즘
- DES와 마찬가지로 블록 크기가 64 bit (8 byte), 키 크기가 56 bit (7byte)로 고정
- 암호화를 3번 실행하기 때문에 속도가 느리고 DES의 사실상 퇴출로 사용이 지양됨
AES (Advanced Encryption Standard, 고급 암호화 표준)
- 미국 국립표준기술연구소(NIST)에서 권장하는 표준 대칭 키 암호화 알고리즘 (DES의 대체)
- 블록 크기가 128 bit (16 byte)로 고정되있지만 키 크기는 128, 192, 256 bit (16, 24, 32 byte)를 지원
- 작동 원리 = 암호화할 데이터를 블록으로 나눈 후 각 블록 내의 데이터의 일련의 수학적 연산을 적용하여 작동
- 키의 크기가 수학적 연산의 라운드 수(라운드 함수 적용 횟수)를 결정하며 라운드를 더 많이 사용할수록 보안성이 더 높지만 그만큼 컴퓨팅 연산 성능이 많이 요구됨
- AES-128 = 10라운드, AES-192 = 12라운드, AES-256 = 14라운드
Blowfish
- 브루스 슈나이어가 설계한 대칭 키 암호화 알고리즘
- 블록 크기가 64 bit (8 byte)로 고정되어있지만, 키 크기가 32~448 bit(4~56 byte)로 다양하게 설정 가능함
- 작동 원리 = 암호화할 데이터를 블록으로 나눈 후 각 블록 내의 데이터의 일련의 수학적 연산을 적용하여 작동
- 수학적 연산에 16라운드의 Feistel 암호화 함수 사용
- DES 보다는 보안성이 높으나 AES 보다는 보안성이 낮음 (속도도 AES가 더 빠름)
비대칭 알고리즘
RSA (Rivest-Shamir-Adleman)
- 1977년 로널드 리베스트(Ronald Rivest), 아디 샤미르(Adi Shamir), 레오네르드 아들먼(Len Adleman)에 의해 발명된 비대칭 표준 암호화 알고리즘
- 공개 키와 개인 키의 쌍을 사용
- 키의 크기는 1024, 2048, 3072, 4096 bit (128, 256, 384, 512 byte)를 지원
- 소인수분해 방식의 암호를 사용하기 때문에 보안성이 매우 높음
- 보안성이 높으나 연산이 복잡하고 수행 속도가 느림
'Java > 암호화' 카테고리의 다른 글
| 암호화 패딩 종류 (0) | 2024.03.18 |
|---|---|
| 블록 암호화 기법 종류 (0) | 2024.03.18 |
| javax.crypto.Cipher (0) | 2024.03.18 |
| Jasypt (application.properties 암호화) (0) | 2024.02.28 |
댓글