일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- groupe_by()
- summarize()
- filter()
- AES
- mutate()
- proc contents
- distinct()
- select()
- samp;e_frac()
- 대칭형 알고리즘
- arrange()
- sample_n()
- dplyr
- Today
- Total
Gae Ko's Blog
[암호] 대칭키 암호 vs 공개키 암호 본문
개인키 = 비밀키 = 비공개키
공개키 기법 = 비대칭키 기법
암호화와 복호화에 사용하는 암호키가 같은지 다른지에 따라 암호화 기법이 대칭키 기법과 비대칭키 기법으로 나뉘어 진다.
1. 대칭키 암호
- 하나의 비밀키를 양쪽(client & server)가 모두 같이 사용
- 암호화와 복호화에 사용하는 키가 같은 암호화 알고리즘
- 공개키와 비밀키를 별도로 가지는 것과 구별되는데, 이와 비교하면 계산속도가 빠르다는 장점
- 비밀키 하나만 알아내면 암호화된 내용을 해독 가능 → 해커로부터 안전 X
- 대킹키 암호는 암호화하는 단위에 따라 스트림암호와 블록암호로 나눌 수 있음
º 스트림암호는 연속적인 비트/바이트를 계속해서 입력받아, 그에 대응하는 암호화 비트/마이트를 생성하는 방식
º 블록암호는 정해진 한 단위(블록)을 입력받아 그에 대응하는 암호화 블록을 생성하는 방식
º 블록암호의 경우 적절한 운용모드를 조합하면 블록 단위보다 큰 입력을 처리할 수 있음. 또한 스트림암호와 유사하게 지속적인 입력에 대해 동작할 수 있음. (대신 입출력 단위는 스트림암호보다 큰 블록 단위가 됨)
- 대킹키 기법을 사용하는 암호 알고리즘 방식으로 DES, 3-DES, AES, SEED, ARIA, MASK 등이 있다.
2. 공개키 암호
- 비밀키 하나 만 가지는 대칭키 암호 방법과 달리, 공개키와 비밀키 두 개가 존재
- 공개키 암호를 구성하는 알고리즘을 대칭키 암호 방식과 비교하여 비대칭 암호라고 불림
- 암호화와 복호화에 사용하는 키가 서로 다름
- 암호화할 때의 키는 공개키(public key), 복호화할 때의 키는 개인키(private key)
- 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있어서
특정한 비밀키를 가지는 사용자만이 내용을 열어볼 수 있도록 하는 방식.
송신자는 수신자의 공개키를 받아 데이터를 암호화하여
네트워크를 통해 원격지에 전달.
수신자는 공개키로 암호화된 데이터를 자신의 개인키로 데이터를 복호화하여 평문을 복원.
- 공개키로 암호화한 메세지는 수신자의 개인키로만 해독할 수 있으므로 안전하게 상대방에게 메세지를 전달해 줄 수 있음.
- 대칭키(비밀키)알고리즘에 비하여 속도가 느리다. (약 1000배)
- 속도가 느리기 때문에 긴문서의 암호화하는 경우보다 대칭키 알고리즘의 키값에 대한 암호에 사용.
- 대표적인 공개키 알고리즘으로 RSA, Elgamal 등이 있음.
공개키 암호화 개념도
※ 비밀키 암호화와 공개키 암호화의 비교
https://technet.microsoft.com/ko-kr/library/aa998077(v=exchg.65).aspx
'암호' 카테고리의 다른 글
[암호] openssl로 파일을 암호화/복호화 하기 (0) | 2018.01.25 |
---|---|
[암호] RSA 암호화 (0) | 2018.01.24 |
[암호] 비트맵 파일 암호화하기 (0) | 2018.01.24 |
[암호] 암호화 알고리즘에 따른 암호화 속도 비교하기 (1) | 2018.01.24 |
[암호] aes_256_cbc 암호화 알고리즘 소스 코드 (1) | 2018.01.16 |