본문 바로가기

공개키 암호방식(Asymmetric Key Cryptography), 대칭키 암호방식(Symmetric Key Cryptography)

sesejeon 발행일 : 2023-04-15

공개키 암호방식과 대칭키 암호방식은 암호화와 복호화에 사용되는 키의 관리 방법이 다른 암호 방식입니다.

 

공개키 암호방식(Asymmetric Key Cryptography)

공개키 암호 방식은 암호화와 복호화에 사용되는 키가 서로 다른 암호 방식입니다. 이 방식에서는 공개키(Public Key)와 개인키(Private Key)라는 두 개의 키가 사용됩니다. 공개키는 누구나 알 수 있으며, 이 키를 이용하여 메시지를 암호화합니다. 이 암호화된 메시지는 개인키를 가진 수신자만이 복호화할 수 있습니다. 따라서, 메시지 송신자는 수신자의 공개키를 이용하여 메시지를 암호화하고, 수신자는 자신만의 개인키를 이용하여 암호화된 메시지를 복호화합니다. 이러한 방식은 보안성이 높으며, 대칭키 암호 방식에 비해 안전한 방식으로 암호화를 수행할 수 있습니다. 대표적인 공개키 암호 방식으로는 RSA, Diffie-Hellman, ECC 등이 있습니다.

 

대칭키 암호방식(Symmetric Key Cryptography)

대칭키 암호 방식은 암호화와 복호화에 사용되는 키가 동일한 암호 방식입니다. 이 방식에서는 암호화와 복호화에 같은 키를 사용하기 때문에, 키를 탈취당하면 암호화된 데이터가 해독될 수 있는 위험이 있습니다. 따라서, 안전한 키 교환 방법과 키 관리가 필요합니다. 송신자는 평문 데이터를 암호화하여 암호문으로 변환한 후, 수신자는 동일한 비밀키(Secret Key)를 이용하여 암호문을 복호화하여 평문 데이터를 얻습니다. 대칭키 암호 방식은 암호화와 복호화에 동일한 키를 사용하기 때문에 빠르게 처리할 수 있으며, 대량의 데이터를 안전하게 전송하고 저장하는 데 적합합니다. 대표적인 대칭키 암호 방식으로는 AES, DES, 3DES, Blowfish 등이 있습니다.

 

기타 암호방식

블록 암호(Block Cipher)

블록 암호는 입력된 평문을 고정된 크기의 블록으로 나눈 후, 각 블록에 대해 암호화를 수행하는 방식입니다. 이 방식에서는 블록 단위로 암호화를 수행하므로, 블록 크기와 암호화에 필요한 키 크기가 중요한 요소입니다. 대표적인 블록 암호로는 DES, AES 등이 있습니다.

 

스트림 암호(Stream Cipher)

스트림 암호는 입력된 평문 데이터를 순차적으로 암호화하는 방식입니다. 이 방식에서는 암호화에 필요한 비밀키와 초기화 벡터(Initialization Vector, IV)라는 랜덤한 값이 사용됩니다. 이 초기화 벡터는 암호화 과정에서 계속 변경되어야 하므로, 안전하게 관리되어야 합니다. 대표적인 스트림 암호로는 RC4 등이 있습니다.

 

 

이 외에도 다양한 암호화 방식이 존재하지만, 이 중에서 가장 많이 사용되는 것은 공개키 암호화 방식과 대칭키 암호화 방식입니다. 암호화 방식을 선택할 때는 암호화 대상의 크기와 보안 요구사항을 고려하여 적절한 방식을 선택해야 합니다.

 

 

정리

암호화 방식 특징 예시
대칭키 암호화 방식 암호화와 복호화에 같은 키를 사용하는 방식으로, 빠르고 간단하나 관리가 어렵습니다. DES, AES
공개키 암호화 방식 공개키와 개인키 개의 키를 사용하는 방식으로, 관리가 용이하지만 느리고 복잡합니다. RSA, ECC
블록 암호화 방식 입력된 평문을 고정된 크기의 블록으로 나눈 , 블록에 대해 암호화를 수행하는 방식입니다. DES, AES
스트림 암호화 방식 입력된 평문 데이터를 순차적으로 암호화하는 방식입니다. RC4

 

댓글