개인키 = 비밀키 = 비공개키
공개키 기법 = 비대칭키 기법
하나의 비밀키를 양쪽(client & server)가 모두 같이 사용
암호화와 복호화에 사용하는 키가 같은 암호화 알고리즘
공개키와 비밀키를 별도로 가지는 것과 구별되는데, 이와 비교하면 계산속도가 빠르다는 장점
비밀키 하나만 알아내면 암호화된 내용을 해독 가능 → 해커로부터 안전 X
대킹키 암호는 암호화하는 단위에 따라 스트림암호와 블록암호로 나눌 수 있음
º 스트림암호는 연속적인 비트/바이트를 계속해서 입력받아, 그에 대응하는 암호화 비트/마이트를 생성하는 방식
º 블록암호는 정해진 한 단위(블록)을 입력받아 그에 대응하는 암호화 블록을 생성하는 방식
º 블록암호의 경우 적절한 운용모드를 조합하면 블록 단위보다 큰 입력을 처리할 수 있음. 또한 스트림암호와 유사하게 지속적인 입력에 대해 동작할 수 있음. (대신 입출력 단위는 스트림암호보다 큰 블록 단위가 됨)
대킹키 기법을 사용하는 암호 알고리즘 방식으로 DES, 3-DES, AES, SEED, ARIA, MASK 등이 있다.
비밀키 하나 만 가지는 대칭키 암호 방법과 달리, 공개키와 비밀키 두 개가 존재
공개키 암호를 구성하는 알고리즘을 대칭키 암호 방식과 비교하여 비대칭 암호라고 불림
암호화와 복호화에 사용하는 키가 서로 다름
암호화할 때의 키는 공개키(public key), 복호화할 때의 키는 개인키(private key)
공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있어서
특정한 비밀키를 가지는 사용자만이 내용을 열어볼 수 있도록 하는 방식.
공개키로 암호화한 메세지는 수신자의 개인키로만 해독할 수 있으므로 안전하게 상대방에게 메세지를 전달해 줄 수 있음.
대칭키(비밀키)알고리즘에 비하여 속도가 느리다. (약 1000배)
속도가 느리기 때문에 긴문서의 암호화하는 경우보다 대칭키 알고리즘의 키값에 대한 암호에 사용.
대표적인 공개키 알고리즘으로 RSA, Elgamal 등이 있음.
송신자는 수신자의 공개키를 받아 데이터를 암호화하여
네트워크를 통해 원격지에 전달.
수신자는 공개키로 암호화된 데이터를 자신의 개인키로 데이터를 복호화하여 평문을 복원.