Efficient proof of knowledge of arbitrarily large data which remains unexposed
First Claim
1. A method for a party regarded as a Prover sharing with another party regarded as a Verifier a secret S in a form of a bit string which is t bits long, to prove to the Verifier that the Prover is in possession of S by(i) the Prover applying a shared string-parceling algorithm, PARCEL, which will parcel string S to n≤
- t sub strings s1, s2, . . . sn such that these n substrings concatenate to S;
S=s1∥
s2∥
. . . ∥
sn, then(ii) the Prover applying a source of randomness to transpose the n substrings into a different permutation, where si is placed in position j, and marked sij, for i,j=1,2, . . . n, then(iii) the Prover reassembling the n substrings according to the selected permutation, to create string S* comprised oft bits;
S*=si1∥
sk2∥
. . . ∥
sln, where i,k,l are integers from the set 1,2, . . . n, then(iv) the Prover communicating S* to the Verifier;
(v) the Verifier applies PARCEL to S and generates the same n substrings s1, s2, . . . sn, then(vi) the Verifier performs, a re-arranging permutation, PUZZLE test, checking that these n substrings, (s1, s2, . . . sn) can be re-arranged in a different permutation such that when these strings are concatenated according to the new permutation, they form string S*;
the test is regarded ‘
successful’
if such a permutation is found, and is regarded ‘
failure’
if no such permutation is found;
then(vii) if the PUZZLE test is successful, the Verifier accepts the Prover, as the party which shares the possession of secret S, and when the PUZZLE test fails the Verifier rejects the Prover as possessing S.
0 Assignments
0 Petitions
Accused Products
Abstract
This invention establishes means and protocols to secure data, and practice online authentication, using large undisclosed amounts of randomness, replacing the algorithmic complexity paradigm. Computation is limited to basic primitives like transposition, and bit-flipping. Security is credibly appraised through combinatorics calculus, and this transfers the security responsibility to the user who determines how much randomness to use.
-
Citations
5 Claims
-
1. A method for a party regarded as a Prover sharing with another party regarded as a Verifier a secret S in a form of a bit string which is t bits long, to prove to the Verifier that the Prover is in possession of S by
(i) the Prover applying a shared string-parceling algorithm, PARCEL, which will parcel string S to n≤ - t sub strings s1, s2, . . . sn such that these n substrings concatenate to S;
S=s1∥
s2∥
. . . ∥
sn, then(ii) the Prover applying a source of randomness to transpose the n substrings into a different permutation, where si is placed in position j, and marked sij, for i,j=1,2, . . . n, then (iii) the Prover reassembling the n substrings according to the selected permutation, to create string S* comprised oft bits;
S*=si1∥
sk2∥
. . . ∥
sln, where i,k,l are integers from the set 1,2, . . . n, then(iv) the Prover communicating S* to the Verifier; (v) the Verifier applies PARCEL to S and generates the same n substrings s1, s2, . . . sn, then (vi) the Verifier performs, a re-arranging permutation, PUZZLE test, checking that these n substrings, (s1, s2, . . . sn) can be re-arranged in a different permutation such that when these strings are concatenated according to the new permutation, they form string S*;
the test is regarded ‘
successful’
if such a permutation is found, and is regarded ‘
failure’
if no such permutation is found;
then(vii) if the PUZZLE test is successful, the Verifier accepts the Prover, as the party which shares the possession of secret S, and when the PUZZLE test fails the Verifier rejects the Prover as possessing S. - View Dependent Claims (2, 3, 4, 5)
- t sub strings s1, s2, . . . sn such that these n substrings concatenate to S;
Specification