KR101344352B1 - 대리 계산 시스템, 방법, 의뢰 장치, 프로그램 및 그 기록 매체 - Google Patents
대리 계산 시스템, 방법, 의뢰 장치, 프로그램 및 그 기록 매체 Download PDFInfo
- Publication number
- KR101344352B1 KR101344352B1 KR1020127017347A KR20127017347A KR101344352B1 KR 101344352 B1 KR101344352 B1 KR 101344352B1 KR 1020127017347 A KR1020127017347 A KR 1020127017347A KR 20127017347 A KR20127017347 A KR 20127017347A KR 101344352 B1 KR101344352 B1 KR 101344352B1
- Authority
- KR
- South Korea
- Prior art keywords
- calculating
- random number
- calculation
- information
- input information
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 386
- 230000006870 function Effects 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 32
- 230000036571 hydration Effects 0.000 claims 3
- 238000006703 hydration reaction Methods 0.000 claims 3
- 238000004519 manufacturing process Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 230000001771 impaired effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000004078 waterproofing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
올바른 계산을 행할 확률이 낮은 계산 장치를 사용하여 함수 f(x)의 계산을 한다. G, H를 순회군, f를 군 H의 원소 x를 군 G에 그리는 함수, X1, X2를 군 G에 값을 가지는 확률변수, 확률변수 X1의 실현값을 x1, 확률변수 X2의 실현값을 x2로 하여, 정수 계산부가 서로 소인 2개의 자연수 a, b를 사용하여, a'a+b'b=1의 관계를 만족하는 정수 a',b'를 계산한다. 제1 난수화 가능 표본기는 f(x)bx1을 계산 가능하며, 그 계산 결과를 u로 한다. 제1 멱승 계산부는 u'=ua를 계산한다. 제2 난수화 가능 표본기는 f(x)ax2를 계산 가능하며, 그 계산 결과를 v로 한다. 제2 멱승 계산부는 v'=vb를 계산한다. 판정부는 u'=v'인지 판정한다. 최종 계산부는 u'=v'라고 판정된 경우에는 ub'va'를 계산한다.
Description
본 발명은 컴퓨터에 의한 계산 기술에 관한 것이다. 특히, 다른 계산기에 행하게 한 계산 결과를 사용하여 계산을 행하는 기술에 관한 것이다.
올바른 계산을 한다고는 한정할 수 없는 계산 장치에 의뢰한 계산의 결과를 사용하여 의뢰 장치가 함수 f의 계산을 행하는 기술이 비특허문헌 1에 기재되어 있다. 비특허문헌 1에 기재된 자기 정정기는 계산 장치에 계산을 복수회 의뢰하여 그 계산 결과의 다수결을 채용함으로써 함수 f의 계산을 행한다(예를 들면, 비특허문헌 1 참조.).
M. Blum, M. Luby, and R. Rubinfeld, "Self-Testing/Correcting with Applications to Numerical Problems", STOC 1990, pp. 73-83.
그러나, 비특허문헌 1의 자기 정정기가 정상적으로 동작하기 위해서는, 계산 장치는 일정 이상의 확률로 올바른 계산을 할 필요가 있고, 올바른 계산을 행할 확률이 낮은 계산 장치를 사용하여 함수 f의 계산을 하는 기술은 알려져 있지 않다는 과제가 있다.
본 발명의 제1 태양인 대리 계산 시스템은 G, H를 순회군, f를 군 H의 원소 x를 군 G에 그리는 함수, X1, X2를 군 G에 값을 가지는 확률변수, 확률변수 X1의 실현값을 x1, 확률변수 X2의 실현값을 x2로 하여, 서로 소인 2개의 자연수 a, b를 사용하여, a'a+b'b=1의 관계를 만족시키는 정수 a',b'를 계산하는 정수 계산부와, f(x)bx1을 계산 가능하며, 그 계산 결과를 u로 하는 제1 난수화 가능 표본기와, u'=ua를 계산하는 제1 멱승 계산부와, f(x)ax2를 계산 가능하며, 그 계산 결과를 v로 하는 제2 난수화 가능 표본기와, v'=vb를 계산하는 제2 멱승 계산부와, u'=v'인지 판정하는 판정부와, u'=v'라고 판정된 경우에는 ub'va'를 계산하는 최종 계산부를 포함한다.
본 발명의 제2 태양인 대리 계산 시스템은 G, H 및 F를 순회군으로 하고, 사상 θ:G×H→F를 쌍준동형사상으로 하고, g를 군 G의 원소로 하고, h를 군 H의 원소로 하고, KG를 군 G의 위수로 하고, KH를 군 H의 위수로 하고, μg를 군 G의 생성원으로 하고, μh를 군 H의 생성원으로 하고, ν=θ(μg, μg)으로 하고, k를 자연수의 세큐리티 파라미터로 하고, K=2k로 하여, 의뢰 장치는 0 이상 KG 미만의 정수의 난수 r1을 생성하는 제1 난수 생성부와, 0 이상 KH 미만의 정수의 난수 r2를 생성하는 제2 난수 생성부와, 제1 입력 정보 g1=μg r1g를 계산하는 제1 입력 정보 계산부와, 제2 입력 정보 h1=μh r2를 계산하는 제2 입력 정보 계산부와, 계산 장치로부터 수신한 z1∈F를 사용하여, z1ν-r1r2를 계산하는 제1 리스트 정보 계산부와, 난수 r2와 계산된 z1ν-r1r2로 구성되는 정보의 세트(r2,z1ν-r1r2)가 기억되는 제1 리스트 기억부와, 0 이상 K 미만의 정수의 일양난수인 d1을 생성하는 제3 난수 생성부와, 0 이상 KG 미만의 정수의 일양난수인 r4를 생성하는 제4 난수 생성부와, 0 이상 KH 미만의 정수의 일양난수인 r5를 생성하는 제5 난수 생성부와, 제3 입력 정보 g2=μg r4gd1을 계산하는 제3 입력 정보 계산부와, 제4 입력 정보 h2=μh r5를 계산하는 제4 입력 정보 계산부와, 계산 장치로부터 수신한 z2∈F를 사용하여, z2ν-r4r5를 계산하는 제2 리스트 정보 계산부와, d1과 r5와 계산된 z2ν-r4r5로 구성되는 정보의 세트(d1,r5,z2ν-r4r5)가 기억되는 제2 리스트 기억부와, 제1 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s1로 하고, 제2 성분을 w1로 하고, 제2 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t2로 하고, 제2 성분을 s2로 하고, 제3 성분을 w2로 하여, 이들의 정보의 세트가 (w1)^(t2s2s1 -1)=w2의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는 s1을 σ에 대입하고, w1을 ν'에 대입하는 제1 판정부와, 0 이상 KG 미만의 정수의 일양난수인 r6를 생성하는 제6 난수 생성부와, 0 이상 KH 미만의 정수의 일양난수인 r7을 생성하는 제7 난수 생성부와, 제5 입력 정보 g3=gr6를 계산하는 제5 입력 정보 계산부와, 제6 입력 정보 h3=μh r7σh를 계산하는 제6 입력 정보 계산부와, 계산 장치로부터 수신한 z3∈F를 사용하여, z3ν'-r6r7을 계산하는 제3 리스트 정보 계산부와, r6와 계산된 z3ν'-r6r7로 구성되는 정보의 세트(r6,z3ν'-r6r7)가 기억되는 제3 리스트 기억부와, 0 이상 K 미만의 정수의 일양난수인 d2를 생성하는 제8 난수 생성부와, 0 이상 KG 미만의 정수의 일양난수인 r9을 생성하는 제9 난수 생성부와, 0 이상 KH 미만의 정수의 일양난수인 r10을 생성하는 제10 난수 생성부와, 제7 입력 정보 g4=μg r9을 계산하는 제7 입력 정보 계산부와, 제8 입력 정보 h4=μh r10σhd2를 계산하는 제8 입력 정보 계산부와, 계산 장치로부터 수신한 z4∈F를 사용하여, z4ν'-r9r10을 계산하는 제4 리스트 정보 계산부와, d2와 r9과 계산된 z4ν'-r9r10로 구성되는 정보의 세트(d2,r9,z4ν'-r9r10)가 기억되는 제4 리스트 기억부와, 제3 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s3로 하고, 제2 성분을 w3로 하고, 제4 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t4로 하고, 제2 성분을 s4로 하고, 제3 성분을 w4로 하여, 이들의 정보의 세트가 (w3)^(t4s4s3 -1)=w4의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는 (w3)^(s3 -1)을 출력하는 제2 판정부를 포함한다. 계산 장치는 의뢰 장치로부터 수신한 g1 및 h1을 사용하여 θ(g1,h1)를 계산 가능하며, 그 계산 결과를 z1으로서 출력하는 제1 출력 정보 계산부와, 의뢰 장치로부터 수신한 g2 및 h2를 사용하여 θ(g2,h2)를 계산 가능하며, 그 계산 결과를 z2로서 출력하는 제2 출력 정보 계산부와, 의뢰 장치로부터 수신한 g3 및 h3를 사용하여 θ(g3,h3)를 계산 가능하며, 그 계산 결과를 z3로서 출력하는 제3 출력 정보 계산부와, 의뢰 장치로부터 수신한 g4 및 h4를 사용하여 θ(g4,h4)를 계산 가능하며, 그 계산 결과를 z4로서 출력하는 제4 출력 정보 계산부를 포함한다.
올바른 계산을 행할 확률이 낮은 계산 장치를 사용하여 함수 f의 계산을 할 수 있다.
도 1은 제1 실시형태 내지 제3 실시형태의 대리 계산 시스템의 예의 기능 블록도.
도 2는 제1 실시형태 내지 제3 실시형태의 의뢰 장치 및 계산 장치의 예의 기능 블록도.
도 3은 제1 실시형태 내지 제3 실시형태의 표본기의 예의 기능 블록도.
도 4는 제1 실시형태 내지 제3 실시형태의 제1 난수화 가능 표본기 및 제2 난수화 가능 표본기의 예의 기능 블록도.
도 5는 제1 실시형태 내지 제3 실시형태의 제1 난수화 가능 표본기 및 제2 난수화 가능 표본기의 다른 예의 기능 블록도.
도 6은 제1 실시형태 내지 제3 실시형태의 대리 계산 방법의 예의 흐름도.
도 7은 스텝 S3의 예를 나타내는 흐름도.
도 8은 스텝 S6의 예를 나타내는 흐름도.
도 9는 스텝 S3의 다른 예를 나타내는 흐름도.
도 10은 스텝 S6의 다른 예를 나타내는 흐름도.
도 11은 제4 실시형태 내지 제10 실시형태의 대리 계산 시스템의 예의 기능 블록도.
도 12는 제4 실시형태 내지 제10 실시형태의 의뢰 장치의 예의 기능 블록도.
도 13은 제4 실시형태 내지 제10 실시형태의 의뢰 장치의 예의 기능 블록도.
도 14는 제4 실시형태 내지 제10 실시형태의 계산 장치의 예의 기능 블록도.
도 15는 제4 실시형태 내지 제10 실시형태의 대리 계산 방법의 예의 흐름도.
도 16은 제4 실시형태 내지 제10 실시형태의 대리 계산 방법의 예의 흐름도.
도 17은 대리 계산 시스템의 변형예의 기능 블록도.
도 2는 제1 실시형태 내지 제3 실시형태의 의뢰 장치 및 계산 장치의 예의 기능 블록도.
도 3은 제1 실시형태 내지 제3 실시형태의 표본기의 예의 기능 블록도.
도 4는 제1 실시형태 내지 제3 실시형태의 제1 난수화 가능 표본기 및 제2 난수화 가능 표본기의 예의 기능 블록도.
도 5는 제1 실시형태 내지 제3 실시형태의 제1 난수화 가능 표본기 및 제2 난수화 가능 표본기의 다른 예의 기능 블록도.
도 6은 제1 실시형태 내지 제3 실시형태의 대리 계산 방법의 예의 흐름도.
도 7은 스텝 S3의 예를 나타내는 흐름도.
도 8은 스텝 S6의 예를 나타내는 흐름도.
도 9는 스텝 S3의 다른 예를 나타내는 흐름도.
도 10은 스텝 S6의 다른 예를 나타내는 흐름도.
도 11은 제4 실시형태 내지 제10 실시형태의 대리 계산 시스템의 예의 기능 블록도.
도 12는 제4 실시형태 내지 제10 실시형태의 의뢰 장치의 예의 기능 블록도.
도 13은 제4 실시형태 내지 제10 실시형태의 의뢰 장치의 예의 기능 블록도.
도 14는 제4 실시형태 내지 제10 실시형태의 계산 장치의 예의 기능 블록도.
도 15는 제4 실시형태 내지 제10 실시형태의 대리 계산 방법의 예의 흐름도.
도 16은 제4 실시형태 내지 제10 실시형태의 대리 계산 방법의 예의 흐름도.
도 17은 대리 계산 시스템의 변형예의 기능 블록도.
이하, 본 발명에 의한 대리 계산 시스템, 대리 계산 방법의 실시형태를 상세하게 설명한다.
제1 실시형태 내지 제2 실시형태는 의뢰 장치(1)가 계산 장치(2)에 의뢰한 계산의 결과를 사용하여 f(x)를 계산하는 것이다.
[제1 실시형태]
제1 실시형태의 대리 계산 시스템은 도 1에 예시하는 바와 같이 의뢰 장치(1) 및 계산 장치(2)를 포함하고, 의뢰 장치(1)가 계산 장치(2)에 의뢰한 계산의 결과를 사용하여 f(x)를 계산한다.
의뢰 장치(1)는 도 2에 나타내는 바와 같이 자연수 기억부(11), 정수 계산부(12), 제1 멱승 계산부(13), 제1 리스트 기억부(14), 판정부(15), 제2 멱승 계산부(16), 제2 리스트 기억부(17), 제어부(18) 및 최종 계산부(19)를 예를 들면 포함한다. 계산 장치(2)는 제1 난수화 가능 표본기(21) 및 제2 난수화 가능 표본기(22)를 예를 들면 포함한다. 제1 실시형태에 있어서는 제1 난수화 가능 표본기(21) 및 제2 난수화 가능 표본기(22)가 계산 장치(2)에 대응한다.
G, H를 순회군, 함수 f:H→G를 군 H의 원소 x를 군 G에 그리는 함수, 군 G, H의 생성원을 각각 μg, μh, X1, X2를 군 G에 값을 가지는 확률변수, 확률변수 X1의 실현값을 x1, 확률변수 X2의 실현값을 x2로 한다.
자연수 기억부(11)에는 서로 소인 2개의 자연수 a, b의 세트(a, b)가 복수 기억되어 있는 것으로 한다. I를 군 G의 위수 미만의 2개의 자연수의 세트이며 서로 소인 것의 집합으로 하면, 자연수 기억부(11)에는 I의 부분집합 S에 대응하는 자연수 a, b의 세트(a, b)가 기억되어 있다고 생각할 수 있다.
정수 계산부(12)는 자연수 기억부(11)에 기억된 복수의 자연수의 세트(a, b)로부터, 1개의 자연수의 세트(a, b)를 랜덤으로 읽어들이고, 그 읽어들인 자연수의 세트(a, b)를 사용하여, a'a+b'b=1의 관계를 만족하는 정수 a',b'를 계산한다(스텝 S1). 자연수 a, b는 서로 소이기 때문에, a'a+b'b=1의 관계를 만족하는 정수 a',b'는 반드시 존재한다. 자연수의 세트(a, b)에 대한 정보는 제1 멱승 계산부(13), 제2 멱승 계산부(16), 제1 난수화 가능 표본기(21) 및 제2 난수화 가능 표본기(22)에 보내진다. 정수의 세트(a',b')에 대한 정보는 최종 계산부(19)에 보내진다.
제어부(18)는 t=1로 한다(스텝 S2).
제1 난수화 가능 표본기(21)는 f(x)bx1을 계산 가능하며, x 및 b를 사용하여 계산을 행하고, 그 계산 결과를 u로 한다(스텝 S3). 계산 결과 u는 제1 멱승 계산부(13)에 보내진다.
본 출원에 있어서, 계산 가능은 무시할 수 없는 확률 이상의 확률로 계산할 수 있는 것을 의미한다. 무시할 수 없는 확률은 세큐리티 파라미터 k에 대한 광의단조함수인 다항식을 다항식 F(k)로 하여, 1/F(k) 이상의 확률이다.
여기서, f(x)bx1을 계산하는 것은 f(x)bx1으로 정의되는 식의 값을 계산하는 것이다. 식 f(x)bx1의 값을 최종적으로 계산할 수 있으면, 도중의 계산 방법은 상관없다. 이것은 본 출원에서 등장하는 다른 식의 계산에 대해서도 마찬가지이다.
제1 멱승 계산부(13)는 u'=ua를 계산한다(스텝 S4). 계산 결과 u와 그 계산 결과에 기초하여 계산된 u'의 세트(u, u')는 제1 리스트 기억부(14)에 기억된다.
판정부(15)는 제1 리스트 기억부(14)에 기억된 세트(u, u') 및 제2 리스트 기억부(17)에 기억된 세트(v, v') 중에서, u'=v'가 되는 것이 있는지 판정한다(스텝 S5). 만약 제2 리스트 기억부(17)에 세트(v, v')가 기억되어 있지 않은 경우에는 이 스텝 S5의 처리를 행하지 않고, 다음 스텝 S6의 처리를 행한다. u'=v'가 되는 것이 있었던 경우에는 스텝 S12에 진행한다. u'=v'가 되는 것이 없었던 경우에는 스텝 S6으로 진행한다.
제2 난수화 가능 표본기(22)는 f(x)ax2를 계산 가능하며, x 및 a를 사용하여 계산을 행하고, 그 계산 결과를 v로 한다(스텝 S6). 계산 결과 v는 제2 멱승 계산부(16)에 보내진다.
제2 멱승 계산부(16)는 v'=vb를 계산한다(스텝 S7). 계산 결과 v와 그 계산 결과에 기초하여 계산된 v'의 세트(v, v')는 제2 리스트 기억부(17)에 기억된다.
판정부(15)는 제1 리스트 기억부(14)에 기억된 세트(u, u') 및 제2 리스트 기억부(17)에 기억된 세트(v, v') 중에서, u'=v'가 되는 것이 있는지 판정한다(스텝 S8). u'=v'가 되는 것이 있었던 경우에는 스텝 S12에 진행한다. u'=v'가 되는 것이 없었던 경우에는 스텝 S9에 진행한다.
제어부(18)는 t=T인지 판정한다(스텝 S9). T는 미리 정해진 자연수이다. t=T이면 계산을 할 수 없었던 취지의 정보, 예를 들면 기호「⊥」를 출력하여(스텝 S11) 처리를 끝낸다. t=T가 아닌 경우에는 제어부(18)는 t를 1만큼 인크리먼트, 즉 t=t+1로 하여(스텝 S10) 스텝 S3에 되돌아간다.
계산을 할 수 없었던 취지의 정보(이 예에서는 기호「⊥」)는 계산 장치(2)가 올바르게 계산을 행하는 신뢰성이 T로 정해지는 기준을 밑돈다는 것을 의미한다. 바꾸어 말하면, T회의 반복으로 올바른 연산을 행할 수 없었다는 것을 의미한다.
최종 계산부(19)는 u'=v'라고 판정된 경우에는, 그 u' 및 v'에 대응하는 u 및 v를 사용하여 ub'va'를 계산하고 출력한다(스텝 S12). 계산된 ub'va'=f(x)가 된다. ub'va'=f(x)가 되는 이유에 대해서는 후술한다.
≪ub'va'=f(x)가 되는 이유에 대해서≫
X를 군 G에 값을 가지는 확률변수로 한다. w∈G에 대해서, 어떠한 계산 장치에서 요구를 받을 때마다 확률변수 R에 따라 표본 x'를 추출하여 wx'를 반신하는 것을 w에 대해서 오차 X를 가지는 표본기(sampler)라고 한다.
w∈G에 대해서, 어떠한 계산 장치에서 자연수 a의 입력을 받을 때마다 확률변수 X에 따라 표본 x'를 추출하여 wax'를 반신하는 것을 w에 대해서 오차 X를 가지는 난수화 가능 표본기(randomizable sampler)라고 한다. 난수화 가능 표본기는 a=1으로 하여 사용되면 표본기로서 기능한다.
상기 실시형태의 대리 계산 시스템은 x를 입력으로 하여 f(x)를 출력하는 대리 계산 시스템을 구성함에 있어서, f(x)에 대해서 오차 X1을 가지는 제1 난수화 가능 표본기(21), f(x)에 대해서 오차 X2를 가지는 제2 난수화 가능 표본기(22)를 사용하고 있다.
u'=v'가 성립하는 것은 즉 ua=vb가 성립하는 것은 제1 난수화 가능 표본기(21)가 u=f(x)bx1을 올바르게 계산하고 있고, 제2 난수화 가능 표본기(22)가 v=f(x)ax2를 올바르게 계산하고 있으며, 또한 x1 및 x2가 군 G의 단위원 eg일 가능성이 매우 높은 것을 발명자는 알아냈다. 여기서는 그 증명은 생략한다.
제1 난수화 가능 표본기(21)가 u=f(x)bx1을 올바르게 계산하고 있고, 제2 난수화 가능 표본기(22)가 v=f(x)ax2를 올바르게 계산하고 있으며, x1 및 x2가 군 G의 단위원 eg일 때, ub'va'=(f(x)bx1)b'(f(x)ax2)a'=(f(x)beg)b'(f(x)aeg)a'=f(x)bb'eg b'f(x)aa'eg a'=f(x)(bb'+aa')=f(x)가 된다.
(q1,q2)∈I에 대해서, i=1,2의 각각에 대해서 함수 πi를 πi(q1,q2)=qi로 정의한다. 또, L=min(#π1(S),#π2(S))로 한다. #·는 집합·의 위수이다. 군 G가 순회군이나 위수의 계산이 곤란한 군일 때에는, 상기 대리 계산 시스템이 「⊥」 이외를 출력할 때의 출력이 f(x)가 아닐 확률은 무시할 수 있을 정도의 오차의 범위에서 고작해야 T2L/#S정도라고 기대할 수 있다. 만약 L/#S가 무시할 수 있는 양이며 T가 다항식 오더 정도의 양이면, 상기 대리 계산 시스템은 압도적인 확률로 f(x)를 출력한다.
L/#S가 무시할 수 있는 양이 되는 것 같은 S의 예에는, 예를 들면 S={(1,d)|d∈[2,|G|-1]}이 있다.
또한, 도 2에 파선으로 나타내는 바와 같이, 계산 장치(2)에 표본기(23)를 설치해도 된다. 표본기(23)는 X3를 군 G에 값을 가지는 확률변수, 확률변수 X3의 실현값을 x3로 하여, f(x)x3를 계산 가능하며, a=1이면 제2 난수화 가능 표본기(22)를 대신하여 그 계산 결과를 상기 v로 하고, b=1이면 제1 난수화 가능 표본기(21)를 대신하여 그 계산 결과를 상기 u로 한다.
일반적으로 난수화 가능 표본기보다 표본기의 계산량은 작다. a=1, b=1일 때에 제1 난수화 가능 표본기(21), 제2 난수화 가능 표본기(22)에 대신하여, 표본기(23)가 계산을 행함으로써, 계산 장치(2)의 계산량을 작게 할 수 있다.
[제2 실시형태]
제2 실시형태의 대리 계산 시스템은 제1 난수화 가능 표본기(21) 및 제2 난수화 가능 표본기(22)의 일례, 바꾸어 말하면 스텝 S3 및 스텝 S6의 일례를 구체화한 것이다. 이하, 제1 실시형태와 상이한 부분을 중심으로 설명하고, 공통되는 부분에 대해서는 중복 설명을 생략한다.
제2 실시형태의 제1 난수화 가능 표본기(21)는 도 3에 나타내는 바와 같이 제1 난수 생성부(110), 제1 입력 정보 계산부(111), 제1 출력 정보 계산부(24) 및 제1 계산부(112)를 예를 들면 포함한다. 또, 제2 실시형태의 제2 난수화 가능 표본기(22)는 도 3에 나타내는 바와 같이 제2 난수 생성부(113), 제2 입력 정보 계산부(114), 제2 출력 정보 계산부(25) 및 제2 계산부(115)를 예를 들면 포함한다.
제2 실시형태에 있어서는, 제1 난수 생성부(110), 제1 입력 정보 계산부(111), 제1 계산부(112), 제2 난수 생성부(113), 제2 입력 정보 계산부(114) 및 제2 계산부(115)는 의뢰 장치(1)에 포함된다. 또, 제1 출력 정보 계산부(24) 및 제2 출력 정보 계산부(25)는 계산 장치(2)에 포함된다. 제2 실시형태에 있어서는, 제1 출력 정보 계산부(24) 및 제2 출력 정보 계산부(25)가 계산 장치(2)에 대응한다.
제2 실시형태의 함수 f는 준동형사상인 것으로 한다. 또, 군 H의 생성원을 μh, 군 H의 위수를 KH, ν=f(μh)로 한다.
스텝 S3은 도 7에 예시하는 스텝 S31 내지 스텝 S34로 구성된다.
제1 난수 생성부(110)는 0 이상 KH 미만의 정수의 일양난수 r1을 생성한다(스텝 S31). 생성된 난수 r1은 제1 입력 정보 계산부(111)에 보내진다.
제1 입력 정보 계산부(111)는 제1 입력 정보 μh r1xb를 계산한다(스텝 S32). 계산된 제1 입력 정보 μh r1xb는 제1 출력 정보 계산부(24)에 보내진다.
제1 출력 정보 계산부(24)는 제1 입력 정보 μh r1xb를 사용하여 계산을 행하고, 그 계산 결과를 제1 출력 정보 z1으로 한다(스텝 S33). 계산된 제1 출력 정보 z1은 제1 계산부(112)에 보내진다.
제1 출력 정보 계산부(24)는 f(μh r1xb)를 계산 가능하다. 제1 출력 정보 계산부(24)에 의한 계산의 결과가 f(μh r1xb)인 것도 있고, f(μh r1xb)가 아닌 것도 있다.
여기서 μh의 우측 상단의 r1은 r1이다. 이와 같이, 본 출원에 있어서, α를 제1 문자, β를 제2 문자, γ를 숫자로 하여, αβγ라고 표기한 경우에는, 그 βγ는 βγ, 즉 β의 아래첨자 γ를 의미한다.
제1 계산부(112)는 z1ν-r1을 계산하여 그 계산 결과를 u로 한다(스텝 S34). 계산 결과 u는 제1 멱승 계산부(13)에 보내진다. 여기서, u=z1ν-r1=f(x)bx1이 된다. 즉, z1ν-r1은 f(x)에 대해서 오차 X1을 가지는 난수화 가능 표본기가 된다. 그 이유에 대해서는 후술한다.
스텝 S6은 도 8에 예시하는 스텝 S61 내지 스텝 S64로 구성된다.
제2 난수 생성부(113)는 0 이상 KH 미만의 정수의 일양난수 r2를 생성한다(스텝 S61). 생성된 난수 r2는 제2 입력 정보 계산부(114)에 보내진다.
제2 입력 정보 계산부(114)는 제2 입력 정보 μh r2xa를 계산한다(스텝 S62). 계산된 제2 입력 정보 μh r2xa는 제2 출력 정보 계산부(25)에 보내진다.
제2 출력 정보 계산부(25)는 제2 입력 정보 μh r2xa를 사용하여 계산을 행하고, 그 계산 결과를 제2 출력 정보 z2로 한다(스텝 S63). 계산된 제2 출력 정보 z2는 제2 계산부(115)에 보내진다.
제2 출력 정보 계산부(25)는 f(μh r2xa)를 계산 가능하다. 제2 출력 정보 계산부(25)에 의한 계산의 결과가 f(μh r2xa)인 것도 있고, f(μh r2xa)이 아닌 것도 있다.
제2 계산부(115)는 z2ν-r2를 계산하여 그 계산 결과를 v로 한다(스텝 S64). 계산 결과 v는 제2 멱승 계산부(16)에 보내진다. 여기서, v=z2ν-r2=f(x)ax2가 된다. 즉, z2ν-r2는 f(x)에 대해서 오차 X2를 가지는 난수화 가능 표본기가 된다. 그 이유에 대해서는 후술한다.
제2 실시형태에 있어서도, a=1, b=1일 때는, 제1 난수화 가능 표본기(21) 또는 제2 난수화 가능 표본기(22)에 대신하여, 표본기(23)가 u 또는 v의 값을 계산함으로써 계산량을 삭감해도 된다.
제2 실시형태의 표본기(23)는 도 4에 나타내는 바와 같이 제3 난수 생성부(116), 제3 입력 정보 계산부(117), 제3 출력 정보 계산부(26), 제3 계산부(118)를 예를 들면 포함한다. 제3 난수 생성부(116), 제3 입력 정보 계산부(117) 및 제3 계산부(118)는 의뢰 장치(1)에 포함된다. 제3 출력 정보 계산부(26)는 계산 장치(2)에 포함된다.
a=1, b=1이면 제1 난수화 가능 표본기(21), 제2 난수화 가능 표본기(22)에 대신하여 표본기(23)의 각 부는 이하의 처리를 행한다.
제3 난수 생성부(116)는 0 이상 KH 미만의 정수의 난수 r3를 생성한다. 생성된 난수 r3는 제3 입력 정보 계산부(117)에 보내진다.
제3 입력 정보 계산부(117)는 제3 입력 정보 xr3를 계산한다. 계산된 제3 입력 정보 xr3는 제3 출력 정보 계산부(26)에 보내진다.
제3 출력 정보 계산부(26)는 제3 입력 정보 xr3를 사용하여 계산을 행하고, 그 계산 결과를 제3 출력 정보 z3로 한다. 계산된 제3 출력 정보 z3는 제3 계산부(118)에 보내진다.
제3 출력 정보 계산부(26)는 f(xr3)를 계산 가능하다. 제3 출력 정보 계산부(26)에 의한 계산의 결과가 f(xr3)인 것도 있고, f(xr3)가 아닌 것도 있다.
제3 계산부(118)는 z3 1/r3를 계산하여 그 계산 결과를 a=1이면 v로 하고, b=1이면 u로 한다. 계산 결과 v는 제2 멱승 계산부(16)에 보내진다. 계산 결과 u는 제1 멱승 계산부(13)에 보내진다. 여기서, u=v=z3 1/r3=f(x)x3가 된다. 즉, z3 1/r3는 f(x)에 대해서 오차 X3를 가지는 표본기가 된다. 그 이유에 대해서는 후술한다.
z3 1/r3의 계산, 즉 z3의 멱승근의 계산이 곤란한 경우에는 다음과 같이 하여 u 및/또는 v를 계산해도 된다. 제3 계산부(118)는 난수 r3와 그 난수 r3에 기초하여 계산된 z3의 세트를 순차(α1,β1), (α2,β2), …, (αm, βm), …로서 도시하지 않는 기억부에 기억한다. m은 자연수이다. 제3 계산부(118)는 α1,α2,…, αm의 최소공배수가 1이 되면 γ1,γ2,…, γm을 정수로 하여 γ1α1+γ2α2+…+γmαm=1이 되는 γ1,γ2,…, γm을 계산하여, 그 γ, γ2,…, γm을 사용하여 Πi=1 mβi γi=β1 γ1β2 γ2…βm γm을 계산하고, 그 계산 결과를 u 및/또는 v로 해도 된다.
이와 같이, 난수 r1,r2,r3를 사용하여 x를 교란한 정보를 계산 장치(2)에 보냄으로써, 함수 f의 값의 계산의 대상이 되는 x∈H를 의뢰 장치(1)와 계산 장치(2) 사이의 통신을 방수(傍受)하는 제삼자, 및 계산 장치(2)에 대하여 비닉화할 수 있다.
≪z1ν-r1,z2ν-r2가 f(x)에 대해서 각각 오차 X1,X2를 가지는 난수화 가능 표본기가 되는 이유에 대해서≫
c를 자연수, R 및 R'를 난수로 하여, 계산 장치(2)가 μh Rxc를 사용하여 행하는 계산의 계산 결과를 B(μh Rxc)(즉, 계산 장치(2)가 의뢰 장치(1)에 되돌리는 계산 결과를 z로 하면, z=B(μh Rxc)이다.)로 하고, 군 G에 값을 가지는 확률변수 X를 X=B(μh R')f(μh R')-1로 정의한다.
이 때, zν-R=B(μh Rxc)f(μh)-R=Xf(μh Rxc)f(μh)-R=Xf(μh)Rf(x)cf(μh)-R=f(x)cX가 된다. 즉, zν-R은 f(x)에 대해서 오차 X를 가지는 난수화 가능 표본기가 된다.
상기 식 전개에 있어서, X=B(μh R')f(μh R')-1=B(μh Rxc)f(μh Rxc)-1이며, B(μh Rxc)=Xf(μh Rxc)라는 성질을 사용하고 있다. 이 성질은 함수 f가 준동형사상이며, R 및 R'가 난수인 것에 기초한다.
따라서, a, b가 자연수, r1,r2가 난수인 것을 고려하면, 마찬가지로 z1ν-r1,z2ν-r2가 f(x)에 대해서 각각 오차 X1,X2를 가지는 난수화 가능 표본기가 되는 것이다.
≪z3 1/r3가 f(x)에 대해서 오차 X3를 가지는 표본기가 되는 이유에 대해서≫
R 및 R'를 난수로 하여, 계산 장치(2)가 xR을 사용하여 행하는 계산의 계산 결과를 B(xR)(즉, 계산 장치(2)가 의뢰 장치(1)에 되돌리는 계산 결과를 z로 하면, z=B(xR)이다.)로 하고, 군 G에 값을 가지는 확률변수 X를 X=B(xR)1/Rf(x)-1로 정의한다.
이 때, z1/R=B(xR)1/R=Xf(x)=f(x)X가 된다. 즉, z1/R은 f(x)에 대해서 오차 X를 가지는 표본기가 된다.
상기 식 전개에 있어서, X=B(xR)1/Rf(xR)-1이며, B(xR)1/R=Xf(xR)이라는 성질을 사용하고 있다. 이 성질은 R 및 R'가 난수인 것에 기초한다.
따라서, r3가 난수인 것을 고려하면, z1/R이 f(x)에 대해서 오차 X3를 가지는 난수화 가능 표본기가 되는 것이다.
[제3 실시형태]
제3 실시형태의 대리 계산 시스템은 제1 난수화 가능 표본기(21) 및 제2 난수화 가능 표본기(22)의 다른 예, 바꾸어 말하면 스텝 S3 및 스텝 S6의 다른 예를 구체화한 것이다. 구체적으로는 H=G×G이며, 함수 f가 ElGamal 암호의 복호함수, 즉 비밀 키 s 및 암호문(c1,c2)에 대하여 f(c1,c2)=c1c2 -s인 경우의 제1 난수화 가능 표본기(21) 및 제2 난수화 가능 표본기(22)의 예를 구체화한 것이다. 이하, 제1 실시형태와 상이한 부분을 중심으로 설명하고, 공통되는 부분에 대해서는 중복 설명을 생략한다.
제3 실시형태의 제1 난수화 가능 표본기(21)는 도 5에 나타내는 바와 같이 제4 난수 생성부(119), 제5 난수 생성부(120), 제4 입력 정보 계산부(121), 제5 입력 정보 계산부(122), 제4 출력 정보 계산부(27) 및 제4 계산부(123)를 예를 들면 포함한다. 제2 난수화 가능 표본기(22)는 도 5에 나타내는 바와 같이 제6 난수 생성부(124), 제7 난수 생성부(125), 제6 입력 정보 계산부(126), 제7 입력 정보 계산부(127), 제5 출력 정보 계산부(28) 및 제5 계산부(128)를 예를 들면 포함한다.
제4 난수 생성부(119), 제5 난수 생성부(120), 제4 입력 정보 계산부(121), 제5 입력 정보 계산부(122), 제4 계산부(123), 제6 난수 생성부(124), 제7 난수 생성부(125), 제6 입력 정보 계산부(126), 제7 입력 정보 계산부(127) 및 제5 계산부(128)는 의뢰 장치(1)에 포함된다. 제4 출력 정보 계산부(27) 및 제5 출력 정보 계산부(28)는 계산 장치(2)에 포함된다. 제3 실시형태에서는, 제4 출력 정보 계산부(27) 및 제5 출력 정보 계산부(28)가 계산 장치(2)에 대응한다.
제3 실시형태에서는 x=(c1,c2)이며, f(c1,c2)는 직적군 G×G로부터 G로의 준동형사상이며, 군 G의 생성원을 μg로 하고, 군 G의 위수를 KG로 하고, 동일한 비밀 키 s에 대한 암호문(V,W)∈H와 그 암호문을 복호한 복호문 f(V,W)=Y∈G를 의뢰 장치(1)과 계산 장치(2)는 사전에 알고 있는 것으로 한다.
제3 실시형태의 스텝 S3는 도 9에 예시하는 스텝 S31' 내지 스텝 S36'로 구성된다.
제4 난수 생성부(119)는 0 이상 KG 미만의 정수의 일양난수 r4를 생성한다(스텝 S31'). 생성된 난수 r4는 제4 입력 정보 계산부(121), 제5 입력 정보 계산부(122) 및 제4 계산부(123)에 보내진다.
제5 난수 생성부(120)는 0 이상 KG 미만의 정수의 일양난수 r5를 생성한다(스텝 S32'). 생성된 난수 r5는 제4 입력 정보 계산부(121) 및 제4 계산부(123)에 보내진다.
제4 입력 정보 계산부(121)는 제4 입력 정보 c1 bVr4μg r5를 계산한다(스텝 S33'). 계산된 제4 입력 정보 c1 bVr4μg r5는 제4 출력 정보 계산부(27)에 보내진다.
제5 입력 정보 계산부(122)는 제5 입력 정보 c2 bWr4를 계산한다(스텝 S34'). 계산된 제5 입력 정보 c2 bWr4는 제4 출력 정보 계산부(27)에 보내진다.
제4 출력 정보 계산부(27)는 제4 입력 정보 c1 bVr4μg r5 및 제5 입력 정보 c2 bWr4를 사용하여 계산을 행하고, 그 계산 결과를 제4 출력 정보 z4로 한다(스텝 S35').
제4 출력 정보 계산부(27)는 f(c1 bVr4μg r5,c2 bWr4)를 계산 가능하다. 제4 출력 정보 계산부(27)에 의한 계산의 결과가 f(c1 bVr4μg r5,c2 bWr4)인 것도 있고, f(c1 bVr4μg r5,c2 bWr4)이 아닌 것도 있다.
제4 계산부(123)는 z4Y-r4μg -r5를 계산하여 그 계산 결과를 u로 한다(스텝 S36'). 계산 결과 u는 제1 멱승 계산부(13)에 보내진다. 여기서, u=z4Y-r4μg -r5=f(c1,c2)bx1이 된다. 즉, z4Y-r4μg -r5는 f(c1,c2)에 대해서 오차 X1을 가지는 난수화 가능 표본기가 된다. 그 이유에 대해서는 후술한다.
제3 실시형태의 스텝 S6은 도 10에 예시하는 스텝 S61' 내지 스텝 S66'로 구성된다.
제6 난수 생성부(124)는 0 이상 KG 미만의 정수의 일양난수 r6를 생성한다(스텝 S61'). 생성된 난수 r6는 제6 입력 정보 계산부(126), 제7 입력 정보 계산부(127) 및 제5 계산부(128)에 보내진다.
제7 난수 생성부(125)는 0 이상 KG 미만의 정수의 일양난수 r7을 생성한다(스텝 S62'). 생성된 난수 r7은 제6 입력 정보 계산부(126) 및 제5 계산부(128)에 보내진다.
제6 입력 정보 계산부(126)는 제6 입력 정보 c1 aVr6μg r7을 계산한다(스텝 S63'). 계산된 제6 입력 정보 c1 aVr6μg r7은 제5 출력 정보 계산부(28)에 보내진다.
제7 입력 정보 계산부(127)는 제7 입력 정보 c2 aWr6를 계산한다(스텝 S64'). 계산된 제7 입력 정보 c2 aWr6는 제5 출력 정보 계산부(28)에 보내진다.
제5 출력 정보 계산부(28)는 상기 제6 입력 정보 c1 aVr6μg r7 및 상기 제7 입력 정보 c2 aWr6를 사용하여 계산을 행하고, 그 계산 결과를 제5 출력 정보 z5로 한다(스텝 S65'). 계산된 제5 출력 정보 z5는 제5 계산부(128)에 보내진다.
제5 출력 정보 계산부(28)는 f(c1 aVr6μg r7,c2 aWr6)를 계산 가능하다. 제5 출력 정보 계산부(28)에 의한 계산의 결과가 f(c1 aVr6μg r7,c2 aWr6)인 것도 있고, f(c1 aVr6μg r7,c2 aWr6)가 아닌 것도 있다.
제5 계산부(128)는 z5Y-r6μg -r7을 계산하여 그 계산 결과를 v로 한다(스텝 S66'). 계산 결과 v는 제2 멱승 계산부(16)에 보내진다. 여기서, v=z5Y-r6μg -r7=f(c1,c2)ax2가 된다. 즉, z5Y-r6μg -r7은 f(c1,c2)에 대해서 오차 X2를 가지는 난수화 가능 표본기가 된다. 그 이유에 대해서는 후술한다.
≪z4Y-r4μg -r5,z5Y-r6μg -r7이 f(c1,c2)에 대해서 각각 오차 X1,X2를 가지는 난수화 가능 표본기가 되는 이유에 대해서≫
c를 자연수, R1, R2, R1' 및 R2'를 난수로 하여, 계산 장치(2)가 c1 cVR1μg R2 및 c2 cWR1을 사용하여 행하는 계산의 계산 결과를 B(c1 cVR1μg R2,c2 cWR1)(즉, 계산 장치(2)가 의뢰 장치(1)에 되돌리는 계산 결과를 z로 하면, z=B(c1 cVR1μg R2,c2 cWR1)이다.)로 하고, 군 G에 값을 가지는 확률변수 X를 X=B(VR1'μg R2',WR1')f(VR1'μg R2',WR1')-1로 정의한다.
이 때, zY-R1μg -R2=B(c1 cVR1μg R2,c2 cWR1)Y-R1μg -R2=Xf(c1 cVR1μg R2,c2 cWR1)Y-R1μg -R2=Xf(c1,c2)cf(V,W)R1f(μg,eg)R2Y-R1μg -R2=Xf(c1,c2)cYR1μg R2Y-R1μg -R2=f(c1,c2)cX가 된다. 즉, zY-R1μg -R2는 f(x)에 대해서 오차 X를 가지는 난수화 가능 표본기가 된다. 또한, eg는 군 G의 단위원이다.
상기 식 전개에 있어서, X=B(VR1'μg R2',WR1')f(VR1'μg R2',WR1')-1=B(c1 cVR1μg R2,c2 cWR1)f(c1 cVR1μg R2,c2 cWR1)이며, B(c1 cVR1μg R2,c2 cWR1)=Xf(c1 cVR1μg R2,c2 cWR1)라는 성질을 사용하고 있다. 이 성질은 R1, R2, R1' 및 R2'가 난수인 것에 기초한다.
따라서, a, b가 자연수, r4,r5,r6 및 r7이 난수인 것을 고려하면, 마찬가지로 z4Y-r4μg -r5,z5Y-r6μg -r7이 f(c1,c2)에 대해서 각각 오차 X1,X2를 가지는 난수화 가능 표본기가 되는 것이다.
[제1 실시형태 내지 제3 실시형태의 변형예 등]
확률변수 X1, X2 및 X3는 동일해도 되고 상이해도 된다.
제1 난수 생성부(110), 제2 난수 생성부(113), 제3 난수 생성부(116), 제4 난수 생성부(119), 제5 난수 생성부(120), 제6 난수 생성부(124) 및 제7 난수 생성부(125)의 각각은 일양난수를 생성함으로써, 대리 계산 시스템의 안전성이 가장 높아진다. 그러나, 요구하는 안전성의 레벨이 그다지 높지 않은 경우에는, 제1 난수 생성부(110), 제2 난수 생성부(113), 제3 난수 생성부(116), 제4 난수 생성부(119), 제5 난수 생성부(120), 제6 난수 생성부(124) 및 제7 난수 생성부(125)의 각각은 일양난수가 아닌 난수를 생성해도 된다.
상기한 예에서는 제1 난수화 가능 표본기(21), 제2 난수화 가능 표본기(22)를 1회씩 호출하고 있지만, 의뢰 장치(1)와 계산 장치(2) 사이의 통신 횟수를 줄이기 위해서, 동일한 a, b에 대하여 제1 난수화 가능 표본기(21), 제2 난수화 가능 표본기(22)를 복수회 호출하여, 의뢰 장치(1)가 1회의 통신으로 복수의 u, v를 취득할 수 있도록 해도 된다.
제1 난수화 가능 표본기(21), 제2 난수화 가능 표본기(22) 및 표본기(23)의 각 부는 의뢰 장치(1)에 배치해도 되고, 계산 장치(2)에 배치해도 된다. 즉, 제1 실시형태와 같이 각 부의 전부를 계산 장치(2)에 배치해도 되고, 예를 들면 제2 실시형태 및 제3 실시형태와 같이 의뢰 장치(1) 및 계산 장치(2)에 나누어서 배치해도 된다.
의뢰 장치(1)의 각 부 사이의 데이터의 교환은 직접 행해져도 되고, 도시하지 않는 기억부를 통하여 행해져도 된다. 마찬가지로 계산 장치(2)의 각 부 사이의 데이터의 교환은 직접 행해져도 되고, 도시하지 않는 기억부를 통하여 행해져도 된다.
의뢰 장치(1) 및 계산 장치(2)의 각각은 컴퓨터에 의해 실현할 수 있다. 이 경우, 이 장치가 가져야 할 각 기능의 처리 내용은 프로그램에 의해 기술된다. 그리고, 이 프로그램을 컴퓨터로 실행함으로써, 이 장치에 있어서의 각 처리 기능이 컴퓨터상에서 실현된다.
이 처리 내용을 기술한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록해 둘 수 있다. 또, 이 형태에서는, 컴퓨터상에서 소정의 프로그램을 실행시킴으로써, 이들 장치를 구성하는 것으로 했지만, 이들 처리 내용의 적어도 일부를 하드웨어적으로 실현하는 것으로 해도 된다.
[제4 실시형태]
제4 실시형태 내지 제10 실시형태는 의뢰 장치(1')가 계산 장치(2')에 의뢰한 계산의 결과를 사용하여 θ(g, h)를 계산하는 것이다.
제4 실시형태의 대리 계산 시스템은 도 11에 예시하는 바와 같이 의뢰 장치(1') 및 계산 장치(2')를 포함하고, 의뢰 장치(1')가 계산 장치(2')에 의뢰한 계산의 결과를 사용하여 쌍준동형사상 θ(g, h)를 계산한다.
여기서, G, H 및 F를 순회군으로 하고, 사상 θ:G×H→F를 쌍준동형사상으로 하고, g를 군 G의 원소로 하고, h를 군 H의 원소로 하고, KG를 군 G의 위수로 하고, KH를 군 H의 위수로 하고, μg를 군 G의 생성원으로 하고, μh를 군 H의 생성원으로 하고, ν=θ(μg, μg)로 하고, k를 1 이상의 정수의 세큐리티 파라미터로 하고, K=2k로 한다.
쌍준동형사상은 2개의 입력의 각각에 대하여 준동형인 사상을 의미한다. 이 예에서는, 사상 θ(g, h)는 군 G의 원소 g에 대하여 준동형이며, 또한 군 H의 원소 h에 대하여 준동형이다.
의뢰 장치(1')와 계산 장치(2') 사이에는 통신로가 확립되어 있고, 의뢰 장치(1') 및 계산 장치(2')는 쌍방향으로 통신 가능하다. 이 통신로는 비밀로 유지되어 있을 필요는 없고, 제삼자가 이 통신로를 흐르는 정보를 방수할 수 있어도 된다.
의뢰 장치(1')는 신뢰할 수 없는 계산 장치(2')에 난수에 의해 교란한 정보를 송신하고, 계산 장치(2')는 그 교란된 정보를 사용하여 일정한 알고리즘에 따라서 계산을 행하고, 그 계산 결과를 의뢰 장치(1')에 반신한다. 이 계산 장치(2')로의 정보의 송수신을 반복함으로써, 의뢰 장치(1')는 최종적으로 θ(g, h)를 계산한다.
의뢰 장치(1')는 우선 스텝 S11' 내지 스텝 S125'(도 15)의 처리에 의해 θ(g, μh)와 동등한 정보(σ, ν')를 계산하고, 그 θ(g, μh)와 동등한 정보(σ, ν')를 사용하여 스텝 S21' 내지 스텝 S225'의 처리에 의해 θ(g, μ)를 계산한다.
의뢰 장치(1')는 도 12 및 도 13에 예시하는, 제1 난수 생성부(11'), 제2 난수 생성부(12'), 제1 입력 정보 계산부(13'), 제2 입력 정보 계산부(14'), 제1 리스트 정보 계산부(15'), 제1 리스트 기억부(16'), 수신부(17'), 송신부(18'), 제4 난수 생성부(21'), 제5 난수 생성부(22'), 제3 입력 정보 계산부(23'), 제4 입력 정보 계산부(24'), 제2 리스트 정보 계산부(25'), 제2 리스트 기억부(26'), 제3 난수 생성부(27'), 제1 판정부(28'), 제6 난수 생성부(31'), 제7 난수 생성부(32'), 제5 입력 정보 계산부(33'), 제6 입력 정보 계산부(34'), 제3 리스트 정보 계산부(35'), 제3 리스트 기억부(36'), 제9 난수 생성부(41'), 제10 난수 생성부(42'), 제7 입력 정보 계산부(43'), 제8 입력 정보 계산부(44'), 제4 리스트 정보 계산부(45'), 제4 리스트 계산부(46'), 제8 난수 생성부(47') 및 제2 판정부(48')를 예를 들면 포함한다.
계산 장치(2')는 도 14에 예시하는 바와 같이 수신부(51'), 송신부(52'), 제1 출력 정보 계산부(53'), 제2 출력 정보 계산부(54'), 제3 출력 정보 계산부(55') 및 제4 출력 정보 계산부(56')를 예를 들면 포함한다.
<스텝 S11'(도 15)>
제1 난수 생성부(11')는 0 이상 KG 미만의 정수의 일양난수인 r1을 생성한다(스텝 S11'). 생성된 난수 r1은 제1 입력 정보 계산부(13') 및 제1 리스트 정보 계산부(15')에 보내진다.
<스텝 S12'>
제2 난수 생성부(12')는 0 이상 KH 미만의 정수의 일양난수인 r2를 생성한다(스텝 S12'). 생성된 난수 r2는 제2 입력 정보 계산부(14'), 제1 리스트 정보 계산부(15') 및 제1 리스트 기억부(16')에 보내진다.
<스텝 S13'>
제1 입력 정보 계산부(13')는 제1 입력 정보 g1=μg r1g를 계산한다(스텝 S13'). 계산된 g1은 송신부(18')에 보내진다.
여기서, μg의 우측 상단의 r1은 r1이다. 이와 같이, 본 출원에 있어서, α를 제1 문자, β를 제2 문자, γ를 숫자로 하여, αβγ로 표기한 경우에는 그 βγ는 βγ, 즉 β의 아래첨자 γ를 의미한다.
또, g1=μg r1g를 계산하는 것은 μg r1g라는 식으로 정의되는 g1의 값을 계산하는 것이다. 식 μg r1g의 값을 최종적으로 계산할 수 있으면, 도중의 계산 방법은 상관없다. 이것은 본 출원에서 등장하는 다른 식의 계산에 대해서도 마찬가지이다.
<스텝 S14'>
제2 입력 정보 계산부(14')는 제2 입력 정보 h1=μh r2를 계산한다(스텝 S14'). 계산된 h1은 송신부(18')에 보내진다.
<스텝 S15'>
송신부(18')는 제1 입력 정보 g1 및 제2 입력 정보 h1을 계산 장치(2')에 송신한다(스텝 S15').
<스텝 S16'>
계산 장치(2')의 수신부(51')(도 14)는 제1 입력 정보 g1 및 제2 입력 정보 h1을 수신한다(스텝 S16').
<스텝 S17'>
제1 출력 정보 계산부(53')는 제1 입력 정보 g1 및 제2 입력 정보 h1을 사용하여 계산을 행하고, 그 계산 결과를 제1 출력 정보 z1로 한다(스텝 S17'). z1은 송신부(52')에 보내진다.
제1 출력 정보 계산부(53')는 θ(g1,h1)를 계산 가능하다. 제1 출력 정보 계산부(53')에 의한 계산의 결과가 θ(g1,h1)인 것도 있고, θ(g1,h1)가 아닌 것도 있다.
본 출원에 있어서, 계산 가능하다는 것은 무시할 수 없는 확률로 계산할 수 있는 것을 의미한다. 무시할 수 없는 확률은 세큐리티 파라미터 k에 대한 광의단조증가함수인 다항식을 다항식 f(k)로 하여 1/f(k) 이상의 확률이다.
<스텝 S18'>
송신부(52')는 제1 출력 정보 z1을 의뢰 장치(1')에 송신한다(스텝 S18').
<스텝 S19'>
의뢰 장치(1')의 수신부(17')(도 12)는 제1 출력 정보 z1을 수신한다(스텝 S19'). 수신한 제1 출력 정보 z1은 제1 리스트 정보 계산부(15')에 보내진다. 여기서는 제1 출력 정보 z1은 군 F의 원소인 것으로 한다.
<스텝 S110'>
제1 리스트 정보 계산부(15')는 난수 r1, 난수 r2 및 제1 출력 정보 z1을 사용하여, z1ν-r1r2를 계산한다(스텝 S110'). 계산된 z1ν-r1r2는 제1 리스트 기억부(16')에 보내진다.
<스텝 S111'>
난수 r2와, z1ν-r1r2로 구성되는 정보의 세트(r2,z1ν-r1r2)가 리스트 L1에 추가된다. 이 예에서는 제1 리스트 기억부(16')에 정보의 세트(r2,z1ν-r1r2)가 기억된다(스텝 S111').
<스텝 S112'>
제3 난수 생성부(27')는 0 이상 K 미만의 정수의 일양난수인 d1을 생성한다(스텝 S112'). 생성된 난수 d1은 제3 입력 정보 계산부(23') 및 제2 리스트 기억부(26')에 보내진다.
<스텝 S113'>
제4 난수 생성부(21')는 0 이상 KG 미만의 정수의 일양난수인 r4를 생성한다(스텝 S113'). 생성된 난수 r4는 제3 입력 정보 계산부(23') 및 제2 리스트 정보 계산부(25')에 보내진다.
<스텝 S114'>
제5 난수 생성부(22')는 0 이상 KH 미만의 정수의 일양난수인 r5를 생성한다(스텝 S114'). 생성된 난수 r5는 제4 입력 정보 계산부(24'), 제2 리스트 정보 계산부(25') 및 제2 리스트 기억부(26')에 보내진다.
<스텝 S115'>
제3 입력 정보 계산부(23')는 제3 입력 정보 g2=μg r4gd1을 계산한다(스텝 S115'). 계산된 제3 입력 정보 g2는 송신부(18')에 보내진다.
<스텝 S116'>
제4 입력 정보 계산부(24')는 제4 입력 정보 h2=μh r5를 계산한다(스텝 S116'). 계산된 제4 입력 정보 h2는 송신부(18')에 보내진다.
<스텝 S117'>
송신부(18')는 제3 입력 정보 g2 및 제4 입력 정보 h2를 계산 장치(2')에 송신한다(스텝 S117').
<스텝 S118'>
계산 장치(2')의 수신부(51')(도 14)는 제3 입력 정보 g2 및 제4 입력 정보 h2를 수신한다(스텝 S118').
<스텝 S119'>
제2 출력 정보 계산부(54')는 제3 입력 정보 g2 및 제4 입력 정보 h2를 사용하여 계산을 행하고, 그 계산 결과를 제2 출력 정보 z2로 한다(스텝 S119'). z2는 송신부(52')에 보내진다.
제2 출력 정보 계산부(54')는 θ(g2,h2)를 계산 가능하다. 제2 출력 정보 계산부(54')에 의한 계산의 결과가 θ(g2,h2)인 것도 있고, θ(g2,h2)가 아닌 것도 있다.
<스텝 S120'>
송신부(52')는 제2 출력 정보 z2를 의뢰 장치(1')에 송신한다(스텝 S120').
<스텝 S121'>
의뢰 장치(1')의 수신부(17')(도 12)는 제2 출력 정보 z2를 수신한다(스텝 S121'). 수신한 제2 출력 정보 z2는 제2 리스트 정보 계산부(25')에 보내진다. 여기서는 제2 출력 정보 z2는 군 F의 원소인 것으로 한다.
<스텝 S122'>
제2 리스트 정보 계산부(25')는 난수 r4, 난수 r5 및 제2 출력 정보 z2를 사용하여, z2ν-r4r5를 계산한다(스텝 S122'). 계산된 z2ν-r4r5는 제2 리스트 기억부(26')에 보내진다.
<스텝 S123'>
난수 d1과, 난수 r5와, z2ν-r4r5로 구성되는 정보의 세트(d1,r5,z2ν-r4r5)가 리스트 L2에 추가된다. 이 예에서는 제2 리스트 기억부(26')에는 정보의 세트(d1,r5,z2ν-r4r5)가 기억된다(스텝 S123').
<스텝 S124'>
제1 판정부(28')는 제1 리스트 기억부(16')로부터 읽어들인 정보의 세트의 제1 성분을 s1으로 하고, 제2 성분을 w1으로 하고, 제2 리스트 기억부(26')로부터 읽어들인 정보의 세트의 제1 성분을 t2로 하고, 제2 성분을 s2로 하고, 제3 성분을 w2로 하여, 이들의 정보의 세트가 (w1)^(t2s2s1 -1)=w2의 관계를 만족시키는지를 판정한다(스텝 S124').
제1 판정부(28')는 제1 리스트 기억부(16') 및 제2 리스트 기억부(26')에 복수의 정보의 세트가 기억되어 있는 경우에는, 제1 리스트 기억부(16')에 기억된 정보의 세트(r2,z1ν-r1r2)와, 제2 리스트 기억부(26')에 기억된 정보의 세트(d1,r5,z2ν-r4r5)로 구성되는 모든 정보의 페어에 대해서, 상기 관계를 만족하는지 여부를 판정한다. 물론, 이미 상기 관계를 만족하는지 여부를 판정한 정보의 페어에 대해서는 그 판정 처리를 생략해도 된다.
<스텝 S125'>
제1 판정부(28')는 상기한 관계를 만족하는 경우에는 s1을 σ에 대입하고, w1을 ν'에 대입한다(스텝 S125'). 여기서, ν'1/σ=w1 1/σ=θ(g, μh)가 된다. ν'1/σ=θ(g, μh)가 되는 이유에 대해서는 후술한다.
상기한 관계를 만족하지 않는 경우에는 스텝 S11'로 되돌아간다.
<스텝 S21'(도 16)>
제6 난수 생성부(31')는 0 이상 KG 미만의 정수의 일양난수인 r6를 생성한다(스텝 S21'). 생성된 난수 r6는 제5 입력 정보 계산부(33'), 제3 리스트 정보 계산부(35') 및 제3 리스트 기억부(36')에 보내진다.
<스텝 S22'>
제7 난수 생성부(32')는 0 이상 KH 미만의 정수의 일양난수인 r7을 생성한다(스텝 S22'). 생성된 난수 r7은 제6 입력 정보 계산부(34') 및 제3 리스트 정보 계산부(35')에 보내진다.
<스텝 S23'>
제5 입력 정보 계산부(33')는 제5 입력 정보 g3=μg r6를 계산한다(스텝 S23'). 계산된 g3는 송신부(18')에 보내진다.
<스텝 S24'>
제6 입력 정보 계산부(34')는 제6 입력 정보 h3=μh r7σh를 계산한다(스텝 S24'). 계산된 h3는 송신부(18')에 보내진다.
<스텝 S25'>
송신부(18')는 제5 입력 정보 g3 및 제6 입력 정보 h3를 계산 장치(2')에 송신한다(스텝 S25').
<스텝 S26'>
계산 장치(2')의 수신부(51')(도 14)는 제5 입력 정보 g3 및 제6 입력 정보 h3를 수신한다(스텝 S26').
<스텝 S27'>
제3 출력 정보 계산부(55')는 제5 입력 정보 g3 및 제6 입력 정보 h3를 사용하여 계산을 행하고, 그 계산 결과를 제3 출력 정보 z3로 한다(스텝 S27'). z3는 송신부(52')에 보내진다.
제3 출력 정보 계산부(55')는 θ(g3,h3)를 계산 가능하다. 제3 출력 정보 계산부(55')에 의한 계산의 결과가 θ(g3,h3)인 것도 있고, θ(g3,h3)가 아닌 것도 있다.
<스텝 S28'>
송신부(52')는 제3 출력 정보 z3를 의뢰 장치(1')에 송신한다(스텝 S28').
<스텝 S29'>
의뢰 장치(1')의 수신부(17')(도 13)는 제3 출력 정보 z3를 수신한다(스텝 S29'). 수신한 제3 출력 정보 z3는 제3 리스트 정보 계산부(35')에 보내진다. 여기서는 제3 출력 정보 z3는 군 F의 원소인 것으로 한다.
<스텝 S210'>
제3 리스트 정보 계산부(35')는 난수 r6, 난수 r7 및 제3 출력 정보 z3를 사용하여, z3ν'-r6r7을 계산한다(스텝 S210'). 계산된 z3ν'-r6r7은 제3 리스트 기억부(36')에 보내진다.
<스텝 S211'>
난수 r6와, z3ν'-r6r7로 구성되는 정보의 세트(r6,z3ν'-r6r7)가 리스트 L3에 추가된다. 이 예에서는 제3 리스트 기억부(36')에 정보의 세트(r6,z3ν'-r6r7)가 기억된다(스텝 S211').
<스텝 S212'>
제8 난수 생성부(47')는 0 이상 K 미만의 정수의 일양난수인 d2를 생성한다(스텝 S212'). 생성된 난수 d2는 제8 입력 정보 계산부(44') 및 제4 리스트 기억부(46')에 보내진다.
<스텝 S213'>
제9 난수 생성부(41')는 0 이상 KG 미만의 정수의 일양난수인 r9을 생성한다(스텝 S213'). 생성된 난수 r9은 제7 입력 정보 계산부(43'), 제4 리스트 정보 계산부(45') 및 제4 리스트 기억부(46')에 보내진다.
<스텝 S214'>
제10 난수 생성부(42')는 0 이상 KH 미만의 정수의 일양난수인 r10을 생성한다(스텝 S214'). 생성된 난수 r10은 제8 입력 정보 계산부(44'), 제4 리스트 정보 계산부(45') 및 제4 리스트 기억부(46')에 보내진다.
<스텝 S215'>
제7 입력 정보 계산부(43')는 제7 입력 정보 g4=gr9을 계산한다(스텝 S215'). 계산된 제7 입력 정보 g4는 송신부(18')에 보내진다.
<스텝 S216'>
제8 입력 정보 계산부(44')는 제8 입력 정보 h4=μh r10σhd2를 계산한다(스텝 S216'). 계산된 제8 입력 정보 h4는 송신부(18')에 보내진다.
<스텝 S217'>
송신부(18')는 제7 입력 정보 g4 및 제8 입력 정보 h4를 계산 장치(2')에 송신한다(스텝 S217').
<스텝 S218'>
계산 장치(2')의 수신부(51')(도 14)는 제7 입력 정보 g4 및 제8 입력 정보 h4를 수신한다(스텝 S218').
<스텝 S219'>
제4 출력 정보 계산부(56')는 제7 입력 정보 g4 및 제8 입력 정보 h4를 사용하여 계산을 행하고, 그 계산 결과를 제4 출력 정보 z4로 한다(스텝 S219'). z4는 송신부(52')에 보내진다.
제4 출력 정보 계산부(56')는 θ(g4,h4)를 계산 가능하다. 제4 출력 정보 계산부(56')에 의한 계산의 결과가 θ(g4,h4)인 것도 있고, θ(g4,h4)가 아닌 것도 있다.
<스텝 S220'>
송신부(52')는 제4 출력 정보 z4를 의뢰 장치(1')에 송신한다(스텝 S220').
<스텝 S221'>
의뢰 장치(1')의 수신부(17')(도 12)는 제4 출력 정보 z4를 수신한다(스텝 S221'). 수신한 제4 출력 정보 z4는 제4 리스트 정보 계산부(45')에 보내진다. 여기서는 제4 출력 정보 z4는 군 F의 원소인 것으로 한다.
<스텝 S222'>
제4 리스트 정보 계산부(45')는 난수 r9, 난수 r10 및 제4 출력 정보 z4를 사용하여, z4ν'-r9r10을 계산한다(스텝 S222'). 계산된 z4ν'-r9r10은 제4 리스트 기억부(46')에 보내진다.
<스텝 S223'>
난수 d2와, 난수 r9과, z4ν-r9r10으로 구성되는 정보의 세트(d2,r9,z4ν'-r9r10)가 리스트 L4에 추가된다. 이 예에서는 제4 리스트 기억부(46')에 정보의 세트(d2,r9,z4ν'-r9r10)가 기억된다(스텝 S223').
<스텝 S224'>
제2 판정부(48')는 제3 리스트 기억부(36')로부터 읽어들인 정보의 세트의 제1 성분을 s3로 하고, 제2 성분을 w3로 하고, 제4 리스트 기억부(46')로부터 읽어들인 정보의 세트의 제1 성분을 t4로 하고, 제2 성분을 s4로 하고, 제3 성분을 w4로 하여, 이들의 정보의 세트가 (w3)^(t4s4s3 -1)=w4의 관계를 만족시키는지를 판정한다(스텝 S224').
제2 판정부(48')는 제3 리스트 기억부(36') 및 제4 리스트 기억부(46')에 복수의 정보의 세트가 기억되어 있는 경우에는 제3 리스트 기억부(36')에 기억된 정보의 세트(r6,z3ν'-r6r7)와, 제4 리스트 기억부(46')에 기억된 정보의 세트(d2,r9,z4ν'-r9r10)로 구성되는 모든 정보의 페어에 대해서, 상기 관계를 만족하는지 여부를 판정한다. 물론, 이미 상기 관계를 만족하는지 여부를 판정한 정보의 페어에 대해서는 그 판정 처리를 생략해도 된다.
<스텝 S225'>
제2 판정부(48')는 상기한 관계를 만족하는 경우에는 (w3)^(s3 -1)을 출력한다(스텝 S225'). 여기서, (w3)^(s3 -1)=θ(g, h)가 된다. (w3)^(s3 -1)=θ(g, h)가 되는 이유에 대해서는 후술한다.
상기한 관계를 만족하지 않는 경우에는 스텝 S21'로 되돌아간다.
(w3)^(s3 -1)의 계산, 즉 w3의 멱승근의 계산이 곤란한 경우에는 다음과 같이 하여 θ(g, h)를 용이하게 계산할 수 있다. 제2 판정부(48')는 스텝 S21' 내지 스텝 S224'의 처리를 반복하여 (w3)^(t4s4s3 -1)=w4의 관계를 만족하는 w3와 s3의 세트(w3,s3)를 순차(α1,S1), (α2,S2), …, (αm, Sm), …로서 기억부(410')에 기억한다. m은 자연수이다. 제2 판정부(48')는 S1과 서로 소가 되는 Sm이 발견되면, L1과 L2를 정수로 하여 L1S1+L2Sm=1이 되는 L1 및 L2를 계산하고, 그 L1 및 L2를 사용하여 α1 L1αm L2를 계산한다. α1 L1αm L2=θ(g, h)(L1S1+L2S2)=θ(g, h)가 된다. 또, 제2 판정부(48')는 S1,S2,…, Sm의 최소공배수가 1이 되면, L1,L2,…, Lm을 정수로 하여 L1S1+L2S2+…+LmSm=1이 되는 L1,L2,…, Lm을 계산하여, 그 L1,L2,…, Lm을 사용하여 α1 L1α2 L2…αm Lm을 계산해도 된다. α1 L1α2 L2…αm Lm=θ(g, h)(L1S1+L2S2+…+LmSm)=θ(g, h)가 된다.
의뢰 장치(1')와 계산 장치(2') 사이의 통신을 방수할 수 있는 공격자 M이 있다고 해도, 의뢰 장치(1') 및 계산 장치(2') 사이에서 통신되는 정보를 의뢰 장치(1')만이 아는 난수(예를 들면, r1,r2)로 교란함으로써, 공격자 M으로부터 비닉할 수 있다.
또, 의뢰 장치(1') 및 계산 장치(2') 사이에서 통신되는 정보는 의뢰 장치(1')만이 아는 r1,r2 등의 난수로 교란되어 있기 때문에, 계산 장치(2')는 의뢰 장치(1')가 최종적으로 계산하고자 하는 θ(g, h)는 물론 그 입력인 g 및 h도 알 수는 없다.
따라서, 계산 장치(2')는 신뢰할 수 있는 계산기일 필요는 없고, 쌍준동형사상을 계산하기 위한 시스템의 구성 요건을 완화할 수 있다. 또, 신뢰할 수 있는 계산기는 일반적으로 고가여서 운용에 비용을 필요로 하지만, 계산 장치(2')가 신뢰할 수 있는 계산기일 필요가 없기 때문에, 쌍준동형사상을 계산하기 위한 시스템의 구축 및 운용의 비용을 삭감할 수 있다.
≪ν'1/σ=θ(g, μh)가 되는 이유에 대해서≫
우선, randomizable sampler라고 불리는 확률변수 SX(d)에 대해서 설명한다. w∈F에 관한 오차 X의 randomizable sampler인 확률변수 SX(d)는 SX(d)=wdX이다. d는 자연수이다.
여기서, R1,R2,R1' 및 R2'를 난수로 하여, 계산 장치가 gdμg R1 및 μh R2를 사용하여 행하는 계산의 계산 결과를 B(gdμg R1,μh R2)(계산 장치가 의뢰 장치에 되돌리는 계산 결과를 z로 하면, z=B(gdμg R1,μh R2)이다.)로 하고, 군 F에 값을 가지는 확률변수 X를 X=B(μg R'1,μh R'2)1/R'2θ(μg R'1,μh)-1로 정의하면, SX(d)=z(1/R2)ν-R1은 θ(g, μh)에 관한 오차 X의 randomizable sampler가 된다.
SX(d)=z(1/R2)ν-R1=B(gdμg R1,μh R2)1/R2θ(μg, μh)-R1=Xθ(gdμg R1,μh)θ(μg R1,μh)-1=Xθ(gd, μh)θ(μg R1,μh)θ(μg R1,μh)-1=θ(g, μh)dX이기 때문이다.
상기 식 전개에 있어서, X=B(μg R'1,μh R'2)1/R'2θ(μg R'1,μh)-1=B(gdμg R1,μh R2)1/R2θ(gdμg R1,μh)-1이며, B(gdμg R1,μh R2)1/R2=Xθ(gdμg R1,μh)라는 성질을 사용하고 있다. 이 성질은 R1,R2,R1' 및 R2'가 난수인 것에 기초한다.
여기서 SX(1)의 실현값을 θ(g, μh)1x1로 표기하고, SX(d)의 실현값을 θ(g, μh)dx2로 표기하는 것으로 하여, SX(1)의 실현값의 d승=SX(d)의 실현값, 즉 (θ(g, μh)1x1)d=θ(g, μh)dx2가 되는 것은 x1 및 x2가 군 F의 단위원 ef일 때일 가능성이 매우 높은 것을 발명자는 알아냈다. 여기서는 그 증명은 생략한다. x1이 군 F의 단위원 ef일 때, SX(1)의 실현값=θ(g, μh)1x1=θ(g, μh)가 된다.
상기 실시형태의 대리 계산 시스템은 이 randomizable sampler의 성질을 사용하고 있다.
스텝 S11' 내지 스텝 S111'의 처리가 SX(1)의 실현값 θ(g, μh)1x1의 계산에 대응하고 있다. 실제로는 SX(1)의 실현값 자체는 계산하고 있지 않지만, 동 처리에 의해 얻어지는 (r2,z1ν-r1r2)을 사용하여, z1ν-r1r2를 1/r2승하면, (z1ν-r1r2)1/r2=z1 1/r2ν-r1이 되고, SX(1)의 실현값 θ(g, μh)1x1이 된다. 마찬가지로 스텝 S112' 내지 스텝 S123'의 처리가 SX(d1)의 실현값 θ(g, μh)d1x2의 계산에 대응하고 있다.
또, 스텝 S124'의 처리가 SX(1)의 실현값의 d1승=SX(d1), 즉 (θ(g, μh)1x1)d1=θ(g, μh)d1x2인지 여부의 판정에 대응하고 있다. 스텝 S124'에서 사용하는 판정 조건 (w1)^(t2s2s1 -1)은 (w1)^(t2s2s1 -1)=w2⇔(w1 1/s1)t2=w2 1/s2⇔(z1 1/r2ν-r1)d1=z2 1/r5ν-r4⇔(θ(g, μh)1x1)d1=θ(g, μh)d1x2⇔SX(1)의 실현값의 d1승=SX(d1)의 실현값이기 때문이다. 여기서, 정의로부터 s1=r2, w1=z1ν-r1r2, t2=d1, s2=r5, w2=z2ν-r4r5이다.
또한, 스텝 S125'에 있어서의 σ 및 ν'가 θ(g, μh)에 대응하고 있다. 상기한 바와 같이 SX(1)의 실현값의 d1승=SX(d1)의 실현값일 때, ν'1/σ=w1 1/s1=z1 1/r2ν-r1=θ(g, μh)1x1=θ(g, μh)이기 때문이다.
≪(w3)^(s3 -1)=θ(g, h)이 되는 이유에 대해서≫
R1,R2,R1' 및 R2'를 난수로 하여, 계산 장치가 gR1 및 hdμh R2를 사용하여 행하는 계산의 계산 결과를 B(gR1,hdμh R2)(계산 장치가 의뢰 장치에 되돌리는 계산 결과를 z로 하면, z=B(gR1,hdμh R2)이다.)로 하고, 군 F에 값을 가지는 확률변수 X를 X=B(gR'1,μh R'2)1/R'1θ(g, μh R'2)-1이라고 정의하면, SX(d)=z(1/R1)ν'-R2는 θ(g, h)에 관한 오차 X의 randomizable sampler가 된다.
SX(d)=z(1/R1)ν'-R2=B(gR1,hdμh R2)1/R1θ(g, μh)-R2=Xθ(g, hdμh R2)θ(g, μh R2)-1=Xθ(g, hd)θ(g, μh R2)θ(g, μh R2)-1=θ(g, h)dX이기 때문이다.
상기 식 전개에 있어서, X=B(gR'1,μh R'2)1/R'1θ(g, μh R'2)-1=B(gR1,μh R2)1/R1θ(g, hdμh R2)-1이며, B(gR1,hdμh R2)1/R1=Xθ(g, hdμh R2)라는 성질을 사용하고 있다. 이 성질은 R1,R2,R1' 및 R2'가 난수인 것에 기초한다.
여기서 SX(1)의 실현값을 SX(1)=θ(g, h)1x1로 표기하고, SX(d)의 실현값을 SX(d)=θ(g, h)dx2라고 표기하는 것으로 하여, SX(1)의 실현값의 d승=SX(d), 즉 (θ(g, h)1x1)d=θ(g, h)dx2가 되는 것은 x1 및 x2가 군 F의 단위원 ef일 때일 가능성이 매우 높은 것을 발명자는 알아냈다. 여기서는 그 증명은 생략한다. x1이 군 F의 단위원 ef일 때, SX(1)의 실현값=θ(g, h)1x1=θ(g, h)가 된다.
상기 실시형태의 대리 계산 시스템은 이 randomizable sampler의 성질을 사용하고 있다.
스텝 S21' 내지 스텝 S211'의 처리가 SX(1)의 실현값 θ(g, h)1x1의 계산에 대응하고 있다. 실제로는 SX(1)의 실현값 자체는 계산하고 있지 않지만, 동 처리에 의해 얻어지는 (r6,z3ν'-r6r7)을 사용하여, z3ν'-r6r7을 1/r6승하면, (z3ν'-r6r7)1/r6=z3 1/r6ν'-r7이 되고, SX(1)의 실현값 θ(g, h)1x1이 된다. 마찬가지로, 스텝 S212' 내지 스텝 S223'의 처리가 SX(d2)의 실현값 θ(g, h)d2x2의 계산에 대응하고 있다.
또, 스텝 S224'의 처리가 SX(1)의 실현값의 d2승=SX(d2)의 실현값, 즉 (θ(g, h)1x1)d2=θ(g, h)d2x2인지 여부의 판정에 대응하고 있다. 스텝 S224'에서 사용하는 판정 조건 (w3)^(t4s4s3 -1)=w4는 (w3)^(t4s4s3 -1)=w4⇔(w3 1/s3)t4=w4 1/s4⇔(z3 1/r6ν'-r7)d2=z4 1/r9ν'-r10⇔(θ(g, h)1x1)d2=θ(g, h)d2x2⇔SX(1)의 실현값의 d2승=SX(d2)의 실현값이기 때문이다. 여기서 정의로부터 s3=r6, w3=z3ν'-r6r7, t4=d2, s4=r9, w4=z4ν'-r9r10이다.
또한, 스텝 S225'에 있어서의 (w3)^(s3 -1)이 θ(g, h)에 대응하고 있다. 상기한 바와 같이 SX(1)의 실현값의 d2승=SX(d2)의 실현값일 때, (w3)^(s3 -1)=(z3ν'-r6r7)^(r6 -1)=z3 1/r6ν'-r7=θ(g, h)1x1=θ(g, h)이기 때문이다.
[제5 실시형태]
제5 실시형태의 대리 계산 시스템은 스텝 S13', 스텝 S110' 및 스텝 S111'가 제4 실시형태의 대리 계산 시스템과는 상이하고, 다른 부분에 대해서는 제4 실시형태의 대리 계산 시스템과 마찬가지이다. 이하, 제4 실시형태와 상이한 부분을 중심으로 설명한다.
제1 입력 정보 계산부(13')는 g1=μg r1g가 아니라, g1=gr1로 정의되는 제1 입력 정보를 계산한다(스텝 S13').
제1 리스트 정보 계산부(15')는 z1ν-r1r2가 아니라, 난수 r1 및 난수 r2를 사용하여 r1r2를 계산하여, 그 계산 결과를 제1 리스트 기억부(16')에 보낸다(스텝 S110').
제1 리스트 기억부(16')에는 정보의 세트(r2,z1ν-r1r2)가 아니라, 계산된 r1r2와 계산 장치(2')로부터 수신한 z1∈F로 구성되는 정보의 세트(r1r2,z1)가 기억된다(스텝 S111').
제4 실시형태의 스텝 S110'에서는 z1ν-r1r2라는 군 F의 멱연산을 행할 필요가 있었지만, 제5 실시형태의 스텝 S110'에서는 r1r2의 계산을 행하고 있어 멱연산의 횟수가 1회 줄어들어 있다. 이와 같이 멱연산의 횟수를 줄임으로써 연산의 효율성을 더할 수 있다. 또, 군 G, 군 H에 있어서 비자명 멱근의 계산이 곤란하면, 제4 실시형태와 비교하여 안전성은 저하되지 않는다.
[제6 실시형태]
제6 실시형태의 대리 계산 시스템은 스텝 S24', 스텝 S210' 및 스텝 S211'가 제4 실시형태의 대리 계산 시스템과는 상이하고, 다른 부분에 대해서는 제4 실시형태의 대리 계산 시스템과 마찬가지이다. 이하, 제4 실시형태와 상이한 부분을 중심으로 설명한다.
제6 입력 정보 계산부(34')는 h3=μh r7σh가 아니라, h3=hr7로 정의되는 제6 입력 정보 h3를 계산한다(스텝 S24').
제3 리스트 정보 계산부(35')는 z3ν'-r6r7이 아니라, 난수 r6 및 난수 r7을 사용하여 r6r7을 계산한다(스텝 S210').
제3 리스트 기억부(36')에는 정보의 세트(r6,z3ν'-r6r7)가 아니라, 계산된 r6r7과 계산 장치(2')로부터 수신한 z3∈F로 구성되는 정보의 세트(r6r7,z3)가 기억된다(스텝 S211').
제4 실시형태의 스텝 S210'에서는 z3ν'-r6r7이라는 군 F의 멱연산을 행할 필요가 있었지만, 제6 실시형태의 스텝 S210'에서는 r6r7의 계산을 행하고 있어 멱연산의 횟수가 1회 줄어들어 있다. 이와 같이, 멱연산의 횟수를 줄임으로써 연산의 효율성을 더할 수 있다.
군 G, 군 H에 있어서 비자명 멱근의 계산이 곤란하면, 제4 실시형태와 비교하여 안전성은 저하되지 않는다.
[제7 실시형태]
제7 실시형태의 대리 계산 시스템은 스텝 S125' 및 스텝 S214'가 제4 실시형태의 대리 계산 시스템과는 상이하고, 다른 부분에 대해서는 제4 실시형태의 대리 계산 시스템과 마찬가지이다. 이하, 제4 실시형태와 상이한 부분을 중심으로 설명한다.
제1 판정부(28')는 상기한 관계를 만족하는 경우에는 t1s2를 σ에 대입하고, w2를 ν'에 대입한다(스텝 S125').
제10 난수 생성부(42')는 난수 r9를 사용하여 -r9 -1을 계산하여 r10으로 한다(스텝 S214').
이와 같이, ν'의 정의를 변경하여, σ를 계산 장치(2')에 있어서 추측이 곤란한 난수로 함으로써 안전성이 증가한다. 또, 난수 r9을 사용하여 난수 r10을 계산함으로써 난수를 생성하는 횟수를 줄일 수 있다. 난수 r10이 난수 r9에 의해 정해지기 때문에 제8 입력 정보 h4=μh r10σhd2의 난잡성이 저하되어 안전성이 손상된다고도 생각되지만, 제8 입력 정보 h4=μh r10σhd2는 난수 r10 뿐만아니라 또한 σ에 의해 교란되어 있기 때문에 안전성은 손상되지 않는다.
또한, 제7 실시형태에 있어서는 또한 스텝 S22' 및 스텝 S211'를 이하와 같이 변경해도 된다.
제7 난수 생성부(32')는 난수 r6를 사용하여 -r6 -1을 계산하여 r7으로 한다(스텝 S22').
제3 리스트 기억부(36')에는 1과 상기 계산된 z3ν'-r6r7로 구성되는 정보의 세트(1,z3ν'-r6r7)가 기억된다(스텝 S211').
이와 같이, 난수 r6를 사용하여 난수 r7을 계산함으로써 난수를 생성하는 횟수를 줄일 수 있다.
군 G, 군 H에 있어서 비자명 멱근의 계산이 곤란하면, 제4 실시형태와 비교하여 안전성은 저하되지 않는다.
[제8 실시형태]
제8 실시형태의 대리 계산 시스템은 스텝 S113'가 제4 실시형태의 대리 계산 시스템과는 상이하고, 다른 부분에 대해서는 제4 실시형태의 대리 계산 시스템과 마찬가지이다. 이하, 제4 실시형태와 상이한 부분을 중심으로 설명한다.
우선, 스텝 S113'에 앞서, 제5 난수 생성부(22')는 난수 r5를 생성한다(스텝 S114').
제4 난수 생성부(21')는 난수 r5를 사용하여 -r5-1을 계산하여 r4로 한다(스텝 S113').
이와 같이, 난수 r5를 사용하여 난수 r4를 계산함으로써 난수를 생성하는 횟수를 줄일 수 있다.
군 H의 임의의 원소 h에 대해서, g∈G이며 θ(g, h)=ν가 되는 것을 계산하는 것이 곤란하면, 제4 실시형태와 비교하여 안전성은 저하되지 않는다.
[제9 실시형태]
제9 실시형태의 대리 계산 시스템은 의뢰 장치(1')가 도 12에 파선으로 나타낸 사전 계산부(29')를 또한 포함하고, 스텝 S115'가 제4 실시형태의 대리 계산 시스템과는 상이하고, 다른 부분에 대해서는 제4 실시형태의 대리 계산 시스템과 마찬가지이다. 이하, 제4 실시형태와 상이한 부분을 중심으로 설명한다.
사전 계산부(29')는 제3 난수 생성부(27')가 생성한 d1을 사용하여 gd1을 계산한다. 이 처리는 스텝 S112'의 뒤, 스텝 S115' 앞에 행한다.
제3 입력 정보 계산부(23')는 사전 계산된 gd1을 사용하여, g2=μg r4gd1의 계산을 행한다(스텝 S115').
스텝 S114'에서, 판정 조건을 만족하지 않는 경우에는 스텝 S11' 내지 스텝 S123'의 처리가 반복되는데, 이 반복의 처리에 있어서는 사전 계산된 gd1을 재이용한다. 즉, 제3 난수 생성부(27')는 난수 d1을 생성하지 않고, 제3 입력 정보 계산부(23')는 사전 계산된 gd1을 사용하여, g2=μg r4gd1의 계산을 행한다. 이것에 의해, 난수 d1을 생성하는 횟수를 줄일 수 있어, g2=μg r4gd1의 계산을 빠르게 행할 수 있다.
[제10 실시형태]
제10 실시형태의 대리 계산 시스템은 의뢰 장치(1')가 도 13에 파선으로 나타낸 사전 계산부(49')를 또한 포함하고, 스텝 S216'가 제4 실시형태의 대리 계산 시스템과는 상이하고, 다른 부분에 대해서는 제4 실시형태의 대리 계산 시스템과 마찬가지이다. 이하, 제4 실시형태와 상이한 부분을 중심으로 설명한다.
사전 계산부(49')는 제8 난수 생성부(47')가 생성한 d2를 사용하여 hd2를 계산한다. 이 처리는 스텝 S212'의 뒤, 스텝 S216' 앞에 행한다.
제8 입력 정보 계산부(44')는 사전 계산된 hd2를 사용하여, 제8 입력 정보 h4=μh r10σhd2의 계산을 행한다(스텝 S216').
스텝 S214'에서, 판정 조건을 만족하지 않는 경우에는 스텝 S21' 내지 스텝 S223'의 처리가 반복되는데, 이 반복의 처리에 있어서는, 사전 계산된 hd2를 재이용한다. 즉, 제8 난수 생성부(47')는 난수 d2를 생성하지 않고, 제8 입력 정보 계산부(44')는 사전 계산된 hd2를 사용하여, h4=μh r10σhd2의 계산을 행한다. 이것에 의해, 난수 d2를 생성하는 횟수를 줄일 수 있어, h4=μh r10σhd2의 계산을 빠르게 행할 수 있다.
[제4 실시형태 내지 제10 실시형태의 변형예 등]
제1 난수 생성부(11'), 제2 난수 생성부(12'), 제3 난수 생성부(27'), 제4 난수 생성부(21'), 제5 난수 생성부(22'), 제6 난수 생성부(31'), 제7 난수 생성부(32'), 제8 난수 생성부(47'), 제9 난수 생성부(41') 및 제10 난수 생성부(42')의 각각은 일양난수를 생성함으로써 대리 계산 시스템의 안전성이 가장 높아진다. 그러나, 요구하는 안전성의 레벨이 그다지 높지 않은 경우에는, 제1 난수 생성부(11'), 제2 난수 생성부(12'), 제3 난수 생성부(27'), 제4 난수 생성부(21'), 제5 난수 생성부(22'), 제6 난수 생성부(31'), 제7 난수 생성부(32'), 제8 난수 생성부(47'), 제9 난수 생성부(41') 및 제10 난수 생성부(42')의 각각은 일양난수가 아닌 난수를 생성해도 된다.
리스트 L1, 리스트 L2에 정보의 세트가 추가될 때마다, 제1 판정부(28')의 처리를 행해도 된다. 예를 들면, 제2 리스트 기억부(26')에 정보의 세트(d1,r5,z2ν-r4r5)가 기억되어 있는 경우에는, 스텝 S111' 뒤에 스텝 S124'의 처리를 행해도 된다. 마찬가지로, 리스트 L3, 리스트 L4에 정보의 세트가 추가될 때마다, 제2 판정부(48')의 처리를 행해도 된다.
제4 실시형태 내지 제10 실시형태는 서로 조합할 수 있다.
의뢰 장치(1')의 각 부 사이의 데이터의 교환은 직접 행해져도 되고, 도시하고 있지 않은 기억부를 통하여 행해져도 된다. 마찬가지로, 계산 장치(2')의 각 부 사이의 데이터의 교환은 직접 행해져도 되고, 도시하고 있지 않은 기억부를 통하여 행해져도 된다.
의뢰 장치(1') 및 계산 장치(2')의 각각은 컴퓨터에 의해 실현할 수 있다. 이 경우, 이 장치가 가져야 할 각 기능의 처리 내용은 프로그램에 의해 기술된다. 그리고, 이 프로그램을 컴퓨터로 실행함으로써, 이 장치에 있어서의 각 처리 기능이 컴퓨터 상에서 실현된다.
이 처리 내용을 기술한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록해 둘 수 있다. 또, 이 형태에서는 컴퓨터 상에서 소정의 프로그램을 실행시킴으로써 이들 장치를 구성하는 것으로 했지만, 이들의 처리 내용의 적어도 일부를 하드웨어적으로 실현하는 것으로 해도 된다.
또한, 제1 실시형태 내지 제3 실시형태와, 제4 실시형태 내지 제10 실시형태를 조합해도 된다. 예를 들면, 도 17에 예시하는 바와 같이, 제1 실시형태 내지 제3 실시형태의 계산 장치(2)가 제4 실시형태 내지 제10 실시형태의 의뢰 장치(1')를 구비하고 있고, 이 의뢰 장치(1')를 포함하는 계산 장치(2)가 제4 실시형태 내지 제10 실시형태에서 설명한 것과 마찬가지로 하여 계산 장치(2')를 사용하여, 함수 f의 계산을 행해도 된다.
구체적으로는 계산 장치(2)는 계산할 필요가 있는 함수 f(x)를 계산하기 위해서, 대응하는 사상 θ(g, h)의 값을 계산 장치(2')를 사용하여 계산한다. 함수 f(x)에 대응하는 사상 θ(g, h)는 주어진 함수 f 및 x에 대하여, 함수 f(x)와 값이 동일한 값을 출력하는 사상 θ(g, h)이다. 어떠한 원소 h∈H에 관하여, f(x)=θ(x, h)라는 관계가 있는 경우에는, f(x)에 대응하는 사상 θ가 θ(x, h)가 된다.
예를 들면, 참고 문헌 1에 기재된 Boneh-Franklin 방식의 ID 베이스 암호에 있어서, 어떠한 일정한 ID에 관한 복호함수를 f로 한다. 이 방식의 ID 베이스 암호에서는 타원 곡선의 점이 이루는 유한군 G, H와, 페어링 τ:G×H→F를 사용하여 구성된다. Q를 G의 원소로 한다. ID 베이스 암호의 키 발행 센터의 비밀 키를 s로 하여, 공개 키를 P=sQ로 한다. ID 베이스 암호의 퍼블릭 파라미터는 군 G, H의 기술과, 페어링 τ의 기술, Q 및 P이다.
〔참고문헌 1〕Dan Boneh, Matt Franklin, "Identity-Based Encryption from the Weil Pairing", CRYPTO 2001, LNCS 2139, pp. 213-229, 2001.
키의 발행은 이하와 같이 하여 행해진다. 키 발행 센터는 ID에 대응하여 정해지는 H의 원소 QID에 대해서, PID=sQID를 계산하여 ID의 유지자에 대하여 통지한다. PID는 ID의 유지자의 비밀 키이다. 이 때, 복호함수 f:G→F는 f(x)=τ(x, PID)로 정의된다.
암호문의 작성, 암호문의 복호는 이하와 같이 하여 행해진다. 평문 m을 어느 ID에 대해서 암호화하기 위해서는 난수 r을 생성하여 (Qr, m(+)H(τ(Pr, QID)))를 계산하고, 이것을 암호문(C1,C2)으로 한다. 복호하기 위해서는 암호문(C1,C2)에 대하여, C2(+)H(f(C1))을 계산함으로써 평문이 얻어진다. 단, 여기서 H는 해시함수, (+)은 배타적 논리합이다.
이러한 Boneh-Franklin 방식의 ID 베이스 암호에 있어서, 함수 f(x)에 대응하는 사상 θ는 예를 들면 페어링 τ를 사용하여 정의된다. 즉, f(x)=τ(x, PID)이다.
계산 장치(2)가 IC 카드나 휴대전화이며, 비밀정보의 추출이 곤란하지만, 계산 능력이 한정되어 있는 경우에, 이와 같이 의뢰 장치 및 계산 장치를 다중으로 하여 조합하는 것이 유익하다.
본 발명은 상기 서술한 실시형태에 한정되는 것은 아니며, 본 발명의 취지를 일탈하지 않는 범위에서 적당히 변경이 가능하다.
Claims (19)
- G, H를 순회군, f를 군 H의 원소 x를 군 G에 그리는 함수, X1, X2를 군 G에 값을 가지는 확률변수, 확률변수 X1의 실현값을 x1, 확률변수 X2의 실현값을 x2로 하여,
서로 소인 2개의 자연수 a, b를 사용하여, a'a+b'b=1의 관계를 만족하는 정수 a',b'를 계산하는 정수 계산부와,
f(x)bx1을 계산 가능하며, 그 계산 결과를 u로 하는 제1 난수화 가능 표본기와,
u'=ua를 계산하는 제1 멱승 계산부와,
f(x)ax2를 계산 가능하며, 그 계산 결과를 v로 하는 제2 난수화 가능 표본기와,
v'=vb를 계산하는 제2 멱승 계산부와,
u'=v'인지 판정하는 판정부와,
u'=v'라고 판정된 경우에는 ub'va'를 계산하는 최종 계산부를 포함하는 것을 특징으로 하는 대리 계산 시스템. - 제 1 항에 있어서,
X3를 군 G에 값을 가지는 확률변수, 확률변수 X3의 실현값을 x3로 하여, f(x)x3를 계산 가능하며, a=1이면 상기 제2 난수화 가능 표본기를 대신하여 그 계산 결과를 상기 v로 하고, b=1이면 상기 제1 난수화 가능 표본기를 대신하여 그 계산 결과를 상기 u로 하는 표본기를 더욱 포함하는 것을 특징으로 하는 대리 계산 시스템. - 제 1 항에 있어서,
상기 f를 준동형사상, 군 H의 생성원을 μh, 군 H의 위수를 KH, ν=f(μh)로 하여,
상기 제1 난수화 가능 표본기는 0 이상 KH 미만의 정수의 난수 r1을 생성하는 제1 난수 생성부와, 제1 입력 정보 μh r1xb를 계산하는 제1 입력 정보 계산부와, 상기 제1 입력 정보 μh r1xb를 사용하여 f(μh r1xb)를 계산 가능하며 그 계산 결과를 제1 출력 정보 z1으로 하는 제1 출력 정보 계산부와, z1ν-r1을 계산하여 그 계산 결과를 상기 u로 하는 제1 계산부를 포함하고,
상기 제2 난수화 가능 표본기는 0 이상 KH 미만의 정수의 난수 r2를 생성하는 제2 난수 생성부와, 제2 입력 정보 μh r2xa를 계산하는 제2 입력 정보 계산부와, 상기 제2 입력 정보 μh r2xa를 사용하여 f(μh r2xa)를 계산 가능하며 그 계산 결과를 제2 출력 정보 z2로 하는 제2 출력 정보 계산부와, z2ν-r2를 계산하여 그 계산 결과를 상기 v로 하는 제2 계산부를 포함하는 것을 특징으로 하는 대리 계산 시스템. - 제 3 항에 있어서,
0 이상 KH 미만의 정수의 난수 r3를 생성하는 제3 난수 생성부와, 제3 입력 정보 xr3를 계산하는 제3 입력 정보 계산부와, 상기 제3 입력 정보 xr3를 사용하여 f(xr3)를 계산 가능하며 그 계산 결과를 제3 출력 정보 z3로 하는 제3 출력 정보 계산부와, z3 1/r3를 계산하여 a=1이면 상기 제2 난수화 가능 표본기를 대신하여 그 계산 결과를 상기 v로 하고 b=1이면 상기 제1 난수화 가능 표본기를 대신하여 그 계산 결과를 상기 u로 하는 제3 계산부를 포함하는 표본기를 더욱 포함하는 것을 특징으로 하는 대리 계산 시스템. - 제 1 항에 있어서,
군 H=G×G, 상기 f를 준동형사상, 군 G의 생성원을 μg, 군 G의 위수를 KG, x=(c1,c2),(V,W)를 군 H의 원소, f(V,W)=Y로 하여,
상기 제1 난수화 가능 표본기는 0 이상 KG 미만의 정수의 난수 r4를 생성하는 제4 난수 생성부와, 0 이상 KG 미만의 정수의 난수 r5를 생성하는 제5 난수 생성부와, 제4 입력 정보 c1 bVr4μg r5를 계산하는 제4 입력 정보 계산부와, 제5 입력 정보 c2 bWr4를 계산하는 제5 입력 정보 계산부와, 상기 제4 입력 정보 c1 bVr4μg r5 및 상기 제5 입력 정보 c2 bWr4를 사용하여 f(c1 bVr4μg r5,c2 bWr4)를 계산 가능하며 그 계산 결과를 제4 출력 정보 z4로 하는 제4 출력 정보 계산부와, z4Y-r4μg -r5를 계산하여 그 계산 결과를 상기 u로 하는 제4 계산부를 포함하고,
상기 제2 난수화 가능 표본기는 0 이상 KG 미만의 정수의 난수 r6를 생성하는 제6 난수 생성부와, 0 이상 KG 미만의 정수의 난수 r7을 생성하는 제7 난수 생성부와, 제6 입력 정보 c1 aVr6μg r7을 계산하는 제6 입력 정보 계산부와, 제7 입력 정보 c2 aWr6를 계산하는 제7 입력 정보 계산부와, 상기 제6 입력 정보 c1 aVr6μg r7 및 상기 제7 입력 정보 c2 aWr6를 사용하여 f(c1 aVr6μg r7,c2 aWr6)를 계산 가능하며 그 계산 결과를 제5 출력 정보 z5로 하는 제5 출력 정보 계산부와, z5Y-r6μg -r7을 계산하여 그 계산 결과를 상기 v로 하는 제5 계산부를 포함하는 것을 특징으로 하는 대리 계산 시스템. - G, H를 순회군, f를 군 H의 원소 x를 군 G에 그리는 함수, X1, X2를 군 G에 값을 가지는 확률변수, 확률변수 X1의 실현값을 x1, 확률변수 X2의 실현값을 x2로 하여,
정수 계산부가 서로 소인 2개의 자연수 a, b를 사용하여, a'a+b'b=1의 관계를 만족하는 정수 a',b'를 계산하는 정수 계산 스텝과,
제1 난수화 가능 표본기가 f(x)bx1을 계산 가능하며, 그 계산 결과를 u로 하는 제1 난수화 가능 표본 추출 스텝과,
제1 멱승 계산부가 u'=ua를 계산하는 제1 멱승 계산 스텝과,
제2 난수화 가능 표본기가 f(x)ax2를 계산 가능하며, 그 계산 결과를 v로 하는 제2 난수화 가능 표본 추출 스텝과,
제2 멱승 계산부가 v'=vb를 계산하는 제2 멱승 계산 스텝과,
판정부가 u'=v'인지 판정하는 판정 스텝과,
최종 계산부가 u'=v'라고 판정된 경우에는 ub'va'를 계산하는 최종 계산 스텝을 포함하는 것을 특징으로 하는 대리 계산 방법. - G, H를 순회군, f를 군 H의 원소 x를 군 G에 그리는 함수, X1, X2를 군 G에 값을 가지는 확률변수, 확률변수 X1의 실현값을 x1, 확률변수 X2의 실현값을 x2로 하여,
서로 소인 2개의 자연수 a, b를 사용하여, a'a+b'b=1의 관계를 만족하는 정수 a',b'를 계산하는 정수 계산부와,
f(x)bx1을 계산 가능한 제1 난수화 가능 표본기에 의한 계산 결과 u를 사용하여 u'=ua를 계산하는 제1 멱승 계산부와,
f(x)ax2를 계산 가능한 제2 난수화 가능 표본기에 의한 계산 결과 v를 사용하여 v'=vb를 계산하는 제2 멱승 계산부와,
u'=v'인지 판정하는 판정부와,
u'=v'라고 판정된 경우에는 ub'va'를 계산하는 최종 계산부를 포함하는 것을 특징으로 하는 의뢰 장치. - 의뢰 장치가 계산 장치에 의뢰한 계산의 결과를 사용하여 θ(g, h)를 계산하는 대리 계산 시스템에 있어서,
G, H 및 F를 순회군으로 하고, 사상 θ:G×H→F를 쌍준동형사상으로 하고, g를 군 G의 원소로 하고, h를 군 H의 원소로 하고, KG를 군 G의 위수로 하고, KH를 군 H의 위수로 하고, μg를 군 G의 생성원으로 하고, μh를 군 H의 생성원으로 하고, ν=θ(μg, μg)로 하고, k를 자연수의 세큐리티 파라미터로 하고, K=2k로 하여,
상기 의뢰 장치는,
0 이상 KG 미만의 정수의 난수 r1을 생성하는 제1 난수 생성부와,
0 이상 KH 미만의 정수의 난수 r2를 생성하는 제2 난수 생성부와,
제1 입력 정보 g1=μg r1g를 계산하는 제1 입력 정보 계산부와,
제2 입력 정보 h1=μh r2를 계산하는 제2 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z1∈F를 사용하여, z1ν-r1r2를 계산하는 제1 리스트 정보 계산부와,
상기 난수 r2와 상기 계산된 z1ν-r1r2로 구성되는 정보의 세트(r2,z1ν-r1r2)가 기억되는 제1 리스트 기억부와,
0 이상 K 미만의 정수의 일양난수인 d1을 생성하는 제3 난수 생성부와,
0 이상 KG 미만의 정수의 일양난수인 r4를 생성하는 제4 난수 생성부와,
0 이상 KH 미만의 정수의 일양난수인 r5를 생성하는 제5 난수 생성부와,
제3 입력 정보 g2=μg r4gd1을 계산하는 제3 입력 정보 계산부와,
제4 입력 정보 h2=μh r5를 계산하는 제4 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z2∈F를 사용하여, z2ν-r4r5를 계산하는 제2 리스트 정보 계산부와,
상기 d1과 상기 r5와 상기 계산된 z2ν-r4r5로 구성되는 정보의 세트(d1,r5,z2ν-r4r5)가 기억되는 제2 리스트 기억부와,
상기 제1 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s1으로 하고, 제2 성분을 w1으로 하고, 상기 제2 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t2로 하고, 제2 성분을 s2로 하고, 제3 성분을 w2로 하여, 이들의 정보의 세트가 (w1)^(t2s2s1 -1)=w2의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는, s1을 σ에 대입하고, w1을 ν'에 대입하는 제1 판정부와,
0 이상 KG 미만의 정수의 일양난수인 r6를 생성하는 제6 난수 생성부와,
0 이상 KH 미만의 정수의 일양난수인 r7을 생성하는 제7 난수 생성부와,
제5 입력 정보 g3=gr6를 계산하는 제5 입력 정보 계산부와,
제6 입력 정보 h3=μh r7σh를 계산하는 제6 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z3∈F를 사용하여, z3ν'-r6r7을 계산하는 제3 리스트 정보 계산부와,
상기 r6와 상기 계산된 z3ν'-r6r7로 구성되는 정보의 세트(r6,z3ν'-r6r7)가 기억되는 제3 리스트 기억부와,
0 이상 K 미만의 정수의 일양난수인 d2를 생성하는 제8 난수 생성부와,
0 이상 KG 미만의 정수의 일양난수인 r9을 생성하는 제9 난수 생성부와,
0 이상 KH 미만의 정수의 일양난수인 r10을 생성하는 제10 난수 생성부와,
제7 입력 정보 g4=μg r9을 계산하는 제7 입력 정보 계산부와,
제8 입력 정보 h4=μh r10σhd2를 계산하는 제8 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z4∈F를 사용하여, z4ν'-r9r10을 계산하는 제4 리스트 정보 계산부와,
상기 d2와 상기 r9과 상기 계산된 z4ν'-r9r10으로 구성되는 정보의 세트(d2,r9,z4ν'-r9r10)가 기억되는 제4 리스트 기억부와,
상기 제3 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s3로 하고, 제2 성분을 w3로 하고, 상기 제4 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t4로 하고, 제2 성분을 s4로 하고, 제3 성분을 w4로 하여, 이들의 정보의 세트가 (w3)^(t4s4s3 -1)=w4의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는 (w3)^(s3 -1)을 출력하는 제2 판정부를 포함하고,
상기 계산 장치는,
상기 의뢰 장치로부터 수신한 g1 및 h1을 사용하여 θ(g1,h1)을 계산 가능하며, 그 계산 결과를 상기 z1로서 출력하는 제1 출력 정보 계산부와,
상기 의뢰 장치로부터 수신한 g2 및 h2를 사용하여 θ(g2,h2)를 계산 가능하며, 그 계산 결과를 상기 z2로서 출력하는 제2 출력 정보 계산부와,
상기 의뢰 장치로부터 수신한 g3 및 h3를 사용하여 θ(g3,h3)를 계산 가능하며, 그 계산 결과를 상기 z3로서 출력하는 제3 출력 정보 계산부와,
상기 의뢰 장치로부터 수신한 g4 및 h4를 사용하여 θ(g4,h4)를 계산 가능하며, 그 계산 결과를 상기 z4로서 출력하는 제4 출력 정보 계산부를 포함하는 것을 특징으로 하는 대리 계산 시스템. - 제 8 항에 있어서,
상기 제1 입력 정보 계산부는 제1 입력 정보 g1=gr1을 계산하고,
상기 제1 리스트 정보 계산부는 상기 r1 및 상기 r2를 사용하여 r1r2를 계산하고,
상기 제1 리스트 기억부에는 상기 계산된 r1r2와 상기 계산 장치로부터 수신한 z1∈F로 구성되는 정보의 세트(r1r2,z1)가 기억되는 것을 특징으로 하는 대리 계산 시스템. - 제 8 항 또는 제 9 항에 있어서,
상기 제6 입력 정보 계산부는 제6 입력 정보 h3=hr7을 계산하고,
상기 제3 리스트 정보 계산부는 상기 r6 및 상기 r7을 사용하여 r6r7을 계산하고,
상기 제3 리스트 기억부에는 상기 계산된 r6r7과 상기 계산 장치로부터 수신한 z3∈F로 구성되는 정보의 세트(r6r7,z3)가 기억되는 것을 특징으로 하는 대리 계산 시스템. - 제 8 항 또는 제 9 항에 있어서,
상기 제1 판정부는 상기 관계를 만족하는 경우에는 t1s2를 σ에 대입하고, w2를 ν'에 대입하고,
상기 제10 난수 생성부는 상기 r9을 사용하여 -r9 -1을 계산하여 r10으로 하는 것을 특징으로 하는 대리 계산 시스템. - 제 11 항에 있어서,
상기 제7 난수 생성부는 상기 r6를 사용하여 -r6 -1을 계산하여 r7으로 하고,
상기 제3 리스트 기억부에는 1과 상기 계산된 z3ν'-r6r7로 구성되는 정보의 세트(1,z3ν'- r6r7)가 기억되는 것을 특징으로 하는 대리 계산 시스템. - 제 8 항 또는 제 9 항에 있어서,
상기 제4 난수 생성부는 상기 r5를 사용하여 -r5 -1을 계산하여 r4로 하는 것을 특징으로 하는 대리 계산 시스템. - 제 8 항 또는 제 9 항에 있어서,
상기 d1을 사용하여 gd1을 계산하는 사전 계산부를 더욱 포함하고,
상기 제3 입력 정보 계산부는 상기 사전 계산된 gd1을 사용하여, 상기 g2의 계산을 행하는 것을 특징으로 하는 대리 계산 시스템. - 제 8 항 또는 제 9 항에 있어서,
상기 d2를 사용하여 hd2를 계산하는 사전 계산부를 더욱 포함하고,
상기 제8 입력 정보 계산부는 상기 사전 계산된 hd2를 사용하여, 상기 h4의 계산을 행하는 것을 특징으로 하는 대리 계산 시스템. - 의뢰 장치가 계산 장치에 의뢰한 계산의 결과를 사용하여 θ(g, h)를 계산하는 대리 계산 방법에 있어서,
G, H 및 F를 순회군으로 하고, 사상 θ:G×H→F를 쌍준동형사상으로 하고, g를 군 G의 원소로 하고, h를 군 H의 원소로 하고, KG를 군 G의 위수로 하고, KH를 군 H의 위수로 하고, μg를 군 G의 생성원으로 하고, μh를 군 H의 생성원으로 하고, ν=θ(μg, μg)로 하고, k를 정수의 세큐리티 파라미터로 하고, K=2k로 하여,
상기 의뢰 장치의 제1 난수 생성부가 0 이상 KG 미만의 정수의 난수 r1을 생성하는 제1 난수 생성 스텝과,
상기 의뢰 장치의 제2 난수 생성부가 0 이상 KH 미만의 정수의 난수 r2를 생성하는 제2 난수 생성 스텝과,
상기 의뢰 장치의 제1 입력 정보 계산부가 제1 입력 정보 g1=μg r1g를 계산하는 제1 입력 정보 계산 스텝과,
상기 의뢰 장치의 제2 입력 정보 계산부가 제2 입력 정보 h1=μh r2를 계산하는 제2 입력 정보 계산 스텝과,
상기 계산 장치의 제1 출력 정보 계산부가 상기 의뢰 장치로부터 수신한 g1 및 h1을 사용하여 θ(g1,h1)를 계산 가능하며, 그 계산 결과를 z1로서 출력하는 제1 출력 정보 계산 스텝과,
상기 의뢰 장치의 제1 리스트 정보 계산부가 상기 계산 장치로부터 수신한 z1∈F를 사용하여, z1ν-r1r2를 계산하는 제1 리스트 정보 계산 스텝과,
상기 의뢰 장치의 제1 리스트 기억부에 상기 난수 r2와 상기 계산된 z1ν-r1r2로 구성되는 정보의 세트(r2,z1ν-r1r2)가 기억되는 스텝과,
상기 의뢰 장치의 제3 난수 생성부가 0 이상 K 미만의 정수의 일양난수인 d1을 생성하는 제3 난수 생성 스텝과,
상기 의뢰 장치의 제4 난수 생성부가 0 이상 KG 미만의 정수의 일양난수인 r4를 생성하는 제4 난수 생성 스텝과,
상기 의뢰 장치의 제5 난수 생성부가 0 이상 KH 미만의 정수의 일양난수인 r5를 생성하는 제5 난수 생성 스텝과,
상기 의뢰 장치의 제3 입력 정보 계산부가 제3 입력 정보 g2=μg r4gd1을 계산하는 제3 입력 정보 계산 스텝과,
상기 의뢰 장치의 제4 입력 정보 계산부가 제4 입력 정보 h2=μh r5를 계산하는 제4 입력 정보 계산 스텝과,
상기 계산 장치의 제2 출력 정보 계산부가 상기 의뢰 장치로부터 수신한 g2 및 h2를 사용하여 θ(g2,h2)를 계산 가능하며, 그 계산 결과를 z2로서 출력하는 제2 출력 정보 계산 스텝과,
상기 의뢰 장치의 제2 리스트 정보 계산부가 상기 계산 장치로부터 수신한 z2∈F를 사용하여, z2ν-r4r5를 계산하는 제2 리스트 정보 계산 스텝과,
상기 의뢰 장치의 제2 리스트 기억부에 상기 d1과 상기 r5와 상기 계산된 z2ν-r4r5로 구성되는 정보의 세트(d1,r5,z2ν-r4r5)가 기억되는 스텝과,
상기 의뢰 장치의 제1 판정부가 상기 제1 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s1으로 하고, 제2 성분을 w1으로 하고, 상기 제2 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t2로 하고, 제2 성분을 s2로 하고, 제3 성분을 w2로 하여, 이들의 정보의 세트가 (w1)^(t2s2s1 -1)=w2의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는 s1을 σ에 대입하고, w1을 ν'에 대입하는 제1 판정 스텝과,
상기 의뢰 장치의 제6 난수 생성부가 0 이상 KG 미만의 정수의 일양난수인 r6를 생성하는 제6 난수 생성 스텝과,
상기 의뢰 장치의 제7 난수 생성부가 0 이상 KH 미만의 정수의 일양난수인 r7을 생성하는 제7 난수 생성 스텝과,
상기 의뢰 장치의 제5 입력 정보 계산부가 제5 입력 정보 g3=gr6를 계산하는 제5 입력 정보 계산 스텝과,
상기 의뢰 장치의 제6 입력 정보 계산부가 제6 입력 정보 h3=μh r7σh를 계산하는 제6 입력 정보 계산 스텝과,
상기 계산 장치의 제3 출력 정보 계산부가 상기 의뢰 장치로부터 수신한 g3 및 h3를 사용하여 θ(g3,h3)를 계산 가능하며, 그 계산 결과를 z3로서 출력하는 제3 출력 정보 계산 스텝과,
상기 의뢰 장치의 제3 리스트 정보 계산부가 상기 계산 장치로부터 수신한 z3∈F를 사용하여, z3ν'-r6r7을 계산하는 제3 리스트 정보 계산 스텝과,
상기 의뢰 장치의 제3 리스트 기억부에 상기 r6와 상기 계산된 z3ν'-r6r7로 구성되는 정보의 세트(r6,z3ν'-r6r7)가 기억되는 스텝과,
상기 의뢰 장치의 제8 난수 생성부가 0 이상 K 미만의 정수의 일양난수인 d2를 생성하는 제8 난수 생성 스텝과,
상기 의뢰 장치의 제9 난수 생성부가 0 이상 KG 미만의 정수의 일양난수인 r9을 생성하는 제9 난수 생성 스텝과,
상기 의뢰 장치의 제10 난수 생성부가 0 이상 KH 미만의 정수의 일양난수인 r10을 생성하는 제10 난수 생성 스텝과,
상기 의뢰 장치의 제7 입력 정보 계산부가 제7 입력 정보 g4=μg r9을 계산하는 제7 입력 정보 계산 스텝과,
상기 의뢰 장치의 제8 입력 정보 계산부가 제8 입력 정보 h4=μh r10σhd2를 계산하는 제8 입력 정보 계산 스텝과,
상기 계산 장치의 제4 출력 정보 계산부가 상기 의뢰 장치로부터 수신한 g4 및 h4를 사용하여 θ(g4,h4)를 계산 가능하며, 그 계산 결과를 z4로서 출력하는 제4 출력 정보 계산 스텝과,
상기 의뢰 장치의 제4 리스트 정보 계산부가 상기 계산 장치로부터 수신한 z4∈F를 사용하여, z4ν'-r9r10을 계산하는 제4 리스트 정보 계산 스텝과,
상기 의뢰 장치의 제4 리스트 기억부에 상기 d2와 상기 r9과 상기 계산된 z4ν'-r9r10로 구성되는 정보의 세트(d2,r9,z4ν'-r9r10)가 기억되는 스텝과,
상기 의뢰 장치의 제2 판정부가 상기 제3 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s3로 하고, 제2 성분을 w3로 하고, 상기 제4 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t4로 하고, 제2 성분을 s4로 하고, 제3 성분을 w4로 하여, 이들의 정보의 세트가 (w3)^(t4s4s3 -1)=w4의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는 (w3)^(s3 -1)을 출력하는 제2 판정 스텝을 포함하는 것을 특징으로 하는 대리 계산 방법. - 의뢰 장치가 계산 장치에 의뢰한 계산의 결과를 사용하여 θ(g, h)를 계산하는 대리 계산 시스템의 의뢰 장치에 있어서,
G, H 및 F를 순회군으로 하고, 사상 θ:G×H→F를 쌍준동형사상으로 하고, g를 군 G의 원소로 하고, h를 군 H의 원소로 하고, KG를 군 G의 위수로 하고, KH를 군 H의 위수로 하고, μg를 군 G의 생성원으로 하고, μh를 군 H의 생성원으로 하고, ν=θ(μg, μg)로 하고, k를 자연수의 세큐리티 파라미터로 하고, K=2k로 하여,
0 이상 KG 미만의 정수의 난수 r1을 생성하는 제1 난수 생성부와,
0 이상 KH 미만의 정수의 난수 r2를 생성하는 제2 난수 생성부와,
제1 입력 정보 g1=μg r1g를 계산하는 제1 입력 정보 계산부와,
제2 입력 정보 h1=μh r2를 계산하는 제2 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z1∈F를 사용하여, z1ν-r1r2를 계산하는 제1 리스트 정보 계산부와,
상기 난수 r2와 상기 계산된 z1ν-r1r2로 구성되는 정보의 세트(r2,z1ν-r1r2)가 기억되는 제1 리스트 기억부와,
0 이상 K 미만의 정수의 일양난수인 d1을 생성하는 제3 난수 생성부와,
0 이상 KG 미만의 정수의 일양난수인 r4를 생성하는 제4 난수 생성부와,
0 이상 KH 미만의 정수의 일양난수인 r5를 생성하는 제5 난수 생성부와,
제3 입력 정보 g2=μg r4gd1을 계산하는 제3 입력 정보 계산부와,
제4 입력 정보 h2=μh r5를 계산하는 제4 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z2∈F를 사용하여, z2ν-r4r5를 계산하는 제2 리스트 정보 계산부와,
상기 d1과 상기 r5와 상기 계산된 z2ν-r4r5로 구성되는 정보의 세트(d1,r5,z2ν-r4r5)가 기억되는 제2 리스트 기억부와,
상기 제1 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s1으로 하고, 제2 성분을 w1으로 하고, 상기 제2 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t2로 하고, 제2 성분을 s2로 하고, 제3 성분을 w2로 하여, 이들의 정보의 세트가 (w1)^(t2s2s1 -1)=w2의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는 s1을 σ에 대입하고, w1을 ν'에 대입하는 제1 판정부와,
0 이상 KG 미만의 정수의 일양난수인 r6를 생성하는 제6 난수 생성부와,
0 이상 KH 미만의 정수의 일양난수인 r7을 생성하는 제7 난수 생성부와,
제5 입력 정보 g3=gr6를 계산하는 제5 입력 정보 계산부와,
제6 입력 정보 h3=μh r7σh를 계산하는 제6 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z3∈F를 사용하여, z3ν'-r6r7을 계산하는 제3 리스트 정보 계산부와,
상기 r6와 상기 계산된 z3ν'-r6r7로 구성되는 정보의 세트(r6,z3ν'-r6r7)가 기억되는 제3 리스트 기억부와,
0 이상 K 미만의 정수의 일양난수인 d2를 생성하는 제8 난수 생성부와,
0 이상 KG 미만의 정수의 일양난수인 r9을 생성하는 제9 난수 생성부와,
0 이상 KH 미만의 정수의 일양난수인 r10을 생성하는 제10 난수 생성부와,
제7 입력 정보 g4=μg r9을 계산하는 제7 입력 정보 계산부와,
제8 입력 정보 h4=μh r10σhd2를 계산하는 제8 입력 정보 계산부와,
상기 계산 장치로부터 수신한 z4∈F를 사용하여, z4ν'-r9r10을 계산하는 제4 리스트 정보 계산부와,
상기 d2와 상기 r9과 상기 계산된 z4ν'-r9r10로 구성되는 정보의 세트(d2,r9,z4ν'-r9r10)가 기억되는 제4 리스트 기억부와,
상기 제3 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 s3로 하고, 제2 성분을 w3로 하고, 상기 제4 리스트 기억부로부터 읽어들인 정보의 세트의 제1 성분을 t4로 하고, 제2 성분을 s4로 하고, 제3 성분을 w4로 하여, 이들의 정보의 세트가 (w3)^(t4s4s3 -1)=w4의 관계를 만족하는지를 판정하고, 그 관계를 만족하는 경우에는 (w3)^(s3 -1)을 출력하는 제2 판정부를 포함하는 것을 특징으로 하는 의뢰 장치. - 제 6 항 또는 제 16 항에 기재된 대리 계산 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010003924 | 2010-01-12 | ||
JPJP-P-2010-003924 | 2010-01-12 | ||
JPJP-P-2010-007835 | 2010-01-18 | ||
JP2010007835 | 2010-01-18 | ||
PCT/JP2011/050278 WO2011086992A1 (ja) | 2010-01-12 | 2011-01-11 | 代理計算システム、方法、依頼装置、プログラム及びその記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120101506A KR20120101506A (ko) | 2012-09-13 |
KR101344352B1 true KR101344352B1 (ko) | 2013-12-24 |
Family
ID=44304266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127017347A KR101344352B1 (ko) | 2010-01-12 | 2011-01-11 | 대리 계산 시스템, 방법, 의뢰 장치, 프로그램 및 그 기록 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9037623B2 (ko) |
EP (2) | EP2525341B1 (ko) |
JP (1) | JP5379869B2 (ko) |
KR (1) | KR101344352B1 (ko) |
CN (1) | CN102687184B (ko) |
WO (1) | WO2011086992A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5496756B2 (ja) * | 2010-04-16 | 2014-05-21 | 日本電信電話株式会社 | 環準同型を計算可能な公開鍵暗号方法、環準同型を計算可能な公開鍵暗号システム、送信装置、処理装置、受信装置、それらのプログラム及び記録媒体 |
US9607158B2 (en) | 2010-10-26 | 2017-03-28 | Nippon Telegraph And Telephone Corporation | Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium |
WO2012121152A1 (ja) * | 2011-03-04 | 2012-09-13 | 日本電信電話株式会社 | 代理計算システム、方法、依頼装置及びプログラム |
JP5562284B2 (ja) * | 2011-04-12 | 2014-07-30 | 日本電信電話株式会社 | 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム |
JP5596616B2 (ja) * | 2011-05-12 | 2014-09-24 | 日本電信電話株式会社 | 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム |
WO2014088130A1 (en) * | 2012-12-05 | 2014-06-12 | Inha-Industry Partnership Institute | Proxy signature scheme |
JP6006809B2 (ja) | 2013-01-16 | 2016-10-12 | 日本電信電話株式会社 | 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体 |
US10163370B2 (en) | 2013-07-18 | 2018-12-25 | Nippon Telegraph And Telephone Corporation | Decoding apparatus, decoding capability providing apparatus, method thereof and program |
JP6055919B2 (ja) | 2013-07-18 | 2016-12-27 | 日本電信電話株式会社 | 鍵クラウドシステムおよび復号方法 |
EP3010178B1 (en) * | 2013-07-18 | 2018-05-09 | Nippon Telegraph And Telephone Corporation | Calculation device, calculation method, and program for self-correction |
WO2015056601A1 (ja) | 2013-10-16 | 2015-04-23 | 日本電信電話株式会社 | 鍵装置、鍵クラウドシステム、復号方法、およびプログラム |
US10275960B2 (en) | 2014-05-13 | 2019-04-30 | Nippon Telegraph And Telephone Corporation | Security system, management apparatus, permission apparatus, terminal apparatus, security method and program |
WO2016114259A1 (ja) * | 2015-01-16 | 2016-07-21 | 日本電信電話株式会社 | 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002082609A (ja) | 2000-09-06 | 2002-03-22 | Toyo Commun Equip Co Ltd | 依頼計算を用いた演算装置、及び記録媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0381523A3 (en) * | 1989-02-02 | 1993-03-03 | Kabushiki Kaisha Toshiba | Server-aided computation method and distributed information processing unit |
US6509728B1 (en) * | 1998-05-28 | 2003-01-21 | Anritsu Corporation | Spectrum analyzer having function of displaying amplitude probability distribution effectively |
FR2877453A1 (fr) * | 2004-11-04 | 2006-05-05 | France Telecom | Procede de delegation securisee de calcul d'une application bilineaire |
-
2011
- 2011-01-11 EP EP11732862.5A patent/EP2525341B1/en active Active
- 2011-01-11 US US13/520,491 patent/US9037623B2/en active Active
- 2011-01-11 CN CN201180005420.3A patent/CN102687184B/zh active Active
- 2011-01-11 JP JP2011549975A patent/JP5379869B2/ja active Active
- 2011-01-11 KR KR1020127017347A patent/KR101344352B1/ko active IP Right Grant
- 2011-01-11 WO PCT/JP2011/050278 patent/WO2011086992A1/ja active Application Filing
- 2011-01-11 EP EP14178947.9A patent/EP2808860A1/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002082609A (ja) | 2000-09-06 | 2002-03-22 | Toyo Commun Equip Co Ltd | 依頼計算を用いた演算装置、及び記録媒体 |
Non-Patent Citations (1)
Title |
---|
Manuel Blum and Hal Wasserraan, "Reflections on the Pentium Division Bug" (1996년 4월) |
Also Published As
Publication number | Publication date |
---|---|
CN102687184A (zh) | 2012-09-19 |
US9037623B2 (en) | 2015-05-19 |
EP2525341B1 (en) | 2016-04-06 |
JP5379869B2 (ja) | 2013-12-25 |
KR20120101506A (ko) | 2012-09-13 |
JPWO2011086992A1 (ja) | 2013-05-20 |
EP2525341A1 (en) | 2012-11-21 |
EP2525341A4 (en) | 2014-01-08 |
WO2011086992A1 (ja) | 2011-07-21 |
CN102687184B (zh) | 2015-11-25 |
EP2808860A1 (en) | 2014-12-03 |
US20120323981A1 (en) | 2012-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101344352B1 (ko) | 대리 계산 시스템, 방법, 의뢰 장치, 프로그램 및 그 기록 매체 | |
US10116443B1 (en) | Pairing verification in supersingular isogeny-based cryptographic protocols | |
Souyah et al. | An image encryption scheme combining chaos-memory cellular automata and weighted histogram | |
CN111492616B (zh) | 用于基于晶格的密码学的可配置设备 | |
US10218504B1 (en) | Public key validation in supersingular isogeny-based cryptographic protocols | |
JP2020508021A (ja) | キー交換デバイス及び方法 | |
JP2016012111A (ja) | 暗号処理方法、暗号処理装置、および暗号処理プログラム | |
KR101606317B1 (ko) | 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 | |
GB2524578A (en) | Production of cryptographic signatures | |
JP2015184594A (ja) | 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置 | |
CN104854814A (zh) | 密钥共享网络设备及其配置 | |
CN110663215A (zh) | 在白盒场景中的椭圆曲线点乘设备和方法 | |
Sokouti et al. | Medical image encryption: an application for improved padding based GGH encryption algorithm | |
Mohammed et al. | Cryptosystems using an improving hiding technique based on latin square and magic square | |
JP6053983B2 (ja) | 暗号システム、署名システム、暗号プログラム及び署名プログラム | |
CN105763322A (zh) | 一种可混淆的加密密钥隔离数字签名方法及系统 | |
Mandal et al. | An adaptive neural network guided secret key based encryption through recursive positional modulo-2 substitution for online wireless communication (ANNRPMS) | |
JP4650933B2 (ja) | 秘密計算方法及びシステム | |
US11616994B2 (en) | Embedding information in elliptic curve base point | |
Han et al. | A chaos robustness criterion for 2D piecewise smooth Map with applications in pseudorandom number generator and image encryption with avalanche effect | |
KR20210032647A (ko) | 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법 | |
RU2291578C1 (ru) | Способ поточного шифрования данных | |
US20230085577A1 (en) | Secured performance of an elliptic curve cryptographic process | |
Rakotondrafara | A Survey of Code-Based Cryptography | |
JP2006229929A (ja) | 秘密計算方法及びシステム、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161209 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171208 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191205 Year of fee payment: 7 |