전자서명

    블록체인 암호학 - 전자 서명 2

    공인인증서 전자 서명을 검증하는 데 필요한 공개키에다 소유자 정보를 추가한 증명서이다. CA(Certificate Authority, 인증기관)와 사용자 간 인증서 체결을 통해 사용자 공개키를 인증한다. 사용자는 검증키와 서명키 쌍을 보유한다. CA는 사용자 정보를 확인하고, 검증키와 사용자 정보에 서명해 인증서를 생성한 후 사용자에게 전달한다. CA에서 받은 인증키로 검증키를 인증하고, 서명을 확인한다. 사용자는 개인 서명키를 이용해 데이터나 자금을 거래할 수 있다. 서명 압축(Signature Aggregation) 블록체인에서 서명이 차지하는 비중은 크다. 효율성을 위해서 서명 크기를 줄여야 하는데, 이를 구현한 것이 서명 압축이다. 다수의 서명을 하나로 압축하는데, 개수에 상관 없이 일정한 크기로..

    블록체인 암호학- 전자서명

    전자서명 전자서명은 서명자가 전자문서에 서명했다는 사실을 확인할 수 있는 정보이다. 키 생성 알고리즘, 서명 알고리즘, 검증 알고리즘으로 구성된다. 키 생성 알고리즘 전자서명을 생성하는 서명키와 서명을 확인하는 검증키를 생성한다. 서명키와 검증키는 개인 별로 다르게 만들어진다. 서명키는 서명하는 본인만 아는 비밀정보이다. 검증키는 모든 이가 아는 공개된 정보이다. 서명키로부터 검증키를 도출할 수는 있지만, 검증키로부터 서명키를 계산할 수는 없다. 서명 알고리즘 문서를 받아 서명키를 사용해 서명값을 계산한다. 문서의 크기가 크다면 알고리즘 내부에서 해시 함수를 사용해 크기를 줄인다. 서명자만이 알고 있는 서명키를 사용해 전자서명을 만든다. 검증 알고리즘 문서와 서명값을 입력으로 받고, 검증키를 사용해 서명..