Signing device, verifying device, certifying device, encrypting device, and decrypting device
Abstract
A signature device, a verification device, a proof device, an encryption device, and a decryption device are provided in which the signature forgery problem efficiently results in a discrete logarithmic problem. The commitment is a hash value of a set including committed values, using data including a pair of elements of a recursive group according to a discrete logarithmic problem as a public key, and using a discrete logarithm of the order of the pair as a private key By using , the attacker's secret information can be summarized from the commit without rewinding the attacker, and more secure than the Schnorr signature method. In addition, by performing the power-over-residue calculation once for each signature/verification, the amount of calculation in the signature verification calculation can be reduced.Signature device, committed vector selection means, commitment calculation, basis vector calculation, vector challenge calculation, vector response calculation, signature output, verification device, validation

Term
Term ended
Projected expiry passed 13 December 2025, 0.8 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
40 claims: 3 independent, 37 dependent
- 1커미트먼트를 이용하여 서명문을 생성하는 서명 장치에 있어서, 상기 커미트먼트는, 커미트하는 값을 포함하는 집합의 해시값이며, 공개키로서 이산 대수 문제에 따른 순환 그룹의 한 쌍의 원소를 포함하는 데이터를 이용하고, 또한 비밀키로서 상기 쌍의 위수의 이산 대수를 이용한 것을 특징으로 하는 서명 장치.
- 2제1항에 있어서, 제1 커미트먼트에 따른 커미티드 벡터를 선택하는 커미티드 벡터 선택 수단과, 제1 커미트먼트를 산출하는 제1 커미트먼트 계산 수단과, 기저 벡터를 산출하는 기저 벡터 계산 수단과, 상기 누승 잉여를 산출하여, 제2 커미트먼트를 생성하는 제2 커미트먼트 계산 수단과, 벡터 챌린지를 산출하는 벡터 챌린지 계산 수단과, 상기 제1 커미트먼트와, 상기 누승 잉여의 산출에 이용한 집합과, 상기 벡터 챌린지와, 상기 기저 벡터를 이용하여 벡터 리스펀스를 산출하는 벡터 리스펀스 계산 수단과, 상기 커미티드 벡터, 상기 제1 커미트먼트, 상기 기저 벡터, 상기 제2 커미트먼트, 상기 벡터 챌린지, 및 상기 벡터 리스펀스를 저장하는 기억부를 가지며, 상기 기저 벡터와 상기 벡터 챌린지가 해시값인 것을 특징으로 하는 서명 장치.
- 3제2항에 있어서, 상기 커미티드 벡터 선택 수단은, 복수의 상기 커미티드 벡터를 선택하고, 상기 복수의 커미티드 벡터의 각 성분과 비밀키가 그룹 위수를 모듈러스로 하는 관계식을 만족하고, 상기 집합이 상기 커미티드 벡터 선택 수단에 의해 선택된 데이터의 일부와 상기 기저 벡터와 상기 벡터 챌린지를 이용하여 산출되는 데이터인 것을 특징으로 으로 하는 서명 장치.
- 4제3항에 있어서, 상기 커미티드 벡터의 각 성분과 상기 비밀키가 그룹 위수를 모듈러스로 하는 1차식을 만족하고, 상기 제1 커미트먼트의 입력이 난수를 포함하는 데이터이며, 상기 데이터의 일부는 상기 벡터 챌린지에 의해 결정되고, 또한 상기 집합은 상기 데이터의 일부와 상기 기저 벡터의 1차식으로 나타내는 것을 특징으로 하는 서명 장치.
- 5제4항에 있어서, 상기 커미티드 벡터는 2개의 성분을 포함하고, 상기 성분의 한쪽은, 다른 쪽의 상기 성분에 비밀키를 더한 값의 그룹 위수를 모듈러스로 하여 잉여한 값이며, 제1 커미트먼트에의 입력이 상기 커미티드 벡터의 각 성분을 특정하는 데이터를 가지며, 상기 집합은 상기 데이터의 일부와 상기 기저 벡터를 내적한 값인 것을 특징으로 하는 서명 장치.
- 6제5항에 있어서, 보안 파라미터가 κ, N, ν이며, 상기 순환 그룹의 위수가 q일 때, 상기 커미티드 벡터 선택 수단은, 잉여 그룹 X_{01},....,X_{0N}∈(Z/qZ)를 랜덤하게 선택하고, j=1,…N의 상기 잉여 그룹 X_{0j}에 x를 더한 것의 위수 q를 모듈러스로 하여 잉여한 것을 X_{1j}로 하고, i=0, 1의 상기 커미티드 벡터는, Y_i=(X_{i1},....,X_{iN})이며, 상기 제1 커미트먼트 계산 수단은, 랜덤하게 ν비트의 비트열 r을 선택하고, i=0, 1이며, 상기 공개키, X_{ij}, i, j, r을 포함하는 데이터의 해시값을 상기 제1 커미트먼트 C_{ij}로 하고, 상기 기저 벡터 계산 수단은, 상기 공개키 및 상기 제1 커미트먼트 C_{ij}를 포함하는 데이터의 해시값을 상기 기저 벡터 V=(u_1,....,u_N)으로 하고, 상기 제2 커미트먼트 수단은, 상기 기저 벡터 V와 Y_0과의 내적을 산출하고, 또한 제2 커미트먼트 G=g^{X}를 산출하고, 상기 벡터 챌린지 계산 수단은, 공개키, {C_{ij}}, G, r 및 상기 서명 장치가 수신한 메시지를 포함하는 데이터의 해시값 K=(c_1,....,c_N)을 산출하고, 상기 벡터 리스펀스 계산 수단은, j=1,....,N 모두에 대해서 상기 벡터 리스펀스 ξ_{j}=X_{c_jj}, 및 Ξ=(ξ_1,....,ξ_κ)을 산출하고, 서명문(r, {C_{ij}}, G, Ξ)을 출력하는 것을 특징으로 하는 서명 장치.
- 7제2항에 있어서, 상기 커미티드 벡터 선택 수단은, 상기 복수의 커미티드 벡터를 선택하고, 상기 복수의 커미티드 벡터의 각 성분과 비밀키가 관계식을 만족하는 것을 특징으로 하는 서명 장치.
- 8제7항에 있어서, 상기 관계식은, 상기 복수의 벡터의 각 성분과 비밀키의 1차식을 만족하고, 상기 제1 커미트먼트의 입력이 난수를 포함하는 데이터인 것을 특징으로 하는 서명 장치.
- 9제8항에 있어서, 상기 복수의 커미티드 벡터는, 복수의 성분을 가지며, 상기 성분의 한쪽은, 다른 쪽의 성분에 비밀키를 더한 것이며, 상기 제1 커미트먼트의 입력은 상기 각 성분을 특정하는 데이터와, 제 몇 번째의 성분인지를 특정하는 데이터를 포함하는 것을 특징으로 하는 서명 장치.
- 10제9항에 있어서, 보안시큐러티 파라미터가 κ, N, ν이며, 정수의 집합 R{κ+ξ}을 0≤R{κ+ξ}<2^{κ+ξ}로 할 때, 상기 커미티드 벡터 선택 수단은, 잉여 그룹 X_{01},....,X_{0N}∈(z/qZ)를 랜덤하게 선택하고, j=1,…N의 상기 잉여 그룹 X_{0j}에 x를 더한 것을 X_{1j}로 하고, i=0, 1의 상기 커미티드 벡터는, Y_i=(X_{i1},....,X_{iN})이며, 상기 제1 커미트먼트 계산 수단은, 랜덤하게 ν비트의 비트열 r을 선택하고, i=0, 1이고, 상기 공개키, X_{ij}, i, j, r을 포함하는 데이터의 해시값을 상기 제1 커미트먼트 C_{ij}로 하고, 상기 기저 벡터 계산 수단은, 상기 공개키 및 상기 제1 커미트먼트 C_{ij}를 포함하는 데이터의 해시값을 상기 기저 벡터 V=(u_1,....,u_N)으로 하고, 상기 제2 커미트먼트 계산 수단은, 상기 기저 벡터 V와 Y_0의 내적을 산출하고, 또한 제2 커미트먼트 G=g^{X}를 산출하고, 상기 벡터 챌린지 계산 수단은, 공개키, {C_{ij}}, G, r 및 상기 서명 장치가 수신한 메시지를 포함하는 데이터의 해시값 K=(c_1,....,c_N)을 산출하고, 상기 벡터 리스펀스 계산 수단은, j=1,....,N 모두에 대해서 상기 벡터 리스펀스 ξ_{j}=X_{c_jj}, 및 Ξ=(ξ_1,....,ξ_κ)을 산출하고, 서명문(r, {C_{ij}}, G, Ξ)을 출력하는 것을 특징으로 하는 서명 장치.
- 11제10항에 있어서, 제1 커미트먼트에 따른 커미티드 벡터를 선택하는 커미티드 벡터 선택 수단과, 제1 커미트먼트를 산출하는 제1 커미트먼트 계산 수단과, 기저 벡터를 산출하는 기저 벡터 계산 수단과, 상기 누승 잉여를 산출하여, 제2 커미트먼트를 생성하는 제2 커미트먼트 계산 수단과, 벡터 챌린지를 산출하는 벡터 챌린지 계산 수단과, 상기 제1 커미트먼트와, 상기 누승 잉여의 산출에 이용한 집합과, 상기 벡터 챌린지와, 상기 기저 벡터를 이용하여 벡터 리스펀스를 산출하는 벡터 리스펀스 계산 수단과, 상기 커미티드 벡터, 상기 제1 커미트먼트, 상기 기저 벡터, 상기 제2 커미트먼트, 상기 벡터 챌린지, 및 상기 벡터 리스펀스를 저장하는 기억부를 가지며, 상기 기저 벡터와 상기 벡터 챌린지가 해시값인 것을 특징으로 하는 서명 장치.
- 12제11항에 있어서, 상기 커미티드 벡터 선택 수단은, 상기 커미티드 벡터를 복수 선택하고, 상기 복수의 커미티드 벡터의 각 성분과 비밀키가 그룹 위수를 모듈러스로 하는 관계식을 만족하고, 상기 집합이 상기 커미티드 벡터 선택 수단에 의해 선택된 데이터의 일부와 상기 기저 벡터와 상기 벡터 챌린지를 이용하여 산출된 데이터인 것을 특징으로 하는 서명 장치.
- 13제12항에 있어서, 상기 커미티드 벡터의 각 성분과 비밀키가 그룹 위수를 모듈러스로 하는 1차식을 만족하고, 상기 제1 커미트먼트가 난수를 포함하는 데이터이며, 상기 데이터의 일부가 상기 벡터 챌린지에 의해 결정되고, 상기 집합이 상기 데이터의 일부 및 상기 기저 벡터에 대하여 1차식으로 나타내는 것을 특징으로 하는 서명 장치.
- 14제13항에 있어서, 상기 커미티드 벡터의 한쪽의 성분은, 다른 쪽의 성분에 비밀키를 더한 그룹 위수를 모듈러스로 하여 잉여한 값이며, 상기 집합은 상기 데이터의 일부와 상기 기저 벡터를 내적한 값이며, 상기 기저 벡터는 소정수 t를 (1, t^1, t^2, …, t^N)과 승산한 값인 것을 특징으로 하는 서명 장치.
- 15제14항에 있어서, 상기 메시지를 M으로 할 때, 상기 커미티드 벡터 선택 수단은, 랜덤하게 Y_0=(X_{01},....,X_{0N})∈Zq^{N}을 선택하고, j=1,....,N에 대해서 X_{1j}=x+X_{0j}modq로 하여, 상기 커미티드 벡터 Y_1=(X_{11},....,X_{1N}을 생성하고, 상기 제2 커미트먼트 계산 수단은, X==Σ_jX_{0j}2^{j-1}modq를 산출하고, 또한 상기 커미트먼트 G=g^{X}를 산출하고, 상기 제1 커미트먼트 계산 수단은, 각 i, j에 대해서 랜덤하게 r_{ij}∈{0, 1}^{ν}를 선택하고, X_{ij}의 제1 커미트먼트 C_{ij}=H_{{0, 1}^ν}(X_{ij}, r_{ij})를 산출하고, 상기 벡터 챌린지 계산 수단은, K=(c_{1},....,c_{N})=H_{{0, 1}^{N}(g, h, {C_{ij}}, G, M)을 산출하고, 상기 벡터 리스펀스 계산 수단은, 각 j에 대하여, 상기 벡터 리스펀스 ξ_j=X_{c_jj}modq를 산출하고, 또한 Ξ=(ξ_{1},...., ξ_{N})을 산출하고, 서명문({C_{ij}}, {r_{c_jj}}, G, Ξ)을 출력하는 것을 특징으로 하는 서명 장치.
- 16입력된 데이터의 정당성을 판정하는 검증 장치에 있어서, 상기 입력된 데이터는, 메시지와 상기 메시지에 대한 서명문을 가지며, 상기 데이터에 정당성이 있을 때에만 상기 데이터를 수리하고, 검증 계산에 제1 커미트먼트를 이용하여, 상기 제1 커미트먼트의 개수보다도 적은 횟수의 누승 잉여를 실행하고, 상기 데이터의 정당성이 확인되었을 때, 상기 제1 커미트먼트는, 상기 데이터의 일부인 벡터 리스펀스의 성분을 포함하는 데이터의 해시값이며, 공개키는, 이산 대수 문제에 따른 순환 그룹의 한 쌍의 원소를 포함하는 데이터이며, 비밀키는, 상기 쌍의 위수의 이산 대수인 것을 특징으로 하는 검증 장치.
- 17제16항에 있어서, 기저 벡터를 산출하는 기저 벡터 계산 수단과, 벡터 챌린지를 산출하는 벡터 챌린지 계산 수단과, 상기 제1 커미트먼트의 정당성을 판정하는 제1 커미트먼트 정당성 검증 수단과, 누승 잉여를 산출하여, 상기 벡터 리스펀스의 정당성을 판정하는 제2 정당성 검증 수단과, 상기 각 수단에서 입출력되는 데이터를 기억하는 기억 수단을 가지며, 상기 벡터 챌린지와 상기 기저 벡터가 해시값이며, 상기 제1 커미트먼트 정당성 검증 수단과 상기 제2 정당성 검증 수단이 상기 서명문을 정당한 것으로 판정했을 때에만 상기 데이터의 입력을 수리하는 것을 특징으로 하는 검증 장치.
- 18제17항에 있어서, 상기 제1 커미트먼트 정당성 검증 수단은, 상기 벡터 리스펀스를 갖는 상기 입력된 데이터의 일부를 소정의 방법으로 해시 함수에 입력하고, 산출한 해시값이 상기 제1 커미트먼트와 일치할 때에만 상기 제1 커미트먼트가 정당하다고 판단하고, 상기 제2 정당성 검증 수단은, 상기 판정하는 데이터가 제2 커미트먼트라고 불리는 데이터와 상기 벡터 리스펀스를 가지며, 상기 공개키가 이산 대수 문제에 따른 순환 그룹의 원소를 포함하고, 상기 각 원소의 누승 잉여인 제1 및 제2 누승 잉여를 산출하고, 상기 제1 누승 잉여가 상기 제2 누승 잉여와 상기 제2 커미트먼트를 승산한 값과 동일한지의 여부를 판정하고, 상기 제1 누승 잉여는, 상기 공개키의 일부인 원소를 위수로 하고, Schnorr 챌린지를 집합으로 하고, 상기 제2 누승 잉여는, 상기 공개키의 일부인 원을 위수로 하고, Schnorr 리스펀스를 집합으로 하고, 상기 Schnorr 챌린지는, 상기 벡터 챌린지와 상기 기저 벡터를 이용하여 산출되는 데이터이며, 상기 Schnorr 리스펀스는, 상기 벡터 리스펀스와 상기 기저 벡터를 이용하여 산출되는 데이터인 것을 특징으로 하는 검증 장치.
- 19제18항에 있어서, 상기 서명 장치가 정당하게 서명문에 랜덤하게 선택되는 데이터가 포함되어 있지 않은 경우, 상기 데이터는 수리되지 않고, 상기 랜덤하게 선택되는 데이터는, 상기 제1 커미트먼트 정당성 검증 수단에서 계산되는 각 해시 함수에 입력되고, 상기 벡터 리스펀스의 하나의 성분은 상기 각 해시 함수에 입력되고, 상기 Schnorr 챌린지는, 상기 벡터 챌린지의 1차식, 및 상기 기저 벡터의 1차식이며, 상기 Schnorr 리스펀스는, 상기 벡터 리스펀스의 1차식, 및 상기 기저 벡터의 1차식인 것을 특징으로 하는 검증 장치.
- 20제19항에 있어서, 상기 Schnorr 챌린지는, 상기 벡터 챌린지와 상기 기저 벡터와의 내적이며, 상기 Schnorr 리스펀스는, 상기 벡터 리스펀스와 상기 기저 벡터와의 내적인 것을 특징으로 하는 검증 장치.
- 21제20항에 있어서, 상기 메시지가 M이며, 또한 상기 판정하는 데이터가 (r, {C_{ij}}, G, Ξ)일 때, 상기 기저 벡터 계산 수단은, 상기 공개키와 {C_{ij}}를 포함하는 데이터의 해시값을 계산하고, 그 해시값이 상기 기저 벡터 V=(u_1,....,u_N)이며, 상기 벡터 챌린지 계산 수단은, 상기 공개키 및 {C_{ij}}, G, r, M을 포함하는 데이터의 해시값을 계산하고, 그 해시값이 상기 벡터 챌린저 K=(c_1,....,c_N)이며, 상기 제1 커미트먼트 정당성 검증 수단은, 각 j=1,....,N에 대하여, C_{c_jj}와 상기 해시 함수가 일치하는 경우에만 C_{c_jj}가 정당하다고 판단하고, 모든 C_{c_jj}가 정당할 때에만 {C_{jj}}가 정당하다고 판단하고, 상기 해시 함수가 공개키 및 ξ_{j}, c_j, j, r을 포함하는 데이터의 해시값이며, 상기 제2 정당성 검증 수단은, g^{}=h^{}G가 성립하는지의 여부를 판정하고, g^{}=h^{}G가 성립했을 때, 상기 서명문이 정당하다고 판정하는 것을 특징으로 하는 검증 장치.
- 22제16항에 있어서, 상기 벡터 챌린지를 산출하는 벡터 챌린지 계산 수단과, 상기 제1 커미트먼트의 정당성을 판정하는 제1 커미트먼트 정당성 검증 수단과, 상기 누승 잉여를 산출하여, 상기 벡터 리스펀스의 정당성을 판정하는 제2 정당성 검증 수단과, 상기 제1 커미트먼트 정당성 검증 수단 및 상기 제2 정당성 검증 수단에서 정당성이 인정된 경우에만 상기 서명문을 수리하는 것을 특징으로 하는 검증 장치.
- 23제22항에 있어서, 상기 제1 커미트먼트 정당성 검증 수단은, 상기 입력된 데이터의 일부를 해시 함수에 입력했을 때의 해시값과 상기 제1 커미트먼트가 일치했을 때, 상기 제1 커미트먼트가 정당하다고 판단하고, 상기 해시 함수에 입력되는 상기 데이터는, 2개의 누승 잉여를 산출하여, 상기 2개의 누승 잉여의 한쪽이 상기 다른 쪽의 누승 잉여에 상기 제2 커미트먼트를 승산한 값과 동일한지의 여부를 판정하고, 상기 판정하는 데이터는, 제2 커미트먼트와 상기 벡터 리스펀스를 가지며, 상기 공개키는, 이산 대수 문제에 따른 순환 그룹의 원소를 가지며, 상기 각 누승 잉여는, 상기 공개키의 일부인 원소의 다른 쪽을 위수로 하고, Schnorr 챌린지를 집합으로 하여 얻어지며, 상기 Schnorr 챌린지는, 상기 벡터 챌린지와 상기 기저 벡터를 이용하여 산출되고, 상기 Schnorr 리스펀스는, 상기 벡터 리스펀스와 상기 기저 벡터를 이용하여 산출되는 것을 특징으로 하는 검증 장치.
- 24제23항에 있어서, 상기 서명 장치가 정당하게 서명문을 작성한 경우에는 랜덤하게 선택될 데이터가 포함되어 있지 않은 경우, 상기 데이터의 수리를 거부하고, 상기 랜덤하게 선택될 데이터는, 상기 제1 커미트먼트 정당성 검증 수단에서 계산되는 각 해시 함수에 입력되고, 상기 벡터 리스펀스의 하나의 성분이 상기 각 해시 함수에 입력되고, 상기 Schnorr 챌린지는, 상기 벡터 챌린지의 1차식, 및 상기 기저 벡터의 1차식이며, 상기 Schnorr 리스펀스는, 상기 벡터 리스펀스의 1차식, 및 상기 기저 벡터의 1차식인 것을 특징으로 하는 검증 장치.
- 25제24항에 있어서, 상기 Schnorr 챌린지가 상기 벡터 챌린지와 상기 기저 벡터와의 내적이며, 상기 Schnorr 리스펀스가 상기 벡터 리스펀스와 상기 기저 벡터와의 내적인 것을 특징으로 하는 검증 장치.
- 26제25항에 있어서, 상기 메시지를 M으로 하고, 상기 검증하는 서명문이 ({C_{ij}}, {r_{cjj}}, G, Ξ)일 때, 상기 벡터 챌린지 계산 수단은, K=(c_{1},....,c_{N})=H_{{0, 1}^{N}}(g, h, {C_{ij}}, G, M)을 산출하고, 상기 제1 커미트먼트 정당성 검증 수단은, j=1,....,N의 모두에 대해서, C_{c_jj}=H_{{0, 1}^ν}(ξ_j, r_{c_jj})가 성립하는지의 여부를 판정하여, 모든 j에 대해서 성립하는 경우, b=1로, 성립하지 않는 경우, b=0으로 판정하고, b=0일 때, 상기 제2 정당성 검증 수단은, g^{}=h^{}G가 성립하는지의 여부를 판정하고, g^{}=h^{}G가 성립하지 않을 때, b=0으로 하고, 상기 서명문이 수리되지 않은 취지의 데이터를 출력하고, g^{}=h^{}G가 성립하고 있을 때, b=1로 하고, 상기 서명문이 수리된 취지의 데이터를 출력하는 것을 특징으로 하는 검증 장치.
- 27제5항의 방법에 의해 증명문의 정당성을 판정하는 방법을 이용하는 것을 특징으로 하는 증명 장치.
- 28제9항의 방법에 의해 서명문의 정당성을 판정하는 방법을 이용하는 것을 특징으로 하는 증명 장치.
- 29제14항의 방법에 의해 작성된 서명문의 정당성을 판정하는 것을 특징으로 하는 하는 증명 장치.
- 30검증자 지정 증명 방식의 검증 장치에서의 공개키의 정당성을 판정하는 증명 장치로서, 상기 검증 장치의 공개키는, 2개의 데이터를 포함하고, 상기 제1 데이터와 제2 데이터가 동일한 순환 그룹에 속하고, 검증자의 비밀키 또는 그 일부가 상기 제1 데이터를 위수로 하고, 상기 제2 데이터를 이산 대수로 하는 것을 특징으로 하는 증명 장치.
- 31제30항에 있어서, 정당성을 판정하는 증명문, 혹은 그 일부로서 제5항의 서명 장치에 의해 작성된 서명문을 이용하는 것을 특징으로 하는 증명 장치.
- 32제30항에 있어서, 정당성을 판정하는 증명문, 혹은 그 일부로서 제9항의 서명 장치에 의해 작성된 서명문을 이용하는 것을 특징으로 하는 증명 장치.
- 33제30항에 있어서, 정당성을 판정하는 증명문, 혹은 그 일부로서 제14항의 서명 장치에 의해 작성된 서명문을 이용하는 것을 특징으로 하는 증명 장치.
- 34검증자 지정 증명 방식의 검증 장치의 공개키에 대한 증명문의 정당성을 검증 장치로서, 제20항의 방법에 의해 검증하는 것을 특징으로 하는 검증 장치.
- 35검증자 지정 증명 방식의 검증 장치의 공개키에 대한 증명문의 정당성을 검증하는 검증 장치로서, 제25항의 방법에 의해 검증하는 것을 특징으로 하는 검증 장치.
- 36암호문의 작성에 사용한 난수의 지식을 증명하는 증명문, 혹은 그 일부로서 제5항의 방법으로 작성된 서명문을 이용하는 것을 특징으로 하는 암호화 장치.
- 37암호문의 작성에 사용한 난수의 지식을 증명하는 증명문, 혹은 그 일부로서 제9항의 방법으로 작성된 서명문을 이용하는 것을 특징으로 하는 암호화 장치.
- 38암호문의 작성에 사용한 난수의 지식을 증명하는 증명문, 혹은 그 일부로서 제14항의 방법으로 작성된 서명문을 이용하는 것을 특징으로 하는 암호화 장치.
- 39암호문의 일부로서 증명문을 포함하고, 상기 증명문을 제20항의 방법에 의해 검증하는 것을 특징으로 하는 복호화 장치.
- 40암호문의 일부로서 증명문을 포함하고, 상기 증명문을 제25항의 방법에 의해 검증하는 것을 특징으로 하는 복호화 장치.
Independent claims40
238 paragraphs, as filed
SIGNING DEVICE, VERIFYING DEVICE, CERTIFYING DEVICE, ENCRYPTING DEVICE, AND DECRYPTING DEVICE}
The present invention relates to a signature device, a verification device, a verification device, an encryption device, and a decryption device, in particular, a signature device, verification device, verification device, encryption device, in which the signature forgery problem efficiently results in a discrete logarithmic problem; and a decryption device.
A public key is a cipher that uses different keys for encryption and decryption. The key used for decryption is kept secret while the key used for encryption is made public. A public key requires a system that secures the authenticity of the key to be disclosed, but it is not necessary to deliver the key to the communication partner in advance, and the public key enables verification of the communication partner and verification of the authenticity of received data. Digital signatures that make this possible can be realized. Therefore, it is widely used as an information security technology in networks such as the Internet.
Recently, as a study of public keys, a crypto scheme that combines verifiable safety and practicality is attracting attention. Among the encryption methods that are currently put into practical use, an efficient decryption method has not been implemented so far, and the safety of the encryption method has not been proven in many cases. Therefore, with respect to their encryption method, the possibility that an efficient decryption method exists cannot be completely denied.
Non-Patent Document 1: Mihir. Bellare and Phillip. Rogaway. Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. ACM-CCS. 1993. pp. 62-73
Non-Patent Document 2: Mihir Bellare, Phillip Rogway. The Exact Security of Digital Signatures: How to Sign with RSA and Rabin. In Advances in Cryptolo gy---EUROCRYPT'96, vol.1070 of LNCS, pp.399-416, Springer-Verlag, 1996.
Non-Patent Document 3: Jean-Sebastien Coron. On the Exact Security of Full Domain Hash. In Advances in Cryptology---CRYPTO 2000, vol. 1880 of LNCS, pp. 229-235, Springer-Verlag, 2000.
Non-Patent Document 4: Amos. Fiat and Adi. Shamir. How to prove yourself: Practical Solution to Identification and Signature Prob1ems. In Advances in Cryptology---CRYPTO'86, vol.263 of LNCS, pp.186-194, Springer-Ver1ag, 1987.
Non-Patent Document 5: Eu-Jin Goh, Stanislaw Jarecki. A Signature Scheme as Secure as the Diffie-Hellman Problem. In Advances in Cryptology---EUROCRYPT 2003, vol.2656 of LNCS, pp.401-415, Springer-Verlag, 2003.
Non-Patent Document 6: Kazuo Ohta, Tatsuaki Okamoto. On Concrete Socurity Treatment of Signatures Derived from Identification. In Advances in Cryptology---CRYPTO'98, vol.1462 of LNCS, pp.354-369, Springer-Verlag, 1998.
Non-Patent Document 7: Rafael Pass. On Deniability in the Common Reference String and Random Oracle Model. In Advances in Cryptology---CRYPTO 2003, vol. 2729 of LNCS pp.316-337, Springer Verlag, 2003.
Non-Patent Document 8: David Pointcheval, Jacques Stern: Security Arguments for Digital Signatures and Blind Signatures. J. Cryptology 13(3):36l-396(2000)
Non-Patent Document 9: R. Rivest, A. Shamir, L. Adleman. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communicaions of the ACM. vol.21, No.2, pp120-126,1978.
Non-Patent Document 10: C. Schnorr. Efficient Signature Generation by Smart Cards. Journal of Cryptology, 4(3), pp. 161-174, 1991.
Non-Patent Document 11: Handbook of Applied Cryptography. A. Menezes P. Oorschot, and S. Vanstone, CRC Press.
Non-Patent Document 12: Rafael Pass. On Deniability in the Common Reference String and Random Oracle Model. In Advances in Cryptology---CRYPTO 2003, vol. 2729 of LNCS, pp.316-337, Springcr-Verlag, 2003.
Non-Patent Document 13: Markus Jakobsson, Kazue Sako, and Russell Impagliazzo. Designated Verifier Proofs and Their Applications. In Advances in Cryptology---EUROCRYPT'96, vol.1070 of LNCS, pp.143-154, Springer-Verlag, 1996.
[Problems that the invention wants to solve]
However, the above method has the following problems.
Since the electronic signature scheme was proposed by Non-Patent Document 9, implementation of a secure and efficient signature scheme has been one goal in cryptographic theory. As a solution for realizing this goal, there is a signature method using the Fiat-Shamir heuristic (Non-Patent Document 4) or a hash-then-sign method (Non-Patent Document 1).
However, in the proof of the safety of such a signature method (Non-Patent Documents 3, 6, 8), it is shown that the signature cannot be forged in polynomial time, but specifically, it is possible to forge a signature with a certain amount of calculation. It is not indicated whether there is Therefore, there is a possibility that there is an attacker who succeeds in forgery of a signature with a computational amount much smaller than the computational amount required for decoding the underlying problem (Non-Patent Document 2).
The Schnorr signature method (non-patent document 10) is one of the signature methods that includes such a possibility. Even if the basic problem, the discrete logarithm problem, has a safety of about λ bits, the safety proof of the Schnorr signature method (Non-Patent Documents 6 and 8) only guarantees that the Schnorr signature method has a safety of about λ/2 bits. . Therefore, there is a demand for a signature method in which the forgery problem of the signature can effectively result in a discrete logarithmic problem.
A method that satisfies such a property is known to be theoretically feasible. As a method that satisfies these characteristics, there is a method of converting to the method of proof of the cut-and-choose equation of the discrete logarithmic problem (Non-Patent Document 7). However, this method requires a large amount of calculation for signature/verification calculation. It is not possible to create a signature method in which the forgery problem of a signature can efficiently result in a discrete logarithmic problem and a method with a small amount of computation (Non-Patent Document 5).
In Non-Patent Document 2, since the attacker rewinds at the time of safety proof, the efficiency of attributing to the basic problem is lowered, and thus the safety is inferior to the basic problem. Security proof of Schnorr signature method In \cito[PS00], since the attacker rewinds, the security is inferior to the basic problem of the discrete logarithm problem.
Accordingly, the present invention provides a signature device, a verification device, a verification device, an encryption device, and a decryption device, which can summarize the attacker's secret information from the commitment without rewinding the attacker by using the hash value as a commitment. is intended to
The invention described in claim 1 is a signature device for generating a signature by using a commitment, wherein the commitment is a hash value of a set including a committed value, and a pair of cyclic groups according to the discrete algebra problem as a public key It is characterized in that data including the elements of is used, and the discrete logarithm of the order of the pair is used as the secret key.
The invention according to claim 2 provides, in the signature device according to claim 1, comprising: committed vector selection means for selecting a committed vector according to a first commitment; first commitment calculation means for calculating a first commitment; basis vector calculation means for calculating a basis vector; second commitment calculation means for calculating the power residue to generate a second commitment; vector challenge calculation means for calculating a vector challenge; vector response calculation means for calculating a vector response using the first commitment, the set used for calculating the exponentiation residual, the vector challenge, and the basis vector; and a storage unit for storing the committed vector, the first commitment, the basis vector, the second commitment, the vector challenge, and the vector response, wherein the basis vector and the vector challenge are hash values.
According to the invention according to claim 3, in the signature device according to claim 2, the committed vector selecting means selects a plurality of the committed vectors, and each component of the plurality of committed vectors and the secret key have a modulus of the group order. It is characterized in that it satisfies the relational expression , and the set is data calculated using a part of the data selected by the committed vector selection means, the basis vector, and the vector challenge.
The invention according to claim 4 provides that, in the signature device according to claim 3, each component of the committed vector and the secret key satisfy a linear expression with a group order as a modulus, and the input of the first commitment includes a random number. data, wherein a portion of the data is determined by the vector challenge, and the set is represented by a linear expression of the portion of the data and the basis vector.
According to the invention described in claim 5, in the signature device according to claim 4, wherein the committed vector includes two components, one of the components is surplus by adding a secret key to the other component and taking the group order as a modulus. It is a value obtained by obtaining , wherein the input of the first commitment has data specifying each component of the committed vector, and the set is a value obtained by dot product of a part of the data and the basis vector.
The invention according to claim 6 provides that, in the signature device according to claim 5, when the security parameters are κ, N, ν, and the order of the cyclic group is q, the committed vector selection means includes: a residual group X_{01}, ....,X_{0N}(Z/qZ) is randomly selected, j=1, Let X_{1j} be the value obtained by adding x to the residual group X_{0j} of N and obtaining the residual with order q as the modulus, and the committed vector of i=0, 1 is Y_i=(X_ {i1},....,X_{iN}), wherein the first commitment calculation means randomly selects a ν-bit bit string r, i=0,1, and the public key, X_{ij }, i, j, and r as the first commitment C_{ij}, and the basis vector calculation means includes: the public key and the data including the first commitment C_{ij}. Let the hash value be the basis vector V = (u_1, ..., u_N), and the second commit means, A dot product of the basis vectors V and Y_0 is calculated, and a second commitment G=g^{X} is calculated, and the vector challenge calculation means includes a public key, {C_{ij}}, G, r and the The signature device calculates a hash value K = (c_1, ..., c_N) of the data including the received message, and the vector response calculating means includes the above for all j = 1, ..., N Calculating vector responses ξ_{j}=X_{c_jj}, and Ξ=(ξ_1,...,ξ_κ), and outputting signature text (r, {C_{ij}}, G, Ξ) do it with
In the invention described in claim 7, in the signature device according to claim 2, the committed vector selecting means selects the plurality of committed vectors, and each component of the plurality of committed vectors and the secret key satisfy the relational expression characterized in that
In the invention described in claim 8, in the signature device according to claim 7, the relational expression satisfies a linear expression between each component of the plurality of vectors and a secret key, and the input of the first commitment is data including random numbers. characterized in that
According to the invention described in claim 9, in the signature device according to claim 8, wherein the plurality of committed vectors have a plurality of components, one of the components is obtained by adding a secret key to the other component, and the first commitment It is characterized in that the input includes data specifying each component and data specifying the number of the component.
The invention according to claim 10 is the signature device according to claim 9, wherein the security parameters are κ, N, and ν, and the set of integers R{κ+ξ} is 0R{κ+ξ}<2^{κ+ξ} is satisfied, the committed vector selection means randomly selects the residual groups X_{01},...,X_{0N}(z/qZ), and j=1,... Let X_{1j} be a value obtained by adding x to the residual group X_{0j} of N, and the committed vector of i=0, 1 is Y_i=(X_{i1},...,X_{iN }), and the first commitment calculation means randomly selects a ν-bit bit string r, i=0, 1, and the data including the public key X_{ij}, i, j, r Let the hash value be the first commitment C_{ij}, and the basis vector calculation means calculates the basis vector V=(u_1,. ..., u_N), and the second commitment calculation means, A dot product of the basis vectors V and Y_0 is calculated, and a second commitment G=g^{X} is calculated, and the vector challenge calculation means includes a public key, {C_{ij}}, G, r and the The signature device calculates a hash value K = (c_1, ..., c_N) of the data including the received message, and the vector response calculating means includes the above for all j = 1, ..., N Calculating vector responses ξ_{j}=X_{c_jj}, and Ξ=(ξ_1,...,ξ_κ), and outputting signature text (r, {C_{ij}}, G, Ξ) do it with
The invention according to claim 11 provides a signature device according to claim 10, comprising: committed vector selection means for selecting a committed vector according to a first commitment; first commitment calculation means for calculating a first commitment; basis vector calculation means for calculating a basis vector; second commitment calculation means for calculating the power surplus to generate a second commitment; vector challenge calculation means for calculating a vector challenge; vector response calculation means for calculating a vector response using the first commitment, the set used for calculating the exponentiation residual, the vector challenge, and the basis vector; and a storage unit for storing the committed vector, the first commitment, the basis vector, the second commitment, the vector challenge, and the vector response, wherein the basis vector and the vector challenge are hash values.
According to the invention described in claim 12, in the signature device according to claim 11, wherein the committed vector selecting means selects a plurality of the committed vectors having the same configuration, and each component and the secret key of the plurality of committed vectors is of a group order. It is characterized in that it satisfies a relational expression of which is a modulus, and the set is data calculated using a part of the data selected by the committed vector selection means, the basis vector, and the vector challenge.
The invention according to claim 13 is data in the signature device according to claim 12, wherein each component of the committed vector and the secret key satisfy a linear expression with a group order as a modulus, and the first commitment is data including a random number, It is characterized in that the part of the data is determined by the vector challenge, and the set is represented by a linear expression with respect to the part of the data and the basis vector.
In the invention described in claim 14, in the signature device according to claim 13, one component of the committed vector is a value obtained by adding a secret key to the other component and obtaining a surplus by using the group order as a modulus, A set is a value obtained by dot product of a part of the data and the basis vector, and the basis vector is a value obtained by multiplying a predetermined number t by (1, t^1, t^2, ..., t^N).
According to the invention described in claim 15, in the signature device according to claim 14, when the message is M, the committed vector selection means randomly selects Y_0=(X_{01},...,X_{0N} )Zq^{N}, and for j=1,....,N, with X_{1j}=x+X_{0j}modq, the committed vector Y_1=(X_{11}, ....,X_{1N} is generated, and the second commitment calculation means calculates X=<{Y_0, V}>=Σ_jX_{0j}2^{j-1}modq, and also the commitment G=g^{X} is calculated, and the first commitment calculation means randomly selects r_{ij}{0, 1}^{ν} for each i and j, and X_{ij} The first commitment C_{ij}=H_{{0, 1}^ν}(X_{ij}, r_{ij}) is calculated, and the vector challenge calculation means K=(c_{1},.. Calculate ..,c_{N})=H_{{0, 1}^{N}(g, h, {C_{ij}}, G, M), The vector response calculating means calculates, for each j, the vector response ξ_j = X_{c_jj}modq, and calculates Ξ = (ξ_{1}, ..., ξ_{N}), and a signature It is characterized in that the statement ({C_{ij}}, {r_{c_jj}}, G, Ξ) is output.
The invention according to claim 16 is a verification device for determining the validity of input data, wherein the input data has a message and a signature for the message, and the data is repaired only when there is validity in the data, The first commitment is used in the verification calculation to execute the exponentiation residual a number of times smaller than the number of the first commitment, and when the validity of the data is confirmed, the first commitment is a vector response component that is a part of the data. It is a hash value of the included data, the public key is data including a pair of elements of a recursive group according to the discrete logarithm problem, and the private key is a discrete logarithm of the order of the pair.
The invention according to claim 17 provides, in the verification apparatus according to claim 16, basis vector calculation means for calculating a basis vector; vector challenge calculation means for calculating a vector challenge; first commitment validity verification means for determining validity of the first commitment; second validity verification means for calculating an exponentiation residual to determine validity of the vector response; storage means for storing data input/output from each means, wherein the vector challenge and the basis vector are hash values, and the first commitment validity verification means and the second validity verification means determine that the signature is valid It is characterized in that only when the input of the data is accepted.
In the invention according to claim 18, in the verification device according to claim 17, the first commitment validity verification means inputs a part of the input data having the vector response into a hash function by a predetermined method, and calculates a hash value It is judged that the first commitment is valid only when it coincides with the first commitment, and the second validity verification means has data called a second commitment and the vector response, and the public key is When the recursive group according to the discrete logarithmic problem contains two small sums, calculate first and second power residuals that are power residuals of each element, wherein the first power residuals are the second power residuals and the second commitments. It is determined whether or not it is the same as the value multiplied by , wherein the first exponentiation residual is an element that is a part of the public key as an order, and a Schnorr challenge is a set, and the second exponent residual is an element that is a part of the public key. , with the order of , and the Schnorr response as the set, The Schnorr challenge is data calculated using the vector challenge and the basis vector, and the Schnorr response is data calculated using the vector response and the basis vector.
In the invention described in claim 19, in the verification device according to claim 18, when the signature device does not include randomly selected data in the signature, the data is not accepted, and the randomly selected data is , input to each hash function calculated by the first commitment validation means, one component of the vector response is input to each hash function, the Schnorr challenge is a linear expression of the vector challenge, and the basis vector is a linear equation, and the Schnorr response is a linear equation of the vector response and a linear equation of the basis vector.
The invention according to claim 20 is, in the verification device according to claim 19, wherein the Schnorr challenge is a dot product of the vector challenge and the basis vector, and the Schnorr response is a dot product of the vector response and the basis vector do it with
According to the invention described in claim 21, in the verification apparatus according to claim 20, when the message is M and the determined data is (r, {C_{ij}}, G, Ξ), the basis vector calculation means is , calculates a hash value of data including the public key and {C_{ij}}, the hash value is the basis vector V=(u_1, ..., u_N), and the vector challenge calculation means includes: A hash value of the data including the public key and {C_{ij}}, G, r, and M is calculated, and the hash value is the vector challenger K=(c_1,...,c_N), and the 1 The commitment validity verification means determines that C_{c_jj} is valid only when C_{c_jj} and the hash function match for each j=1,...,N, and all C_{c_jj} It is determined that {C_{jj}} is valid only when it is justified, and the hash function is a hash value of data including a public key and ξ_{j}, c_j, j, r, and the second validity verification means includes: g^{<V, Determine whether Ξ>}=h^{<V, K>}G holds, and when g^{<V, Ξ>}=h^{<V, K>}G holds, the signature It is characterized in that it determines that the statement is justified.
The invention according to claim 22 provides, in the verification apparatus according to claim 16, comprising: vector challenge calculation means for calculating the vector challenge; first commitment validity verification means for determining validity of the first commitment; and second validity verification means for calculating the exponentiation residual and determining the validity of the vector response, and accepting the signature only when validity is confirmed by the first commitment validity verification means and the second validity verification means characterized in that
In the invention according to claim 23, in the verification device according to claim 22, the first commitment validity verification means is configured to match a hash value when a part of the input data is input to a hash function and the first commitment, Judging that the first commitment is valid, the data input to the hash function is used to calculate two power remainders, one of the two power remainders is the power remainder of the other, and the second commitment It is determined whether or not it is equal to a value multiplied by , the determined data has a second commitment and the vector response, the public key has an element of a recursive group according to a discrete logarithmic problem, and each exponentiation residual is , other elements that are part of the public key as an order, a Schnorr challenge as a set, the Schnorr challenge is calculated using the vector challenge and the basis vector, and the Schnorr response is It is characterized in that it is calculated using the vector response and the basis vector.
According to the invention described in claim 24, in the verification device according to claim 23, when the signature device properly prepares a signature, the data to be randomly selected is not included, the data is rejected, and the randomly selected data is not included. Data is input to each hash function calculated by the first commitment validation means, one component of the vector response is input to each hash function, the Schnorr challenge is a linear expression of the vector challenge, and the It is a linear expression of a basis vector, and the Schnorr response is a linear expression of the vector response and a linear expression of the basis vector.
The invention according to claim 25 is characterized in that in the verification apparatus according to claim 24, the Schnorr challenge is a dot product of the vector challenge and the basis vector, and the Schnorr response is a dot product of the vector response and the basis vector. .
The invention described in claim 26 provides, in the verification apparatus according to claim 25, when the message is M, and the signature to be verified is ({C_{ij}}, {r_{cjj}}, G, Ξ), The vector challenge calculation means is, K=(c_{1},....,c_{N})=H_{{0, 1}^{N}}(g, h, {C_{ij}}, G, M), and the first commitment validity verification means, for all of j=1,...,N, C_{c_jj}=H_{{0, 1}^ν}(ξ_j, It is determined whether or not r_{c_jj}) holds, and if it holds for all j, it is determined that b=1, and when it does not hold, it is determined that b=0, and when b=0, the second validation of validity The means determines whether g^{<V, Ξ>}=h^{<V, K>}G holds, and g^{<V, Ξ>}=h^{<V, K> } When G does not hold, b = 0, outputting data indicating that the signature is not accepted, g^{<V, Ξ>}=h^{<V, It is characterized in that when K>}G is established, b=1, and data indicating that the signature has been accepted is output.
A proof apparatus according to claim 27 is characterized by using the method of determining the validity of a proof statement by the method described in claim 5.
The authentication device according to claim 28 is characterized by using the method of determining the validity of a signature by the method described in claim 9.
The authentication device according to claim 29 is characterized in that it determines the validity of the signature created by the method according to claim 14 .
The invention according to claim 30 is a verification device for determining the validity of a public key in a verification device of a validator-specified verification method, wherein the public key of the verification device includes two pieces of data, the first data and the second data. It is characterized in that the data belong to the same cyclic group, and the verifier's secret key or a part thereof has the first data as an order and the second data as a discrete logarithm.
A certification device according to claim 31 is characterized in that a signature for determining validity or a signature created by the signature device according to claim 5 is used as a part thereof.
The authentication device according to claim 32 is characterized by using a certificate for determining validity or a signature created by the signature device according to claim 9 as a part thereof.
The invention recited in claim 33 is characterized in that, in the authentication device according to claim 30, a certificate for judging validity or a signature created by the signature device according to claim 14 is used as a part thereof.
The invention recited in claim 34 is characterized in that the validity of the proof statement for the public key of the verifier-specified verification method verifier is verified by the method recited in claim 20 as the verification device.
The invention described in claim 35 is a verification device for verifying the validity of a proof statement with respect to a public key of a verification device using a validator-specified proof method, and is characterized in that the verification is performed by the method described in claim 25 .
An encryption device according to claim 36 is characterized by using a signature text created by the method described in claim 5 as a proof text that proves knowledge of random numbers used to create an cipher text, or a part thereof.
An encryption device according to claim 37 is characterized in that a proof text proving knowledge of a random number used to create an cipher text or a signature text created by the method described in claim 9 is used as a part thereof.
The encryption device according to claim 38 is characterized by using a signature text created by the method described in claim 14 as a proof text that proves knowledge of random numbers used to create an cipher text, or a part thereof.
The decryption device according to claim 39 includes a proof text as a part of the cipher text, and verifies the proof text by the method described in claim 20 .
The decryption apparatus according to claim 40 includes a proof text as a part of the cipher text, and verifies the proof text by the method described in claim 25 .
[Effects of the Invention]
According to the present invention, by using the hash value as a commitment, the attacker's secret information can be summarized from the commit without rewinding the attacker, and more secure than the Schnorr signature method. In addition, by performing the power-over-residue calculation once in each signature/verification, the amount of calculation in the signature verification calculation can be reduced.
1 is a block diagram showing the configuration of a signature device and a verification device according to the present embodiment.
Fig. 2 is a flowchart of processing in the signature apparatus according to the present embodiment;
Fig. 3 is a flowchart of processing in the signature apparatus according to the present embodiment;
Fig. 3 is a flowchart of processing in the verification apparatus according to the present embodiment;
Fig. 5 is a flowchart of processing in the signature apparatus according to the present embodiment;
Fig. 6 is a flowchart of processing in the signature apparatus according to the present embodiment;
Fig. 7 is a flowchart of processing in the verification apparatus according to the present embodiment.
Fig. 8 is a block diagram showing the configuration of a signature device and a verification device according to the present embodiment.
Fig. 9 is a flowchart of processing in the signature apparatus according to the present embodiment;
Fig. 10 is a flowchart of processing in the signature apparatus according to the present embodiment;
11 is a flowchart of processing in the verification apparatus according to the present embodiment.
Fig. 12 is a block diagram showing the configuration of a signature device and a verification device according to the present embodiment.
Fig. 13 is a block diagram showing the configuration of a verification apparatus and a verification apparatus according to the present embodiment;
Fig. 14 is a block diagram showing the configuration of an encryption device and a decryption device according to the present embodiment.
[Explanation of code]
SBN0: Signature Device
SB0: memory
SB1: input means
SB2: Committed vector selection means
SB3: first commitment calculation means
SB4: basis vector calculation means
SB5: Second Commitment Calculation Means
SB6: Vector Challenge Calculation Means
SB7: vector response calculation means
SB8: Signature output means
VBN0: Verifier
VB0: memory
VB1: input means
VB2: basis vector calculation means
VB3: Vector Challenge Calculation Means
VB4: first validation means
VB5: Second justification means
VB6: output means
Hereinafter, the configuration and operation of the signature device and the verification device according to the present embodiment will be described.
[First embodiment]
1 is a block diagram showing the configuration of a signature device SBN0 and a verification device VBN0 according to the first embodiment. The signature device SBN0 receives data using the reception device RBN0, and transmits the data via the transmission device SeBN0. The verification device VBN0 receives data using the reception device RBN1. The communication path used for data communication can be, for example, a LAN, the Internet, or the like, but is not limited thereto.
Here, the symbols in the present embodiment will be described.
A is a cyclic group whose rank is q. The number of bits of the order q is ?. g indicates the origin of cycle group A. In addition, even if the order q of the recursive group A is disclosed, it is assumed that it is difficult to falsify the discrete logarithmic problem according to the recursive group A.
Z represents a ring formed by the whole integer. N represents a set of all natural numbers. For a vector a, the i-th component of a is denoted by a_i. In addition, the dot product is indicated by <·,·>. Let the dot product of vectors a and b be <a,b>=a_1b_1+ ... a_Nb_N. The X value hash function of the set X is represented by H_X.
Next, a method of generating a key will be described. Randomly take x(Z/qZ)\{0}, and let h=g^x. The public and private keys are (g, h, q) and x, respectively. The signature device SBN0 stores a public key and a private key in the storage unit SB0. In addition, it is assumed that the public key is stored in a place where the verification device VBN0 can obtain it in some form. As the acquisition method, there are, for example, a means for storing in a public key book published on the Internet, a means for directly acquiring from the signature device SBN0, and the like. The verification device VBN0 obtains the public key as necessary and stores it in the storage unit SB0. For details of the key generation method, refer to Non-Patent Document 11. The following description is made in a state in which the verification device VBN0 has already obtained the public key.
First, the operation of SBN0 will be described with reference to Figs.
When the reception device RBN0 receives the message, the signature device SBN0 first inputs the message to the input means SB1. Then, in the committed vector selection means SB2, the first commitment calculation means SB3, the basis vector calculation means SB4, the second commitment calculation means SB5, the vector challenge calculation means SB6, the vector response calculation means SB7, and the signature output means SB8, the signature A statement is written and printed.
Each of the means SB1 to SB7 reads data from the storage unit SB0 as necessary, performs processing, and stores the data in the storage unit SB0.
Specific processing in each of the means SB1 to SB7 will be described below.
The input means SB1 receives the message M from the reception device RBN0, and stores the message M in the storage unit SB0.
Next, the processing in the committed vector selection means SB2 will be described.
First, when the message M is stored in the storage unit SB0, the committed vector selection means SB2 reads the order q from the storage unit SB0 (SF2). When the order q is read, the committed vector selection means SB2 randomly selects the residual groups X_{01},...,X_{0N}(Z/qZ) of the order q (SF3). Next, X_{1j}=x+X_{0j}modq is calculated for all of j=1,...,N (SF4). Then, X_{0j} of i=0 and j=1,...,N as Y_0, and X_{1j} of i=0 and j=1,...,N as Y_1 (SF5 ), called the ith committed vector. Y_0 and Y_1 are stored in the storage unit SB0 (SF6).
The processing in the first commitment calculation means SB3 will be described.
The first commitment calculation means SB3 first reads (?, g, h, {X_{ij}}, i, j, r) from the storage unit SB0 (SF7). Next, the first commitment calculation means SB3 randomly selects the bit string r of nu bits (SF8). Then, hash value of data including bit string r and public key (g, h, q) C_{ij}=H_{{0, 1}?ν}(g, h, X_{ij}, i, j , r) is calculated (SF9). Here, it is assumed that i = 0, 1. In the present embodiment, the hash value C_{ij} calculated by the first commitment calculation means SB3 is used as the first commitment, and {C_{ij}}_{i=0, 1, j=1, .. Let ..,N} be the first commitment vector.
The first commitment vector r, {C_{ij}} calculated by the first commitment calculation means SB3 is stored in the storage unit SB0 (SF10).
The processing in the basis vector calculation means SB4 will be described.
First, the basis vector calculation means SB4 reads (q, N, g, h, {C_{ij}}) from the storage unit SB0 (SF11).
Next, the basis vector calculation means SB4 calculates the hash value V=(u-1,...,u_N) of data including the public key (q, g, h) and the first commitment {C_{ij}} =H_{((Z/qZ)\{0})^{N}}(g, h, {C_{ij}}) is calculated (SF12), and V is stored in the storage unit SB0 as a basis vector ( SF13).
Next, the second commitment calculating means SB5 will be described.
First, the second commitment calculation means SB5 reads (q, g, V, Y_0) from the storage unit SB0 (SF14), and calculates the dot product of the basis vectors V and Y_0 (SF15). Further, the second commitment G=g^{X} is calculated (SF16), and the second commitment G is stored in the storage unit SB0 (SF17).
Next, the operation in the vector challenge calculation means SB6 will be described.
First, the vector challenge calculation means SB6 reads (g, h, {C_{ij}}, G, r, M) from the storage unit SB0 (SF18), and the vector challenge K=(c_1,..., c_N)=H_{{0, 1}^N}(g, h, {C_{ij}}, G, r, M) is calculated (SF19) and stored in the storage unit SB0 (SF20).
Next, the operation in the vector response calculating means SB7 will be described.
First, the vector response calculation means SB7 reads ({X_{ij}}, {c_j}) from the storage unit SB0 (SF21), and ξ_{j}={ c_jj} is calculated and stored in the storage unit SB0 as a vector response Ξ = (ξ_1, ..., ξ_κ) (SF24).
Next, the operation of the signature output means SB8 will be described.
The signature output means SB8 reads the signature text r, {C_{ij}}, G, Ξ) (SF25), and verifies the signature text r, {C_{ij}}, G, Ξ) with the verification device VBN0 output to (SR26).
Next, the configuration and operation of the verification device VBN0 will be described with reference to FIGS. 1 and 4 .
When the receiving device RBN1 receives the message M, the input means VB1 stores the message M and its signature (r, {C_{ij}}, G, Ξ) in the storage unit VB0 (VF1). The message M and the signature are, when (r, {C_{ij}}, G, Ξ) are stored in the storage unit VB0, the basis vector calculation means VB2, the vector challenge VB3, the first validity verification means VB4, the second validity verification Through the following verification processing in the means VB5 and the output means VB6, the validity of the signature is verified.
First, the operation in the basis vector calculation means VB2 will be described.
The basis vector calculation means VB2 reads (N, g, h, {C_{ij}}) from the storage unit VB0 (VF2), and the basis vector V=(u_1,...,u_N)=H_{( (Z/qZ)\{0})^{N}}(g, h, {C_{ij}}) is calculated (VF3) and stored in the storage unit VB0 (VF4).
Next, the operation in the vector challenge calculation means VB3 will be described.
The vector challenge calculation means VB3 reads (ν, g, h, {C_{ij}}, G, r, M) from the storage unit VB0 (VF5), and the vector challenge K = (c_1, ..., c_N)=H_{{0, 1}^ν}(g, h, {C_{ij}}, G, r, M) is calculated (VF6) and stored in the storage unit VB0 (VF7).
Next, the operation in the first commitment validity verification means VB4 will be described.
First, the first commitment validation unit VB4 reads (v, g, h, ξ_{j}, {c_j}, {C_{c_jj}}) from the storage unit VB0 (VF8). And, for each of j=1,...,N, H_{{0, 1}^{ν}}(g, h, ξ_{j}, c_j, j, r)=C_{c_jj} is Check whether it is established or not. Then, the j for which H_{{0, 1}^{ν}}(g, h, ξ_{j}, c_j, j, r)=C_{c_jj} is established is set to b=1, and the non-established j is Assuming that b=0, it is stored in the storage unit VB0 (VF9). Further, the first commitment validity verification means VB4 determines whether b corresponding to j = 1, ..., N is 0 (VF10). Then, when b = 0 (VF10/YES), the verification is finished. When b = 1 (VF10/NO), the processing shifts to the second validity verification means VB5.
First, the second validity verification means VB5 reads (b, g, h, V, Ξ, K, G) from the storage unit VB0 (VF12). Next, it is checked whether or not g^{<V, Ξ>}=h^{<V, K>}G holds, and if so, b=1 stored in VF9 is rewritten as b=0. (VF13, VF14)). Here, let <V, Ξ> be the Schnorr response and <V, K> be the Schnorr challenge.
Finally, the output means VB6 outputs data indicating that the signature has been accepted if b=1, and outputs data indicating that the signature has been rejected if b=0.
[Second embodiment]
1 is a block diagram showing the configuration of a signature device SBN0 and a verification device VBN0 according to the present embodiment. The signature device SBN0 receives data using the reception device RBN0, and transmits the data via the transmission device SeBN0. The verification device VBN0 receives data using the reception device RBN1. Data transmission/reception is performed using, for example, a LAN, the Internet, or the like, but is not limited thereto.
Here, the symbols in the present embodiment will be described.
A is a cyclic group whose rank is q. The number of bits of the order q is ?. g indicates the origin of cycle group A. In addition, even if the order q of the recursive group A is disclosed, it is assumed that it is difficult to falsify the discrete logarithmic problem according to the recursive group A.
Z represents a ring formed by the whole integer. N represents a set of all natural numbers. For a vector a, the i-th component of a is denoted by a_i. In addition, the dot product is indicated by <·,·>. Let the dot product of vectors a and b be <a,b>=a_1b_1+ ... a_Nb_N. The X value hash function of the set X is represented by H_X. Then, R_{κ+ζ}=Z[[0, 2^{κ+ζ}]. Let the hash value function of the set X be H_X.
Next, a method of generating a key will be described. Randomly take x(Z/qZ)\{0}, and let h=g^x. The public and private keys are (g, h, q) and x, respectively. The signature device SBN0 stores a public key and a private key in the storage unit SB0. In addition, it is assumed that the public key is stored in a place where the verification device VBN0 can obtain it in some form. As the acquisition method, there are, for example, a means for storing in a public key book published on the Internet, a means for directly acquiring from the signature device SBN0, and the like. The verification device VBN0 obtains the public key as necessary and stores it in the storage unit SB0. For details of the key generation method, refer to Non-Patent Document 11. Hereinafter, description will be made from the state in which the verification device VBN0 has already obtained the public key.
Next, the specific operation of the signature device SBN0 according to the present embodiment will be described with reference to Figs.
When the reception device RBN0 receives the message, the signature device SBN0 first inputs the message to the input means SB1. Then, in the committed vector selection means SB2, the first commitment calculation means SB3, the basis vector calculation means SB4, the second commitment calculation means SB5, the vector challenge calculation means SB6, the vector response calculation means SB7, and the signature output means SB8, the signature A statement is written and printed.
Next, the detailed operation of the committed vector selection means SB2 will be described.
The committed vector selection means SB2 first reads (M, ?, ζ) from the storage SB0 (SF22). Next, the surplus groups X_{01},...,X_{0N} are selected from R_{κ-ζ} (SF23). Then, X_{1j}=x+X_{0j} is calculated for all of j=1, ...., N (SF24). And, X_{0j} of i=0 and j=1,...,N as Y_0, and X_{1j} of i=0 and j=1,...,N as Y_1 (SF25 ), called the i-th committed vector. Y_0 and Y_1 are stored in the storage unit SB0 (SF26).
The processing in the first commitment calculation means SB3 will be described.
The first commitment calculation means SB3 first reads (N, {c_{j}}, {X_{ij}}) from the storage unit SB0 (SF27). Next, the first commitment calculation means SB3 randomly selects the bit string r of nu bits (SF28). And, hash value of data including bit string r and public key (g, h, q) C_{ij}=H_{{0, 1}?ν}(g, h, X_{ij}, i, j , r) is calculated (SF29). Here, it is assumed that i = 0, 1. In the present embodiment, the hash value C_{ij} calculated by the first commitment calculation means SB3 is used as the first commitment, and {C_{ij}}_{i=0, 1, j=1, .. Let ..,N} be the first commitment vector.
The first commitment vector r, {C_{ij}} calculated by the first commitment calculation means SB3 is stored in the storage unit SB0 (SF210).
The processing in the basis vector calculation means SB4 will be described.
First, the basis vector calculation means SB4 reads (κ, ζ, N, g, h, {C_{ij}) from the storage unit SB0 (SF211).
Next, the basis vector calculation means SB4 calculates a hash value of data including the public key (q, g, h) and the first commitment {C_{ij}} V=(u_1,...,u_N)=H_ {(R_{κ+ζ}\{0})^{N}}(g, h, {C_{ij}}) is calculated (SF212) and V is stored in the storage unit SB0 as a basis vector (SF213) ).
Next, the second commitment calculating means SB5 will be described.
First, the second commitment calculation means SB5 reads (V, Y_0, G) from the storage unit SB0 (SF214), and calculates a dot product between the basis vectors V and Y_0 (SF215). Further, the second commitment G=g^{X} is calculated (SF216), and the second commitment G is stored in the storage unit SB0 (SF217).
Next, the operation in the vector challenge calculation means SB6 will be described.
First, the vector challenge calculation means SB6 reads (g, h, {C_{ij}}, G, r, M) from the storage unit SB0 (SF18), and the vector challenge K=(c_1,..., c_N) = H_{{0, 1}^N}(g, h, {C_{ij}}, G, r, M) is calculated (SF19) and stored in the storage unit SB0 (SF220).
Next, the operation in the vector response calculating means SB7 will be described.
First, the vector response calculation means SB7 reads (N, {c_{j}}, {X_{ij}}) from the storage unit SB0 (SF221), and ξ_ at j = 1, ..., N {j}=X_{c_jj} is calculated and stored in the storage unit SB0 as a vector response Ξ = (ξ_1, ..., ξ_N) (SF24).
Next, the operation of the signature output means SB8 will be described.
The signature output means SB8 reads the signature text r, {C_{ij}}, G, Ξ) (SF225), and verifies the signature text (r, {C_{ij}}, G, Ξ) with the verification device VBN0 output to (SR226).
Next, the configuration and operation of the verification device VBN0 will be described with reference to FIGS. 1 and 7 .
When the receiving device RBN1 receives the message M, the input means VB1 stores the message M and its signature (r, {C_{ij}}, G, Ξ) in the storage unit VB0 (VF1). When the message M and the signature (r, {C_{ij}}, G, Ξ) are stored in the storage unit VB0, the basis vector calculation means VB2, the vector challenge VB3, the first validity verification means VB4, the second validity verification means VB5 , and through the following verification processing in the output means VB6, the validity of the signature is verified.
First, the operation in the basis vector calculation means VB2 will be described.
The basis vector calculation means VB2 reads (N, κ, ζ, g, h, {C_{ij}}) from the storage unit VB0 (VF22), and the basis vector V=(u-1, ... u_N)=H_{(R_{κ-ζ}\{0})^{N}}(g, h, {C_{ij}}) is calculated (VF23) and stored in the storage unit VB0 (VF24) .
Next, the operation in the vector challenge calculation means VB3 will be described.
The vector challenge calculation means VB3 reads (N, g, h, {C_{ij}}, G, r, M) from the storage unit VB0 (VF25), and the vector challenge K=(c_1,..., c_N)=H_{{0, 1}^N}(g, h, {C_{ij}}, G, r, M) is calculated (VF26) and stored in the storage unit VB0 (VF27).
Next, the operation in the first commitment validity verification means VB4 will be described.
First, the first commitment validation unit VB4 reads (v, g, h, ξ_{j}, {c_j}, {C_{c_jj}}) from the storage unit VB0 (VF28). And, for each of j=1,...,N, H_{{0, 1}^{ν}(g, h, ξ_{j}, c_j, j, r)=C_{c_jj} holds true check whether or not Then, the j in which H_{{0, 1}^{ν}}(g, h, ξ_{j}, c_j, j, r)=C_{c_jj} is established is set to b=1, and the non-established j is set to b=1. It is determined that b=0 (VF210). Further, the first commitment validity verification means VB4 determines whether b corresponding to j = 1, ..., N is 0 (VF210). Then, when b = 0 (VF210/NO), the verification is finished. When b=1 (VF210/YES), b=1 is stored in the storage unit VB0 (VF211).
First, the second validity verification means reads (b, g, h, V, Ξ, K, G) from the storage unit VB0 (VF212). Next, it is checked whether g^{<V, Ξ>}=h^{<V, K>}G holds, and if so, the stored b=1 in VF9 is rewritten as b=0. (VF213, VF214)). Here, <V, Ξ> is a Schnorr response, and <V, K> is a Schnorr challenge.
Finally, the output means VB6 reads b from the storage VBO (VF215), outputs data indicating that the signature has been accepted if b = 1, and outputs data indicating that the signature has been rejected if b = 0 do (VF216).
[Third embodiment]
Fig. 8 is a block diagram showing the configuration of the signature device SB30 and the verification device VBN30 according to the present embodiment. The signature device SB30 receives data using the reception device RBN30, and transmits the data via the transmission device SeBN30. The verification device VBN30 receives data using the reception device RBN31. Data transmission/reception is performed using, for example, a LAN, the Internet, or the like, but is not limited thereto.
Here, the symbols in the present embodiment will be described.
A is a cyclic group whose rank is q. The number of bits of the order q is ?. g indicates the origin of cycle group A. In addition, even if the order q of the recursive group A is disclosed, it is assumed that it is difficult to falsify the discrete logarithmic problem according to the recursive group A.
Z represents a ring formed by the whole integer. N represents a set of all natural numbers. For a vector a, the i-th component of a is denoted by a_i. In addition, the dot product is indicated by <·,·>. The dot product of vectors a and b is set to <a,b>=a_1b_1+ ... a_Nb_Nmodq. The X value hash function of the set X is represented by H_X. Then, the basis vector is V=(u_1,...,u_{N})=(2^{0},....,2^{N-1}).
Next, a method of generating a key will be described. Randomly take x(Z/qZ)\{0}, and let h=g^x. The public and private keys are (g, h, q) and x, respectively. The signature device SBN30 stores a public key and a private key in the storage unit SB30. In addition, it is assumed that the public key is stored in a place where the verification device VBN30 can obtain it in some form. As the acquisition method, there are, for example, a means for storing in a public key book published on the Internet, a means for directly acquiring from the signature device SBN30, and the like. The verification device VBN30 obtains the public key as necessary and stores it in the storage unit SB30. For details of the key generation method, refer to Non-Patent Document 11. Hereinafter, description will be made from the state in which the verification device VBN0 has already obtained the public key.
Next, the specific operation of the signature device SBN30 according to the present embodiment will be described with reference to FIGS. 8, 9 and 10 .
When the reception device RBN30 receives the message, the signature device SBN30 first inputs the message to the input means SB31. Then, a signature is created and output by the committed vector selection means SB32, the second commitment calculation means SB33, the first commitment calculation means SB34, the vector challenge calculation means SB35, the vector response calculation means SB36, and the signature output means SB37. .
The input means SB31 receives the message M from the reception device RBN30, and stores the message M in the storage unit SB30.
Next, the detailed operation of the committed vector selection means SB32 will be described.
The committed vector selection means SB32 first reads (q, x) from the storage unit SB30 (SF32). Next, the surplus groups X_{01},...,X_{0N} are selected from (Z/qZ) (SF33). Then, X_{1j}=x+X_{0j} is calculated for all of j=1, ...., N (SF34). Then, X_{0j} of i=0 and j=1,...,N is set to Y_0, and X_{1j} of i=0 and j=1,...,N is set to Y_1 (SF35 ), called the ith committed vector. Y_0 and Y_1 are stored in the storage unit SB0 (SF36).
The processing in the second commitment calculation means SB33 will be described.
The second commitment calculation means SB33 first reads (q, V, Y_0, g) from the storage unit SB30 (SF37), and sets X=<{Y_0, V}>=Σ_jX_{0j}2^{j- 1} Calculate modq (SF38). Next, the commitment G = g^{X} is calculated (SF39), and the commitment G is stored in the storage unit SB30 (SF310).
The processing in the first commitment calculation means 34 will be described.
The first commitment calculation means 34 first reads (ν, {X_{ij}}) (SF311), and randomly selects a bit string r of ν bits for each of i and j (SF312). Then, the hash value C_{ij}=H_{{0, 1}?ν} (X_ {ij}, r_{ij}) of data including the bit string r and the public key (g, h, q) is calculated. do (SF313). Here, it is assumed that i = 0, 1. In the present embodiment, the hash value C_{ij} calculated by the first commitment calculation means SB3 is used as the first commitment.
The first commitment vector {C_{ij}} calculated by the first commitment calculation means SB3 is stored in the storage unit SB0 (SF314).
Next, the operation in the vector challenge calculation means SB35 will be described.
First, the vector challenge calculation means SB35 reads (N, g, h, {C_{ij}}, G, M) from the storage unit SB0 (SF315), and the vector challenge K=(c_1,..., c_N)=H_{{0, 1}^N}(g, h, {C_{ij}}, G, M) is calculated (SF316) and stored in the storage unit SB0 (SF317).
Next, the operation in the vector response calculating means SB36 will be described.
First, the vector response calculation means SB36 reads ({c_{j}}, {X_{ij}}) from the storage unit SB0 (SF318), and ξ_{j at j = 1, ..., N }=X_{c_jj} is calculated (SF319) and stored in the storage unit SB30 as a vector response Ξ = (ξ_1, ..., ξ_κ) (SF320, SF321).
Next, the operation of the signature output means SB37 will be described.
The signature output means SB37 reads the signature text ({C_{ij}}, {r_{c_jj}}, G, Ξ) (SF22), and reads the signature text ({C_{ij}}, {r_{c_jj} }, G, Ξ) are output to the verification device VBN30 (SF323).
Next, the configuration and operation of the verification device VBN0 will be described with reference to FIGS. 8 and 11 .
When the receiving device RBN31 receives the message M, the input means VB31 stores the message M and its signature ({C_{ij}}, {r_{c_jj}}, G, Ξ) in the storage unit VB0 (VF31). When the message M and the signature ({C_{ij}}, {r_{c_jj}}, G, Ξ) are stored in the storage unit VB30, the vector challenge VB32, the first validation means VB34, the second validation means VB33, and through the following verification processing in the output means VB35, the validity of the signature is verified.
Next, the operation in the vector challenge calculation means VB32 will be described.
The vector challenge calculation means VB32 reads (N, g, h, {C_{ij}}, G, M) from the storage unit VB30 (VF32), and the vector challenge K=(c_1,...,c_N) =H_{{0, 1}^N}(g, h, {C_{ij}}, G, M) is calculated (VF33) and stored in the storage unit VB30 (VF34).
Next, the operation in the first commitment validity verification means VB33 will be described.
First, the first commitment validity verification unit VB33 reads (?, ξ_j, r_{c_jj}, {C_{c_jj}}) from the storage unit VB30 (VF35). And, for each of j = 1,..., N, whether H_{{0, 1}^{ν}}(ξ_j, r_{c_jj}, j, r)=C_{c_jj} holds to verify Then, the j for which H_{{0, 1}^{ν}}(g, h, ξ_{j}, c_j, j, r)=C_{c_jj} is established is set to b=1, and the non-established j is set to It is determined that b=0 (VF36). Further, the first commitment validity verification means VB4 determines whether b corresponding to j = 1, ..., N is 0 (VF37). Then, when b = 0 (VF37/NO), the verification is finished. When b=1 (VF37/YES), b=1 is stored in the storage unit VB0 (VF38).
First, the second validity verification means 33 reads (b, g, h, V, Ξ, K, G) from the storage unit VB30 (VF39). Next, it is checked whether or not g^{<V, Ξ>}=h^{<V, K>}G holds. If so, b=1 stored in VF9 is rewritten as b=0. (VF310, VF311)). Here, let <V, Ξ> be the Schnorr response and <V, K> be the Schnorr challenge.
Finally, the output means VB35 reads b from the storage unit VB30 (VF312), outputs data indicating that the signature has been accepted if b = 1, and outputs data indicating that the signature has been rejected if b = 0 do.
<Example 1>
An example in which the straight line extractable proof method of discrete logarithms (refer to Non-Patent Document 12) is applied to the first embodiment will be described.
Fig. 12 shows the configuration of the verification device and the verification device. As shown in Fig. 12, in the present embodiment, there are a verification device PSPBN0 and a verification device VSPBN0, respectively, corresponding to the signature device SBN0 and the verification device VBN0 according to the first embodiment.
In this embodiment, a predetermined ID or a random number is used for the change of message M. Note that, except for using an ID or a random number in place of the message M, the operation in each unit and each means is the same as in the first embodiment.
In addition, to this embodiment, the straight line extractable proof method of discrete logarithms can also be applied to the second or third embodiment.
<Example 2>
This embodiment is an example of applying the validator-specified authentication method to the verification apparatus DVSSBN0 and the verification apparatus DVSVBN0 according to the first embodiment.
The verification device DVSSBN0 receives data by the reception device DVSRBN0 and transmits the data from the communication device DVSCBN0. The verification device DVSVBN0 receives data using the reception device DVSRBN1. As a communication path used for data communication, a LAN, the Internet, etc. are used, for example.
The verification device DVSSBN0 is configured with input means DVSSB1, key validity proof text verification means DVSSB2, verification means DVSSB3, and a storage unit DVSSB0. Data input from the input means DVSSB0 of the verification device DVSSBN0 is stored in the storage unit DVSSB0.
The verification device DVSVBN0 has output means DVSVB1, key validity proof statement creation means DVSSB2, verification means DVSVB3, and a storage unit DVSVB0, and is configured. Data input from the communication means DVSCBN0 is stored in the storage unit DVSVB0.
The key validity proof statement creation means DVSSB2 reads necessary data from the storage unit DVSSB0, and stores the calculation result in the storage unit DVSSB0.
Similarly, the verification means DVSSB3 reads necessary data from the storage unit DVSSB0, and stores the calculation result in the storage unit DVSSB0.
The key validity proof statement creation means DVSVB2 reads necessary data from the storage unit DVSVB0, and stores the calculation result in the storage unit DVSVB0.
Similarly, the verification means DVSVB3 reads necessary data from the storage unit DVSVB0, and stores the calculation result in the storage unit DVSVB0.
The output means DVSVB1 reads necessary data from the storage unit DVSSB0 and outputs the data.
An instance for proving the corresponding secret is previously shared between the attestation device DVSSBN0 and the verification device DVSVBN0. For example, there is a method in which the secret to prove is transmitted/received through a communication path using a transmission/reception device, and hard-coded when creating the verification device DVSSBN0 and the verification device DVSVBN0.
In addition, it is assumed that the verification device DVSSBN0 maintains the secret to be verified in advance. For example, there is a method of sending through a communication path using a transmission/reception device, or a method of hard-coding the authentication device DVSSBN0 when creating it.
Next, a method for generating a key in the verification device DVSVB0 will be described. Randomly take x(Z/qZ)^*, and let h=g^x. The public and private keys are (g, h, q) and x, respectively. A storage unit DVSVB0 of the verification device DVSVBN0 stores a public key (g, h, q) and a private key x. As a method of obtaining the public keys g, h, q, there are, for example, a method of storing in a public key book published on the Internet, or a method of obtaining directly from the verification device DVSVBN00. The authentication device DVSSBN0 obtains the public key as necessary and stores it in the storage unit DVSSB0. For details of the key generation method, refer to Non-Patent Document 11. A state in which the authentication device DVSSBN0 has already obtained the public key will be described below.
Hereinafter, the operation in each means of each device will be described.
The verification apparatus DVSVBN0 performs the key validity proof statement verification means DVSVB2 to create a certificate indicating that it has a private key corresponding to its public key. The key validity proof text creation means DVSVB2 for creating the proof text operates similarly to the proof device PSPBN0 (FIG. 12) in the first embodiment.
The verification device DVSVBN0 transmits to the verification device DVSSBN0 using the proof statement created through the communication device DVSCBN1. The authentication device DVSSBN0 receives the authentication statement using the communication device DVSCBN0. The proof device DVSPBN0 verifies the validity of the proof statement by the key validity proof text verification means DVSSB2. In addition, the key validity proof text verification means DVSSB2 performs the same operation as the verification device VSPBN0 (FIG. 12) in the first embodiment.
The proof apparatus DVSPBN0 proves in the proof means DVSSB3 whether it has a secret corresponding to the instance and whether it has a private key corresponding to the public key of the verifier. The verification device DVSVBN0 verifies the validity of the proof by the verification means DVSVB3.
Since the verification means DVSSB3 and the verification means DVSVB3 are the same as the verification method and verification method in Non-Patent Document 13, respectively, they are omitted. For details, refer to Non-Patent Document 13.
<Example 3>
In this embodiment, an encryption method is realized in addition to the configuration and operation in the first embodiment (see Fig. 14).
In this embodiment, it has an encryption device EVEN0 and a decryption device DVEN1 and is configured. The encryption device EVEN1 receives data using the reception device RBS0 and transmits the data using the transmission device SeBE0. Further, the decoding device DBEN0 receives data using the receiving device RBE1. For data communication, for example, a LAN, the Internet, or the like can be used, but is not limited thereto.
Next, a method for generating a key of the encryption device EBEN0 will be described. Randomly take x(Z/qZ)^*, and let h=g^x. The public and private keys are (g, h, q) and x, respectively. A public key and a private key are stored in the storage unit EEB0 of the encryption device EBEN0. In addition, the public key is stored in a place where the decryption device DBEN0 can obtain it in some form. As a method of obtaining, there are, for example, a method of storing in a public key book published on the Internet, and a method of obtaining directly from the encryption device EBEN0. The decryption device DBEN0 obtains the public key as necessary and stores it in the storage unit DBE0. For details of the key generation method, refer to Non-Patent Document 11. The following describes the operation from the state in which the decryption device DVEN0 has already obtained the public key.
In the encryption device EBEN0, processing is executed in the order of the input means EBE1, the encryption means EBE2, and the verification means EBE3.
When the input means EBE1 receives the message mG to be encrypted, the message mG is stored in the storage unit EBE0.
In the encryption means EBE2, the ElGamal ciphertext of the message mG is created. Specifically, the encryption means EBE2 reads necessary data from the storage unit EBE0, and randomly selects yZ/qZ. Then, I=g^{y} and J=mh^{y} are calculated and generated as ciphertexts (I, J). The calculated cipher texts (I, J) are stored in the storage unit EBE0.
The proof means EBE3 first reads the necessary data from the storage unit EBE0, and uses the same method as the proof device PSPBN0 (shown in Fig. 12) of the embodiment 1 for the proof statement P by the discrete logarithmic problem of I based on g. write with Finally, it is stored in the storage unit EBE as cipher texts (I, J, P).
Upon receiving the cipher text (I, J, P), the reception device RBE1 stores the cipher text (I, J, P) in the storage unit DBE0. Then, the verification means DBE1, the decryption means DBE3, and the output means DBE4 execute the processing in this order.
The verification means DBE1 first reads the necessary data from the storage unit DBE, verifies the cipher text P in the same manner as the verification device VSPBN0 of the first embodiment (shown in Fig. 12), and if it is determined that the cipher text P is correct, b= 1, otherwise, b = 0. Finally, the determination result is stored in the storage unit DBE.
The decryption device DBEN0 reads b from the storage unit DBE0, outputs data indicating that "the cipher text is invalid" if b = 0, and starts processing in the decryption means DBE3 if b = 1.
The decryption means DBE3 decrypts the ElGamal ciphertext by a normal decryption operation. Specifically, first, necessary data is read from the storage unit DBE0, and m'=J/I^y is calculated. Then, the calculation result is stored in the storage unit DBE0.
The output means DBE4 reads m' from the storage unit DBE0 and outputs m'.
15 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| KR101991775B1 | Cited by | Republic of Korea | Search report |
13 members in 7 offices
Members13
| Document | Office | Kind | |
|---|---|---|---|
| AU2005325353A1 | Australia | A1 | |
| WO2006077701A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP1843510A1 | European Patent Office (EPO) | A1 | |
| KR20070103467AThis record | Republic of Korea | A | |
| CN101156349A | China | A | |
| JPWO2006077701A1 | Japan | A1 | |
| US2008301449A1 | United States of America | A1 | |
| EP1843510A4 | European Patent Office (EPO) | A4 | |
| US8028171B2 | United States of America | B2 | |
| JP4830860B2 | Japan | B2 | |
| KR101099867B1 | Republic of Korea | B1 | |
| CN101156349B | China | B | |
| EP1843510B1 | European Patent Office (EPO) | B1 |
16 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapse due to unpaid annual feeLapsedLAPS | LAPS | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Written decision to grantGRNT | GRNT | |
| Decision to grant (after opposition)OppositionGRNO | GRNO | |
| Examination by remand of revocationS901 | S901 | |
| Trial decisionTRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090817J301 | J301 | |
| Trial decisionTRIAL NUMBER: 2009101007593; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090817J301 | J301 | |
| Maintenance of original decision after re-examination before a trialB601 | B601 | |
| AmendmentAMND | AMND | |
| AmendmentAMND | AMND | |
| Request for trial against refusal decisionJ201 | J201 | |
| Decision to refuse applicationE601 | E601 | |
| AmendmentAMND | AMND | |
| Notification of reason for refusalE902 | E902 | |
| Request for examinationA201 | A201 |
Numbers
- Publication
- 10-2007-0103467
- Application
- 107019082
Titles2
- Korean
- 서명 장치, 검증 장치, 증명 장치, 암호화 장치, 및 복호화장치
- English
- Signature device, verification device, attestation device, encryption device, and decryption device
Classification
- CPC, 4
- H04L9/3013
- G09C1/00
- H04L9/3218
- H04L9/3247
- IPC, 1
- G09C1 00