랜덤 Oracle 모델에서 무 지식 프로토콜의 소진 시뮬레이터


13

"공통 참조 문자열 및 임의 Oracle 모델의 거부 가능성"이라는 제목의 논문에서 Rafael Pass는 다음과 같이 말합니다.

RO [Random Oracle] 모델에서 표준 제로 지식 정의에 따라 보안을 입증 할 때 시뮬레이터는 일반 모델 시뮬레이터에 비해 두 가지 장점이 있습니다.

  1. 시뮬레이터는 당사자가 오라클에 어떤 값을 쿼리하는지 확인할 수 있습니다.
  2. 시뮬레이터는 응답이 "보여"괜찮다면 원하는 방식으로 이러한 쿼리에 응답 할 수 있습니다.

첫 번째 기술, 즉 RO에 대한 쿼리를 "모니터링"하는 능력은 RO 모델의 무 지식 개념을 참조하는 모든 논문에서 매우 일반적입니다.

이제 블랙 박스 영 지식 의 정의를 고려하십시오 ( PPT확률적이고 다항식 튜링 머신을 나타냅니다 ).

PPT 시뮬레이터 , 예컨대 그 (아마도 부정) PPT 검증기 , 공통 입력 및 난수 , 다음은 구별 :V x L rSVxLr

  • 입력 상에서 프로 버 와 상호 작용하고 랜덤 성 사용 하는 동안 의 관점 ; P x rVPxr
  • 출력 입력에 및 , 블랙 박스에 액세스 주어진다 . X는 r에 S V *SxrSV

여기에서는 부정 행위 검증기 를 보여 드리고자 합니다.V

하자 블랙 박스 제로 지식의 정의에 존재 한정사에 의해 보장 시뮬레이터, 그리고하자 의 실행 시간 상단 경계 다항식 일 입력에 . 가 의 쿼리를 RO 에 모니터하려고 한다고 가정하십시오 .q ( | x | ) S x S V Sq(|x|)SxSV

이제 부정 행위 생각해 보자. 우선 RO는 번 (선택한 임의의 입력에 대해 을 쿼리 한 다음 임의로 악의적으로 행동한다. q ( | x | ) + 1Vq(|x|)+1

분명히 는 시뮬레이터 소진합니다 . 의 간단한 방법은 그러한 악의적 인 행동을 거부하는 것이지만, 그렇게하면 구별자가 실제 상호 작용을 시뮬레이션 된 행동과 쉽게 구별 할 수 있습니다. (실제 상호 작용에서 증명 자 는 의 쿼리를 모니터링 할 수 없으므로 가 너무 많이 쿼리 한다는 사실만으로는 거부하지 않습니다 .) S S P V ' V 'VSSPVV

위의 문제에 대한 해결 방법은 무엇입니까?

편집하다:

RO 모델에서 ZK를 연구하기위한 좋은 소스는 다음과 같습니다.

Martin Gagné, 랜덤 오라클 모델 연구, Ph.D. 2008 년 데이비스 , 캘리포니아 대학 논문, 109 쪽. ProQuest에서 사용 가능 : http://gradworks.umi.com/33/36/3336254.html

특히, Yung 및 Zhao에 기인 한 섹션 3.3 (20 페이지)의 RO 모델에서 블랙 박스 ZK에 대한 정의를 제공합니다.

Moti Yung과 Yunlei Zhao. 제한된 랜덤 Oracle을 통한 대화식 제로 지식. 에서 TCC 2006 - 암호화 이론 , LNCS 3876, PP 21-40, 2006..


나는 당신이 "소진"대신 "완전"을 의미한다고 생각합니다.
Dave Clarke

나는달라고 간청한다. ZK 프로토콜의 시뮬레이터를 "고갈시키는"방법을 찾았다는 것을 의미했습니다 ... "완전한"시뮬레이터는 없습니다.
MS Dousti

내 잘못이야. 나는 동사가 아니라 형용사로 소진을 읽습니다.
Dave Clarke

답변:


10

랜덤 오라클 모델에서 블랙 박스 ZK를 정의하려는 이유에 대한 의문이 있습니다. 사람들이 블랙 박스 제로 지식의 정의를 제안한 이유는 두 가지 이상 있습니다.

1) 긍정적 인 결과를 들어, 시뮬레이터는 "블랙 박스 영 지식"자동으로 당신의 실행 시간에 바인딩 좋은를 제공이라고 말할 (즉, 반대 to ) 그리고 시뮬레이터가 의 내장을 보지 않고 가 RAM, 회로 등을 사용하여 구현 되는지 신경 쓰지 않는다는 것을 아는 것도 유용 할 수 있습니다 . 랜덤 오라클 모델 시뮬레이터는 효율적인 수도 있지만 그것이 실행 보면 어떻게 든로되어 있기 때문에 ..이 블랙 박스는 분명히 아니다 때 그것에서 이해p o l y ( t i m e ( V ) ) V V V V poly(|x|)time(V)poly(time(V))VVVV해시 함수를 평가하고 있습니다. 이러한 이유로, 랜덤 오라클 모델 시뮬레이터가 "블랙 박스"라고 말하는 것은 의미가 없습니다.

