SYSTEM AND METHOD FOR AN ELECTRONIC SIGNATURE FOR QUICK AND EFFICIENT DATA AUTHENTICATION
First Claim
1. A method for generating an electronic signature to authenticate data, the method comprising the steps of:
- generating, by a private key generation subunit, a private key comprised of uniformly random chosen values;
creating, by a public key generation unit, a public key using a last value in a hash chain formed from using a first secure hash function H;
{0,1}q→
{0,1} with security parameter q and the private key values as starting points, wherein the hash chain has l blocks each of a size b, and the hash chain has a length of bl+1 blocks;
encoding, by a signing unit, a message m, wherein the encoding includes the steps of;
selecting, by a chain selection unit, a distinct set of hash chains using a second secure hash value of the message m and a counter c, wherein the second secure hash function is denoted by H{1, . . . , n}λ
,distinct, wherein λ
is the number of chains in the set;
selecting, by an offset selection unit, a block offset for each selected hash chain by adding the selected chains, the message m, and the counter c in a third hash function denoted by H{1, . . . b}λ
-1 (m, c, c1, . . . , cλ
);
creating the electronic signature sc1,uc1,p1, . . . , scλ
,ucλ
,pλ
of the message m, by a signature generator, wherein {c1, . . . , cλ
} represents the selected chains, {p1, . . . , pλ
} represents the block offsets and {uc1, . . . , ucλ
} represents indices of the blocks.
0 Assignments
0 Petitions
Accused Products
Abstract
System and method for generating an electronic signature to authenticate data includes generating a private and a public key using the last value in a hash chain formed from the private key as a starting point, signing a message m, using a distinct set of hash chains using a second secure hash value of the message m and a counter c, selecting a block offset using the hash value of the selected chains, the message m, and the counter c, generating the signature from the selected seals and the counter. The electronic signature validity is verified by synchronizing a verification unit with a source of a signed message, computing expected chains by hashing the signed message m and a counter c with a first hash function, computing a set of expected block offsets by hashing the signed message m, counter c, and computed chains with a second hash function.
84 Citations
12 Claims
-
1. A method for generating an electronic signature to authenticate data, the method comprising the steps of:
-
generating, by a private key generation subunit, a private key comprised of uniformly random chosen values; creating, by a public key generation unit, a public key using a last value in a hash chain formed from using a first secure hash function H;
{0,1}q→
{0,1} with security parameter q and the private key values as starting points, wherein the hash chain has l blocks each of a size b, and the hash chain has a length of bl+1 blocks;encoding, by a signing unit, a message m, wherein the encoding includes the steps of; selecting, by a chain selection unit, a distinct set of hash chains using a second secure hash value of the message m and a counter c, wherein the second secure hash function is denoted by H{1, . . . , n}λ
,distinct, wherein λ
is the number of chains in the set;selecting, by an offset selection unit, a block offset for each selected hash chain by adding the selected chains, the message m, and the counter c in a third hash function denoted by H{1, . . . b}λ
-1 (m, c, c1, . . . , cλ
);creating the electronic signature sc1,uc1,p1, . . . , scλ
,ucλ
,pλ
of the message m, by a signature generator, wherein {c1, . . . , cλ
} represents the selected chains, {p1, . . . , pλ
} represents the block offsets and {uc1, . . . , ucλ
} represents indices of the blocks. - View Dependent Claims (2, 3)
-
-
4. A method for verifying a validity of an electronic signature, the method comprising the steps of:
-
weakly synchronizing a verification unit with a source of a signed message by receiving a seal in the electronic signature from the source or a trusted third party; computing, by a verifying unit, a set of expected chains by hashing the signed message m and a counter c with a first hash function denoted H{1, . . . , n}λ
distinct (m, c);computing, by a verifying unit, a set of expected block offsets by hashing the signed message m, the counter c, and the computed chains {c1, . . . cλ
} with a second hash function denoted H{1, . . . b}λ
-1 (m, c, c1, . . . , cλ
);determining the validity of the electronic signature. - View Dependent Claims (5, 6)
-
-
7. A system for generating an electronic signature to authenticate data, the system comprising:
-
a private key generation subunit configured to generate a private key comprised of uniformly random chosen values; a public key generation unit configured to generate a public key using a last value in a hash chain formed from using a first secure hash function H;
{0,1}q→
{0,1} with security parameter q and the private key value as starting points, wherein the hash chain has l blocks each of a size b, and the hash chain has a length of bl+1 blocks;a signing unit configured to encode a message m, wherein the signing unit includes; a chain selection unit configured to select a distinct set of hash chains using a second secure hash value of the message m and a counter c, wherein the second secure hash function is denoted by H{1, . . . , n}λ
,distinct, wherein λ
is the number of chains in the set;an offset selection unit configured to select a block offset for each selected hash chain by adding the selected chains, the message m, and the counter c in a third hash function denoted by H{1, . . . , b}λ
-1 (m, c, c1, . . . , cλ
); anda signature generator configured to create an electronic signature sc1,uc1,p1, . . . , scλ
,ucλ
,pλ
of the message m, wherein {c1, . . . , cλ
} represents the selected chains, {p1, . . . , pλ
} represents the block offsets and {uc1, . . . , ucλ
} represents indices of the blocks. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification