오래 못 할 짓 하지 않기

[ 간단한 암호학 ] 4. 양방향 암호화 - 비대칭키(공개키 방식) 본문

3학년 2학기/암호학(Cryptography)

[ 간단한 암호학 ] 4. 양방향 암호화 - 비대칭키(공개키 방식)

쫑알bot 2024. 7. 9. 12:46
728x90

비대칭키 사용 이유는 두 가지다.

 

- 기밀성

- 전자 서명

 

기밀성

 

 

비대칭키 방식에서는 

 

공개키를 사용하여 암호화를 하고

비공개키를 사용하여 복호화를 한다.

그 반대도 가능하다.

 

하지만 암호화 / 복호화 하는 키가 달라야 하고

둘 중에 하나는 절대 공개되어서는 안 된다.

 

 

우선 대칭키 방식으로 예시를 보자.

B가 A에게 정보를 전달한다고 한다.

 

B는 평문을 B key를 사용하여 암호화 했다.

▶ A가 이 암호문을 복호화 하려면 B key도 있어야 해서 모두 넘겨줬다.

▶ 이렇게 했을 때, A도 가져갈 수 있지만

     나쁜 의도로 접근하는 Cracker도 Key와 암호문에 접근할 수 있다.

 

 

 

 이런 일을 겪고난 A와 B는 비대칭키 방식을 사용한다.

 

우선 Public key = 암호화에 사용

Private key = 복호화에 사용한다고 생각하자

A → B 로 정보를 전달한다.

 

 

A는 Public key를 공개하고, 이를 통해 암호화한다는 걸 알린다.

▶ 이를 B와 Cracker도 가져간다.

▶ B가 이 key를 통해 자신의 정보를 암호화하고, 그 암호문을 던진다.(=보낸다. = 공개한다 )

▶ A가 이 암호문을 가져가고, 자신이 가지고 있는 Private key로 복호화한다.

   + 이 와중에 B의 암호문을 Cracker가 가져가도 복호화 할 수 있는 Private key가 없기 때문에 정보를 알 수 없다.

 


 

RSA를 사용해서 이해해보자

 

 

secret이라는 단어를 Public key로 encrypte하면 아래와 같은 암호문이 나온다.

 

 저 암호문을 Private Key와 넣으면 복호화 할 수 있다. ( 원래는 방장만 Private Key를 가지고 있다. )

 = Private Key로 원래 정보를 볼 수 있다.

 

 

 


전자 서명

 

전자 서명의 원리를 보자.

이번에는 Signature를 Private key로 만들고

이를 복호화할 때 Public key로 만든다.

 

▶ 우리가 적은 내용 + private key로 만들어진 암호문 (자신인 걸 알 수 있게 하는 내용을 암호화한다.)

▶ Public key와 내용+암호문을 올린다. ( Public key는 처음부터 서로 공유된 것이다. )

▶ Public key를 가지고 A가 암호화한 걸 확인한다. ( 여기에선 Content 내용을 암호화 한 거임 )

▶ Public key로 복호화한 내용과 그 앞에 붙어있는 내용(평문)이 같은지 판단

▶ 같다면 인증 성공

 

 

이 때 Cracker가 자신의 평문에 Cracker private key를 이용하여 암호화된 내용을 덧붙인다.

▶ 이 내용을 public key와 같이 올린다.

▶ B가 가져가서 Cracker public key가 아니라 A public key로 복호화한다.

▶ 내용과 복호화된 암호문의 내용이 당연히 같지 않을 것이기 때문에
    ( Cracker 암호문을 복호화하기위한 Key가 아니기 때문)

    인증 실패

 

 

(출처)

유튜브 - 생활코딩