2) 부정적인 결과를 위해 사람들은 "블랙 박스 시뮬레이터"를 사용하여 다양한 종류의 증명 기술을 포착합니다. 이 경우 랜덤 오라클 모델에서도 블랙 박스 시뮬레이터를 정의 할 수 있으며, 의미있는 정의는 David가 말한 것입니다. 사실, 랜덤 오라클 모델이 아니더라도 부정적인 결과를 얻으려면 시뮬레이터 실행 시간 을 허용하더라도 결과가 유지되는 것이 가장 좋습니다 . 실제로, 그것이 항상 언급되는 것은 아니지만, 부정 행위 검증기 는 일반적으로 의사 난수 함수를 실행하는 고정 다항식 알고리즘이며 시뮬레이터는 다항식 실행 시간을 가질 수 있기 때문에 내가 알고있는 부정적인 결과에는 모두이 속성이 있습니다 .V poly(time(V))V


1
"유니버설 시뮬레이션"ZK도 마찬가지입니까? 결국, 블랙 박스 ZK는 가 결정 되기 전에 실행 시간이 고정되는 범용 시뮬레이션 ZK의 한 유형입니다 . 그러나 비 블랙 박스 ZK는 범용 시뮬레이션 ZK의 한 유형으로, S는 V *의 " V
거트

일부 참고 문헌에 대해서는 편집 된 질문을 참조하십시오.
MS Dousti

1
범용 (블랙 박스가 아닌) 시뮬레이터의 경우 의 실행 시간에 실행 시간 다항식을 허용해야합니다. 그렇지 않으면 시뮬레이터에 을 호출 할 시간이 없기 때문 입니다. 그러나 일반적으로 제가 한 요점은 "블랙 박스 제로 지식"은 정식 정의가 아니라 도구이며, 결과를보다 의미있게 만들기 위해 긍정적 또는 부정적 결과의 맥락에서 도구를 다르게 사용할 수 있다는 것입니다. V *VV
보아스 바락

1
자세한 내용을 읽고 싶었 기 때문에 귀하의 의견에 대한 답변을 연기했습니다. 특히, Yung과 Zhao의 논문 (위에 인용)을 읽었으며 RO 모델에서 블랙 박스 ZK를 사용하여 긍정적 인 결과를 얻었지만 "랜덤-오라클 모델이라고 말하는 것은 이치에 맞지 않습니다. 시뮬레이터는 '블랙 박스'입니다. " 결과가 철학적으로 문제가됩니까, 아니면 블랙 박스의 정의를 완화해야합니까?
MS Dousti

4

