기금넷 공식사이트 - 복권 조회 - 비밀 공유 프로토콜은 어떻게 설계합니까?
비밀 공유 프로토콜은 어떻게 설계합니까?
예를 들어, 한 은행에는 세 개의 출납원이 있어서 매일 금고를 열어야 한다. 모든 계산원이 도둑질하는 것을 막기 위해서, 은행은 최소한 두 명의 계산원이 있어야 금고를 열 수 있다고 규정하고 있다. 비밀 공유 방안을 이용하면 은행 금고를 여는 문제를 실현할 수 있다.
당신이 수십억 개의 복권에 당첨되었다고 가정하면, 당신은 이 재산들을 당신의 친척들에게 물려주고 싶습니다. 당신의 돈은 당신만이 알고 있는 안전한 곳에 잠겨 있습니다. 당신은 이 비밀을 당신에게 알리고 싶지 않습니다. 왜냐하면 그들은 믿을 수 없기 때문입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 돈명언) 너는 비밀을 분해하고 싶어, 이렇게 세 개 모두 함께 넣어 진상을 재건할 수 있다. 이 경우, 누군가가 당신의 유산을 원한다면, 다른 두 아이와 협력해야 합니다.
비밀 공유는 두 가지 문제를 해결합니다. 첫째, 키가 우발적이거나 의도적으로 노출되면 전체 시스템이 쉽게 공격받을 수 있습니다. 둘째, 열쇠가 손실되거나 손상되면 시스템의 모든 정보를 사용할 수 없습니다.
비밀 공유의 기본 사상은 키 K 를 N 개로 나누어 k 1, k2, ... KN 은 다음과 같습니다.
모든 t ki 값은 k 를 쉽게 계산할 수 있다는 것은 잘 알려져 있습니다. 주어진 t–1이하 ki 는 정보 부족으로 k 를 계산할 수 없습니다.
이 스키마는 (t, n) 임계 값 체계라고도합니다. N 개의 공유 k 1, k2, ... kn 을 n 명의 사용자에게 배포합니다. 재구성 키는 적어도 T 부가 필요하고 S (S ≤ T–1) 부를 노출해도 키가 위태롭지 않기 때문에 T 명 미만의 사용자가 공모하여 키를 얻을 수 없습니다. 또한 최소한 T 개의 유효 점유율이 있는 한 하나의 점유율이 손실되거나 파괴될 경우 키를 복구할 수 있습니다. 다음으로 Shamir 의 문 제한 비밀 공유 시나리오를 예로 들어 보겠습니다.
Shamir 문 비밀 공유 체계 Shamir 은 라그랑주 차이 다항식을 기반으로 하는 1979 에서 임계 비밀 공유 체계를 제안했습니다. 구체적인 알고리즘은 다음과 같습니다.
초기화 단계
비밀 배포자 D 는 GF( q) 에서 무작위로 변경됩니다 (Q 는 소수, q >: N). N 개의 다른 0 이 아닌 요소 x 1, x2, ... XN 을 선택합니다. D Xi 는 UI (I = 1, 2, ..., n) 에 할당되고 Xi 의 값은 공용입니다.
비밀 배포 단계
D 가 n 명의 참가자 U 1, U2, ... un 이 비밀 s ∝ GF(q) 를 공유하도록 할 계획이라면 d 는 gf (q) 에서 t–1요소 a/kloc-를 무작위로 선택합니다
F (x) = s+a1x+a2x2+...+at-1XT-1
D 계산 yi=f(xi), 1≤i≤n, yi 를 참가자 Ui 에 안전하게 할당하여 그의 하위 비밀로 삼았다.
비밀 복구 단계
N 개 참가자 중 임의의 T 개 참가자, 우리는 U 1, U2, ... UT 로 설정하고 그 하위 비밀을 표시하여 T-포인트 쌍을 얻습니다: (X 1, Y 1