본문 바로가기
Tip & Tech/Tech

대칭암호화방식(AES,SEED) vs 비대칭암호화방식(RSA) 정리

by 나비와꽃기린 2019. 10. 7.

 

운영하던 사이트가 하나는 AES128 암호화를 사용하고 하나는 RSA를 사용했다.

물론 RSA를 사용한 사이트 프로젝트가 더 최신.

 

암호화 방식에 대해 개념이 부족하여 정리해보았다.

물론....깊게 파고들지는 못했지만 아.. 암호화가 뭐구나 정도의 수준까지는 정리된거 같다.@_@;

 

<암호화>

-암호화 할 때의 KEY와 복호화 할 때의 KEY 값이 같으면 대칭키

--> 대칭키를 사용하는 대칭형 암호 알고리즘

--> 대칭형 알고리즘의 대표적인 예 : SEED, DES, DES3, AES

 

-암호화 할 떄의 KEY와 복호화 할 때의 KEY가 다르면 비대칭키라고 한다

--> 비대칭키를 사용하는 비대칭형 암호 알고리즘

--> 대칭형 알고리즘의 대표적인 예 : RSA

 

 

1.   대칭 암호화 방식 이란?

암호화, 복호화 할 때 동일한 키를 사용하는 방식을 말함.

자신의 키로 MSG를 암호화하고, 키를 수신자에게 비밀리에 보내면 수신자는 전달받은 키로 복호화를 하여 평문을 얻는 방식임. 교환 당사자간에 동일한 키를 공유해야 하기 때문에

키 전달 및 관리에 어려움이 있고 키가 공격자에게 노출되면 보안에 매우 취약해진다는 단점이 있지만, 비대칭 암호화 방식에 비해 키 사이즈가 상대적으로 작고 암호 알고리즘 구조가 간단하여 연산속도가 빨라 효율적인 암호 시스템을 구축할 수 있다는 장점이 있다.

--> 단점을 보완하고자 공개키암호화방식이 나옴.

 

1.1 대칭알고리즘의 대표적인 ‘AES’의 특징

AES ?

128비트의 블록 암호. Cipher(사이퍼) Key 로 평문을 암호화 한다.

평문과 Cipher KeyAdd Round Key, Sub Byte, Shift Row, Mix Column 과정을

반복하여 암호화 수행

 

AES 자세한 내용(참고) 및 이미지 출처 : https://newstein03.tistory.com/1

 

 

 

2. 비대칭 암호화 방식 (공개키 암호화 방식) 이란?

암호화 할 때 사용하는 공개키를 사람들에게 공개하는 방식을 말함.

아무나 이 키를 가지고 암호화를 수행 할 수 있지만,

어짜피 복호화를 하는 개인키는 나만 가지고 있기 때문에

암호화된 문장은 나만 복호화 할 수 있다.

 

 

2.1 공개키알고리즘이 대표적인 ‘RSA’의 특징

RSA ?

공개키 암호화 방식중의 하나.

두개의 키를 사용하는데, 공개키(public key)는 모두에게 공개되어 있고 메시지를 암호화 하는데 사용하고, 개인키(private key)는 개인키를 가진 사람만이 암호화된 메시지를 복호화 해서 여는데 사용한다.

일반적으로는 이렇지만 RSA 공개키 알고리즘은 개인키로 암호화하여 공개키로 복호화 할 수도 있듯 별다른 제약조건이 없다.

 

1.     암호화 키와 복호화 키가 다름 (비대칭키 방식이라는 것)

2.     대칭키 알고리즘에 비하여 속도가 느리다.

3.     키는 다음과 같이 관리할 수 있다.

각자의 공개키와 개인키를 생성하여 공개키는 공개하고 자기는 개인키만 관리

4.     AB가 공개키 알고리즘으로 메시지를 송수신 하고자 한다면

A(송신자)B(수신자)의 공개키(Public key)를 받아 보내고자 하는 MSG를 암호화 하여 B에게

전송한다. 그럼 B는 자신의 개인키(Private Key)MSG를 복호화해서 평문을 얻는다.

 

--> 길이가 길어지면 소인수분해 하기 힘들다는 점을 이용했기 때문에 공개키로 개인키를 알아내는 것은 매우 어렵지만, 그만큼 연산이 복잡하고 느리다는 단점이 있다.

 

--> (좋은 예)

A라는 사람에게 B라는 사람이 메시지를 전하고자 B A 열린 자물쇠를 들고 그의 메시지를 봉인(공개키 암호화 과정에 해당)하고, 그런 다음 A에게 전해 주면, 자물쇠의 열쇠(개인키에 해당) 가지고 있는 A 메시지를 열어보는(개인키 복호화 과정에 해당) 식이 된다. 중간에 메시지를 가로채는 사람은 열쇠를 가지고 있지 않으므로 메시지를 열람할 없다.

--> (나쁜 예)

다만, 중간과정에서 C라는 공격자가 B인척하고 자신의 공개키로 메시지를 전송하게 됬을 때 만약 A가 속는다면문제가 생길 수 있다. 이런 공격을 막기 위해 공개키를 인증할 수 있는 방법이 필요한데 그게 바로 인증서가 된다.

 

이미지출처 : https://brownbears.tistory.com/332

 

 

 

 

< 암호화방식 정리 비교 표 >

 

댓글1

  • 행인 2021.08.13 08:15

    안녕하세요, 내용중에
    '<암호화>

    -->대칭형 알고리즘의 대표적인 예 : RSA'

    가 잘못된거 같습니다
    답글