비대칭 암호화

ClassBinu·2024년 6월 4일
0

양자 컴퓨팅

목록 보기
16/17

공개키와 비밀키(개인키)는 단지 암호화, 복화화에만 쓰이는 게 아니였다!
공개키는 암호화에도 쓰이지만, 디지털 서명 검증에도 쓰인다.
비밀키(개인키)는 복호화에도 쓰이지만, 디지털 서명 생성에도 쓰인다!

디지털 서명

서명 생성

디지털 서명은 송신자가 개인키로 메시지 해시 값을 암호화한다. 이 암호화된 해시 값이 서명이다!

서명 검증

수신자는 송신자의 공개키를 사용해서 서명된 해시 값을 복호화 한다.
그리고 메시지의 실제 해시 값과 비교한다.
만약 두 해시 값이 일치하면 송신자 신원이 검증된 것!

예시

메시지 암호화 및 전송 과정

메시지 준비: Alice는 Bob에게 보낼 메시지를 작성합니다.

해시 계산: Alice는 메시지의 해시 값을 계산합니다. 이 해시는 메시지의 짧은 요약으로, 메시지의 무결성을 검증하는 데 사용됩니다.

서명 생성: Alice는 자신의 개인키로 해시 값을 암호화합니다. 이 암호화된 해시 값이 서명입니다. 이 서명은 메시지가 Alice에 의해 작성되었고 메시지 전송 중에 변경되지 않았음을 보증합니다.

메시지 암호화: Alice는 Bob의 공개키를 사용하여 전체 메시지를 암호화합니다. 이렇게 함으로써 메시지는 Bob만이 복호화할 수 있게 됩니다.

전송: Alice는 암호화된 메시지와 함께 서명을 Bob에게 전송합니다.

메시지 수신 및 검증 과정

메시지 복호화: Bob은 자신의 개인키를 사용하여 받은 메시지를 복호화합니다. Bob만이 자신의 개인키를 가지고 있으므로, Bob만이 이 메시지를 볼 수 있습니다.

서명 검증:

Bob은 Alice의 공개키를 사용하여 받은 서명을 복호화하여 해시 값을 얻습니다.
Bob은 받은 메시지의 해시 값을 직접 계산합니다.
Bob은 두 해시 값을 비교합니다. 만약 두 해시 값이 일치하면, 메시지가 전송 중에 변경되지 않았으며 Alice에 의해 보내진 것임을 확인할 수 있습니다.

각 키의 역할 기억하기!

공개키

  • 원본 메시지 전체 암호화
  • 서명 복호화

개인키

  • 원본 메시지 전체 복호화
  • 서명 암호화

개잍키가 먼저 생성됨. 생성된 개인키를 바탕으로 공개키를 생성.

0개의 댓글

관련 채용 정보