Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Spring Boot Actuator
- TypeScript
- 사가 패턴
- The law of Demeter
- 타입스크립트
- Transaction Pattern
- Serial GC
- Java
- MSA
- 스프링 배치
- zipkin
- Action Pattern
- JPA
- 스레드
- 디자인 패턴
- 멀티스레드
- spring batch
- Resilinece4j
- spring cloud
- 키클락
- 알고리즘
- java 정렬
- Parallel Old GC
- 체인 패턴
- Spring Cloud Netfilx Eureka
- 디자인패턴
- thread
- 배치
- 생산자 소비자 패턴
- saga pattern
Archives
- Today
- Total
PSD( Private-Self-Development )
대칭키 암호화 방식 본문
대칭키 암호화 방식 이란?
암호화와 복호화에 같은 암호 키 를 사용하는 양방향 암호화 알고리즘
대칭키 암호화 방식의 장단점
장점
- 비대칭키 대비 개발이 용이하고, 암/복호화 속도가 빠르다.
때문에 암복호화 대상이 많다면 유리하다. - 암호화 로직 구현이 비교적 간단하다.
단점
- 암/복호화 당사자간의 동일한 키를 공유하기 때문에 키 관리가 어렵다.
대칭키 암호화 종류
1. DES ( Data Encryption Standard )
특징
- 평문의 각 블록의 길이, 키, 암호문 모두 64 bit
- feistel 암호 방식
장점
- 암복호화 속도가 빠르다.
때문에 암복호화 대상이 많다면 유리하다.
단점
- 전수 공격의 취약하다.
feistel 암호 란?
파이스텔 암호(Feistel cipher)는 블록 암호의 일종으로,
암호화 방식이 특정 계산 함수의 반복으로 이루어진다.
이 때, 각 과정에 사용되는 함수는 라운드 함수(round function)이라고 부른다.
알고리즘 수행 속도가 빠르다.
전수 공격이란?
암호화할 때 일어날 수 있는 모든 가능한 경우에 대해 조사하는 방법으로 경우의 수가 적을 때는 가장 정확한 방법이지만 일반적으로 경우의 수가 많은 경우에는 실현 불가능한 방법이다.
2. AES ( Advanced Encryption Standard )
특징
- 평문의 각 블록 길이가 128 bit
- 키 크기에 따라 128, 192, 256 로 나뉜다.
- 키 확장 알고리즘에 따라 생성되는 라운드 키는 128 bit 로 동일하다.
- non feistel 즉, SPN 구조 알고리즘으로 암복호화 알고리즘이 서로 다르다.
장점
- DES 대비 안전하다.
SPN 구조 알고리즘 이란?
- 여러 개의 함수를 중첩하면 개별 함수로 이루어진 암호보다 안전하다는 Shannon의 이론에 근거
- 암복호화 알고리즘이 서로 다르다.
- 구현 시 비용이 많이 든다.
3. SEED
특징
- 인터넷, 전자상서래, 무선통신 등에서 사용하기 위해 만든 대칭키 알고리즘
- Feistel 암호 방식
4. HIGHT ( High Security and Light Weight)
특징
- 저전력, 경량화를 요구하는 컴퓨팅 환경에서 기밀성을 제공을 위한 대칭키 알고리즘
- Feistel 암호 방식
5. IDEA ( International Data Encryption Algorithm )
특징
- Feistel 과 SPN 의 중간형태
장점
- DES 대비 안전하다.
6. RC4
단점
- 보안적으로 취약하다.
7. RC5
특징
- Feistel 암호 방식
장점
- DES 대비 10배의 속도
8. ARIA
특징
- SPN 구조 알고리즘 방식
- 경량 환경 및 하드웨어 구현을 위해 최적화
9. LEA
장점
- 경량 고속 대칭키 알고리즘
- 대용량 처리 및 저전력 암호화에 유리
참조
https://retro-blue.tistory.com/38
https://itwiki.kr/w/%EB%B8%94%EB%A1%9D_%EC%95%94%ED%98%B8_%EA%B3%B5%EA%B2%A9
https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%EC%8A%A4%ED%85%94_%EC%95%94%ED%98%B8
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=nologout&logNo=138144073
'Backend > 기타' 카테고리의 다른 글
단위테스트( Unit Test ) 와 테스트 주도 개발( TDD ) (0) | 2022.11.14 |
---|---|
Java 서버 와 Node.js 서버 장단점 및 비교 (0) | 2022.11.09 |
인터넷 브라우저에 도메인 주소 입력 시 발생하는 현상 (0) | 2022.11.09 |
단방향 암호화 ( HASH ) 와 단점 보완 (0) | 2022.10.03 |
비대칭키 암호화 방식( 공개키 암호화 방식 ) (0) | 2022.09.30 |