-
# 암호화 기본개념
- 암호화 알고리즘으로 데이터를 암호화 한 후, 해당 알고리즘으로 복호를 한다.
- 현대에는 해당 알고리즘 + Key 값을 사용하여 암호화를 진행하고, 복호화도 마찬가지로 진행한다.
- 알고리즘이 파훼되도 Key값으로 2중보험을 들 수 있다.
1. 대칭 암호화 (Symmetric Encrpytion)
- A 키로 암호화하고, A 키로 복호화 하는 방법
- 전송자와 수신자간에 같은 키를 가져야하는 문제점이 있음 (Key Agreement Problem)
- 비대칭 암호화에 비해 암호화속도가 훨씬 빠르다. (통신에서 유리)
- 네트워크로 Key 자체를 비대칭 암호화하여 수신자에게 전송하는 방법을 사용
2. 비대칭 암호화 (Asymmetric Encrpytion)
- A 공개키로 암호화한 데이터는 A 비밀키로만 복호화 가능
- 즉, B에게 데이터를 보낼 때, B의 공개키로 암호화 한후 전송하면 B는 자신의 개인키로 복호화가능
- 데이터 자체를 비대칭으로 암호화하면 속도가 느리기에 통신에 적합하지 않음.
- 그리하여 보통 대칭암호화에 쓰일 Key를 비대칭으로 암호화하고, 데이터는 대칭암호화에 쓰일 Key로 대칭암호화한다.
- C가 A인 척하고, B에게 C 공개키를 주고, C로 암호화된 A의 데이터를 받는 경우는 대비할 수 없다.
- 위의 경우를 대비하여 인증이라는 방법을 사용한다.
- 인증의 대중적 방법으로는 인증서가 있는데, 해당기관이 미리 A의 공개키를 가지고 있어, C가 A의 데이터를 받으려면 무조건 A의 비밀키를 가지고 있어야 하므로 데이터 보호성이 높다.