여기에 문제가 있습니다. 나는 최근 랜덤 오라클 (RO) 모델에서 블랙 박스 제로 지식을 다루는 논문을 읽지 않았으므로 거기에서 쓰여진 내용이 아니라 의미가 무엇인지 추측하고 있습니다. 짧은 대답 (추측)은 RO 모델의 BB-ZK가 시뮬레이터를 | x | 부정 행위 검증자인 V *에 의해 발행 된 RO 쿼리의 수.

그 추측을 정당화하려고 노력합시다. "랜덤 오라클 모델의 블랙 박스 제로 지식 증명"이라는 용어는 제대로 정의하기 위해 더 자세히 살펴볼 필요가 있습니다. 블랙 박스 시뮬레이터는 모든 오라클 (즉, 부정 행위 검증 도구를 블랙 박스로 사용)과 작동하도록 정의되어 있으며 유일한 인터페이스는 오라클 입력 / 출력을 통한 것입니다. 모든 당사자에게 RO를 제공하기 위해이 모델을 보강하면 (아마도 회로에 RO 게이트를 허용함으로써) 시뮬레이터가 Oracle 쿼리에서 RO를 프로그래밍 할 수없는 모델을 얻습니다 (RO 쿼리 포함). V * 오라클의 "내부"에서 발생하고 다음 메시지를 반환합니다. RO 프로그래밍을 허용하려면 인터페이스를 수정해야합니다. 이제 시뮬레이터는 V *에 대한 입 / 출력 오라클을 가져오고 임의 오라클은 얻지 않습니다. V * oracle을 호출 할 때마다 다음 메시지를 생성하는 대신 오라클은 RO에 대한 다음 쿼리를 생성 할 수 있으며 시뮬레이터는 오라클을 다시 호출하여 RO 응답을 제공 할 수 있습니다. 이제 RO 프로그래밍이 가능하며 시뮬레이터의 실행 시간이 RO에 대한 쿼리 수에 의존 할 수 있습니다.

이러한 정의의 의미에 대한 추가 탐색은 독자에게 맡겨져 있습니다. 문법적으로 생각하고 있습니다.


1
답 David에게 감사합니다. 시뮬레이터가 RO를 프로그래밍 할 수있는 능력에 관계없이 시뮬레이터를 "모니터링"할 수 있어야합니다. 따라서 V *의 모든 오라클 쿼리는 M 시간을 최소한 시간 낭비합니다. 귀하의 "*와 RO의 수는 V에서의 질의 | | X의 시간 다항식의 시뮬레이터를 실행하자."아이디어로 모델을 변경하는 것입니다 이것이 표준 모델은 아니지만 합리적인 솔루션으로 생각합니다. 그러나 나는 지역 사회의 "거인"... 최초의 모델의 신뢰성을 인정해야 생각
MS Dousti

1
"표준 모델"을 정확하게 정의하는 출처를 인용 할 수 있습니까? (이 용어는 종종 "계산 모델에 임의의 oracles 또는 기타 수정 사항이 없음"의 동의어로 사용되지만 이것이 의미하는 바라고 생각하지 않습니다.) 표준으로 간주되는 것이 무엇인지, 그렇지 않은 경우, 우리는 "거대 자"없이 적극적으로 우리의 추론을 증명할 수 있습니다.
David Cash

1
물론 "표준 모델"이란 RO 모델에서 ZK의 "표준 정의"를 의미했습니다. Rafael Pass의 논문 (질문에 인용) 또는 그의 MSc 논문 (제로 "지식 증명의 대안 변형") 또는 AsiaCrypt 2009의 Wee 논문 ( "임의 Oracle 모델의 제로 지식, 재검토")을 참조 할 수 있습니다. . 이들 중 어느 것도 RO 모델에서 "블랙 박스"ZK를 정의하지 않았지만 ( "x |로 실행 시간 다항식 및 V *에 의해 생성 된 RO 쿼리의 수"는 언급하지 않았다). 따라서 저는 여러분이 새로운 정의를 제시하고 있다고 생각합니다 (Google it!)
MS Dousti

일부 참고 문헌에 대해서는 편집 된 질문을 참조하십시오.
MS Dousti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.