발단. MPC TSS
- MPC = Multi Parti Computation
- 여러 참여자가 자신의 비밀 정보를 숨기면서 함께 결과물 만들기
발단. MPC TSS
- MPC = Multi Parti Computation
- 여러 참여자가 자신의 비밀 정보를 숨기면서 함께 결과물 만들기
- TSS = Threshold Signature Scheme
- 여러 참여자가 협력하여 함께 하나의 서명을 만드는 방법
발단. MPC TSS
- MPC = Multi Parti Computation
- 여러 참여자가 자신의 비밀 정보를 숨기면서 함께 결과물 만들기
- TSS = Threshold Signature Scheme
- 여러 참여자가 협력하여 함께 하나의 서명을 만드는 방법
- MPC가 더 넓은 개념. TSS는 사실상 항상 MPC
발단. MPC TSS
- MPC = Multi Parti Computation
- TSS = Threshold Signature Scheme
- MPC TSS = 여러 참여자가 함께 하나의 서명을 만드는 방법.
- 5명중 3명이 승인했을 때만 지갑 서명을 만들 수 있게 하기
- 키 조각을 여러 인프라에 나누어놓고, 모든 인프라가 해킹당해야지만 키가 해킹당하는 상황 만들기
발단. elliptic curve에서 점의 덧셈
발단. elliptic curve에서 점의 상수 곱
- 임의의 점 G
- 이제 임의의 에 대해 구할 수 있음
발단. elliptic curve 위의 비밀키와 공개키
- 비밀키는 임의의 상수
- 공개키는
- 점 G는 커브마다 다르게 정해진 점
- 오늘 발표에서 앞으로 대문사 알파벳 하나가 나오면 항상 curve 위의 점
- 예) , , ,
발단 요약
- 비밀키(): 나만 아는 숫자 (상수)
- 공개키(): 타원곡선 위의 점
- 타원곡선: 점의 덧셈과 상수 곱 연산이 정의된 곡선
- 서명: 비밀키를 이용해 생성, 공개키로 검증
- 지갑: 공개키로부터 생성된 주소
- MPC TSS: 여러 명이 비밀키 조각을 나누어 갖고 협력하여 하나의 서명을 생성하는 기술
전개. elliptic 디피 헬만 키교환
- alice 가 a 와 생성
- bob 이 b와 생성
- alice 와 bob 이 서로 A와 B 공유
- alice 는 B 를 받아서 생성
- bob 은 A를 받아서 생성
- 둘은 둘만 아는 공유 정보() 생성
전개. schnorr 서명
- eddsa도 schnorr의 일종
- 비밀키 공개키
- 랜덤한 고르기
- 서명
전개. schnorr 서명
- eddsa도 schnorr의 일종
- 비밀키 공개키
- 랜덤한 고르기
- 서명
- 대충 랜덤값메시지해시비밀키
전개. schnorr 대충 이해하기
- k = 랜덤값, x = 비밀키
- 와 를 공개.
- 서명 =
전개. ecdsa 서명
- 비밀키 공개키
- 랜덤한 생성
- 서명
- 대충 랜덤값메시지해시공개값비밀키
전개. ecdsa 서명 대충 이해
- 랜덤값, 비밀키
- ,
- 서명
- 서명
- 이 x 에 곱해지는 거 기억해주세요.
전개 요약
- Diffie Hellman 키교환 = 공유비밀값
- Schnorr 서명 = 랜덤값메시지해시비밀키
- ECDSA 서명= 랜덤값메시지해시공개값비밀키
위기. schnorr는 서명의 덧셈이 가능
- 는 공개된 값
- 서명을 더하는 것 만으로도 2 of 2 TSS를 구현할 수 있음
절정. DKLs18
- 이제 Alice와 Bob이 서로의 비밀 정보를 노출시키지 않고 서로 곱하는 방법만 있으면 해결
절정. OT(oblivious transfer)
- alice 가 와 를 생성
- bob 은 둘 중 하나를 고름. 이를 라고 함
- alice 는 bob 이 무얼 가져갔는지 모름
- bob 은 자신이 갖지 못한 것이 무엇인지 모름
절정. OT 변형
임의의 값 와 0또는 1인 값 를 곱하는 걸 OT로 진행
- alice: 랜덤한 생성
- alice: ,
- bob 이 에 따라 선택
- 서로 자신이 가진 와 를 숨기고 이들의 곱을 구함
절정. OT 사용해서 임의의 수 곱셈

절정. OT 사용해서 임의의 수 곱셈

- 비트 하나의 곱을 n번 해서 더하면 n비트의 곱
절정. Elliptic Curve를 활용한 OT 예시 - 1
- Alice가 를 만들고 를 Bob에게 전달
- Bob이 랜덤으로 , 생성. Alice에게 전달
- Alice는 와 계산.
- 여기까지 Diffie hellma의 변종. 혹은 둘 중 하나가
절정. Elliptic Curve를 활용한 OT 예시 - 2
- Alice가 과 을 계산하여 Bob에게 전달
- Bob은 로 를 복호화해서 를 얻음
- 정리
- Alice는 과 을 생성함
- Bob은 하나만 알게됨
- Alice는 Bob이 뭘 가졌는지 모름.
결말. DKLs18 요약
- ECDSA 서명을 하기 위해서 곱셈을 MPC로 해야함
- OT 기반 곱셈으로 이를 해결.
결말. DKLs18 vs DKLs23
- 같은 사람들이 만들었지만 좀 다름
- t of n 지원
- 통신을 3라운드만 하면 되게 바꿈.
- 서명 전에 미리 준비하게 만듬.