티스토리 뷰

블록체인

전자서명과 공개키 암호화

느린 개미 2022. 5. 14. 07:13
반응형

대칭키 암호 vs 비대칭키 암호 

대칭키암호 : 암호화에 사용한 키와 복호화에 사용한 키가 동일한 경우

비대칭키암호 : 암호화에 사용한 키와 복호화에 사용한 키가 다를 경우 

 

비대칭키 암호 (공개키 암호)

- 두개의 키를 이용하여 암호화와 복호화를 실행 

암호화에 사용되는 키 = 공개키(Public Key)

복호화에 사용하는 키 = 비밀키(Secret Key)

 

- 사용 목적 

누구든지 암호화할 수 있지만, 비밀키를 아는 사람만 복호화할 수 있다.

비대칭키 암호(공개키암호)

 

- 사용방법 

 

앨리스가 밥에게 보낼 때

1. 앨리스는 밥의 공개키(PK/bob) 을 이용하여 암호화 한다.

2. 밥은 밥의 개인키(SK/bob)을 이용하여 복호화 한다.

 

밥이 앨리스에게 보낼 때

1. 밥은 앨리스의 공개키(PK/Alice) 을 이용하여 암호화 한다.

2. 앨리스는 앨리스의 개인키(SK/Alice)을 이용하여 복호화한다.

 

전자서명

비대칭키 암호는 지정된 사람만 정보를 확인할 수 있도록 돕는다.

하지만, 누가 데이터를 보냈는지는 어떻게 확인할까?

 

=> 누가 데이터를 보냈는지 확인하는 방법이 전자서명

 

  • 전자서명은 비대칭 암호의 응용프로그램
  • 서명은 비밀키로만 생성가능
  • 공개키는 서명이 짝을 이루는 비밀키로 생성되었는지를 검증
  • 데이터 + 서명이 보내짐

전자서명

- 사용방법

앨리스가 밥에게 보낼 때

 

1. 앨리스는 밥의 공개키(PK/bob) 을 이용하여 암호화 한다.

2. 앨리스는 앨리스의 개인키(SK/Alice)을 이용하여 서명한다.

3. 밥은 밥의 개인키(SK/bob)을 이용하여 복호화 한다.

4. 밥은 앨리스의 공개키(PK/Alice)을 이용하여 서명을 검증한다.(앨리스가 보낸사항임을 확인함)

 

 

전자서명(해쉬 포함)

- 사용방법

앨리스가 밥에게 보낼 때 (해쉬 포함)

 

1. 앨리스는 밥의 공개키(PK/bob) 을 이용하여 암호화 한다.

2. 앨리스는 문서내용(Hello, Bob)을 해쉬한다.

3. 이 해쉬에 앨리스의 개인키(SK/Alice)를 이용하여 서명한다. 

4. 밥은 밥의 개인키(SK/bob)을 이용하여 복호화 한다.

5. 밥은 위의 복호화한 내용을 해쉬한다. 

6. 밥은 앨리스에게서 온 서명을 앨리스의 공개키(PK/Alice)을 이용하여 서명을 검증(복호화)한다.

7. 위의 복호화된 값과, 5의 해쉬값이 일치하는지 확인한다. (앨리스가 보낸사항임을 확인함)

 

위의 이미지들 및 내용은 아래 강의를 참고하였습니다. 

 

Reference 

https://www.inflearn.com/course/klaytn-%EC%8A%A4%EB%A7%88%ED%8A%B8%EA%B3%84%EC%95%BD%EA%B3%BC-%ED%83%88%EC%A4%91%EC%95%99%EC%95%B1/dashboard

 

 

반응형

'블록체인' 카테고리의 다른 글

파이썬으로 블록 해쉬 계산  (0) 2022.04.29
블록 체인과 블록은 무엇일까?  (1) 2022.04.22