티스토리 뷰
암호화란?
암호화 (Encryption) 란 평문을 특정 Key를 이용해 해독할 수 없는 형태로 변경하는 것을 말한다.
방식에 따른 분류
암호화 기법에는 크게 양방향과 단방향 암호화가 있는데
평문을 암호화 한 암호문을 반대로 복호화를 할 수 있는지 여부에 따라서 양방향 / 단방향으로 나눠진다.
여기서는 암호화/복호화 가 가능한 양방향 암호화에 대해서 정리해본다.
양방향
암호화 된 암호문을 복호화 할 수 있는 기법을 의미한다.
따라서 암호화/복호화 시 필요한 Key가 존재 하는데
암호화와 복호화를 같은 키를 사용하느냐 다른 키를 사용하느냐에 따라서 대칭키 / 비대칭키로 분류할 수 있다.
대칭키 (비공개키)
암/복호화에 동일한 키를 사용하는 암호화 방식이다.
따라서 키가 노출되면 안되므로 공개하면 안되므로 비공개키 라고도 한다.
대표적으로 AES 알고리즘이 있다.
※ 여기서 사용되는 Key를 Secret 이라고 하는데 Private Key와는 다르다.
Secret은 노출을 비밀스럽게 해야하는 Key를 의미하고 Private Key는 절대 노출되어선 안되는 Key를 의미한다.
비대칭키 (공개키)
암/복호화에 다른 키를 사용하는 암호화 방식이다.
노출시켜선 안되는 키를 Private Key / 노출시켜도 상관 없는 키를 Public Key 라고 한다.
보통의 경우 데이터를 중요하게 다뤄야 하는 서버 측에서 Private Key를 사용하고,
누구나 사용해야 하는 클라이언트 측에서 Public Key를 사용하게 된다.
대표적으로 RSA 알고리즘을 사용한다.
※ 참고로 전자서명에서는 클라이언트가 사용하는 Key가 중요하게 다뤄져야 하므로 Private Key,
서버 측에서는 검증만 하면 되므로 Public Key를 사용하게 된다.
단방향
[그림2] 와 같이 암호문을 평문으로 복호화 할 수 없는 기법을 의미한다.
단방향 기법은 HASH 를 사용하는데 흔히 자료구조에서 사용하던 HASH 가 아니고
암호학적으로, 수학적으로 복호화가 거의 불가능하다고 증명이 된 알고리즘을 사용해야 한다.
인증, 신원증명 등에 주로 쓰이며 대표적으로 SHA-256 알고리즘을 주로 쓴다.
'Architecture > Security' 카테고리의 다른 글
[블록체인] Proof of Stake (PoS) 란? (0) | 2021.06.23 |
---|---|
[암호학] 공개키 암호 방식과 전자서명 (0) | 2021.05.31 |
[암호화] Base64 (0) | 2020.03.19 |
OAUTH (0) | 2019.06.12 |
- Total
- Today
- Yesterday
- k8s
- architecture
- gRPC
- Bruteforce
- 카르다노
- excel parsing
- 사토시 나가모토
- 비트코인
- SpringBoot
- 암호화폐
- Vue.js
- DP
- 알고리즘
- Nealford
- Blockchain
- leetcode
- vuejs
- 스프링 시큐리티
- 백준
- 동적계획법
- 아키텍처
- Java
- 블록체인
- kubernetes
- CARDANO
- 스프링
- Redis
- Spring
- Bitcoin
- white paper
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |