기본 콘텐츠로 건너뛰기

라벨이 설정인 게시물 표시

ZKP-7. 다항식 약정 - 설정(Setup) 단계 상세 설명

영지식 증명, 특히 zk-SNARKs와 같은 시스템에서 설정(Setup) 단계는 전체 시스템의 보안과 신뢰성을 좌우하는 가장 중요한 첫 단추입니다. 이 단계의 주된 목적은 증명 생성(Proving)과 검증(Verifying) 과정에서 공통적으로 사용될 공개된 파라미터(Public Parameters)를 생성하는 것입니다. 이 파라미터를 CRS(Common Reference String) 또는 SRS(Structured Reference String)라고 부릅니다. 설정 단계의 핵심 목표 설정 단계의 목표는 명확합니다. 증명자와 검증자가 다항식에 대한 약속(Commitment)을 만들고, 특정 지점에서의 다항식 값을 공개하지 않으면서도 그 값이 올바르다는 것을 증명하고 검증할 수 있는 '암호학적 기반'을 마련하는 것입니다. 설정 단계의 세부 과정 설정 단계는 크게 두 가지 핵심 과정으로 나눌 수 있습니다. 1. 암호학적 기본 요소 선택 먼저, 다항식 약정 스킴에 사용할 기본적인 암호학적 환경을 결정합니다. 유한체(Finite Field) 선택: 다항식의 계수와 변수가 속할 숫자 체계를 정의합니다. 보통 매우 큰 소수 p를 사용하여 Fp​와 같은 유한체를 사용합니다. 타원 곡선 그룹(Elliptic Curve Group) 선택: 약속(Commitment)을 생성하기 위해 타원 곡선 암호(ECC)를 사용합니다. 특정 타원 곡선과 그 위의 생성점(Generator Point) G를 선택합니다. 이 그룹 연산은 이산 로그 문제(Discrete Logarithm Problem)의 어려움에 기반하여 보안성을 가집니다. 2. CRS(Common Reference String) 생성 이것이 설정 단계의 가장 핵심적인 부분입니다. CRS는 비밀 값(Secret Value)으로부터 파생된 일련의 암호화된 정보이며, 한번 생성되면 증명자와 검증자 모두가 사용하게 됩니다. 비밀 값(Toxic Waste) 생성: 아무도 알아서는 안 되는 비밀 값, τ (타우)를 ...