Digital message signature and encryption
OwnerWenbo Mao, John Malone-Leeinventors
Life of this patent
Estimating the term…
Abstract
Signcryption methods and apparatus are provided that combine the functions of signing and encrypting data to obtain private and authenticated communications. The signcryption methods are based on RSA and permit compact ciphertexts to be produced and non-repudiation to be provided in a straightforward manner.
Claims26
A method by which a first computing entity having an RSA key pair (NA,eA), (NA,dA) digitally signs and encrypts a message data string, m, for decryption by a second computing entity having an RSA key pair (NB,eB), (NB,dB), where |NA|=|NB|=k and mε{0,1}n, and k=n+k0+k1 for integers k0 and k1, the method comprising:
- a) selecting an integer rε{0,1}k0,
- b) computing:
- w←H(C1(at least m and r))
- where H:
- {0,1}n+k0→{0,1}k1, and C1( ) is a deterministic combination function,
- c) computing:
- s←Enc(w, C2(at least m and r))
- where Enc( ) is a symmetric-key encryption function using w as key, and C2( ) is a reversible combination function;
- steps a) to c) being repeated as necessary to obtain s∥ω≦NA;
- and then
- d) signing by computing:
- c′←(C3(at least s and w))dA mod NA
- where C3( ) is a reversible combination function;
- and
- e) if c′≦NB, encrypting c′ by computing:
- c=c′eB mod NB.
A method by which a second computing entity having an RSA key pair (NB, eB), (NB, dB), decrypts and authenticates a ciphertext c that is purportedly a signed and encrypted form produced by a first computing entity of a message data string m, the first computing entity having an RSA key pair (NA,eA), (NA,dA) where |NA|=|NB|=k and mε{0,1}n, and k=n+k0+k1 for integers k0 and k1;
- the second computing entity on receiving c:
- (a) computes:
- c′←cdB mod NB
- and proceeds to the next step provided that c′≦NA;
- (b) computes:
- c′eA mod NA
- with at least quantities s and w being recovered from the result;
- (c) computes:
- Dec(w,s)
- where Dec( ) is a symmetric-key decryption function complimenting Enc( ), with at least quantities m and r being recovered from the result;
- (d) checks that the message m is from the first computing entity by checking that:
- w=H(C1(at least m and r))
- where H:
- {0,1}n+k0→{0,1}k1 and C1( ) is a deterministic combination function.
A method by which a first computing entity having an RSA key pair (NA,eA), (NA,dA) digitally signs and encrypts a message data string, m, for decryption by a second computing entity having an RSA key pair (NB, eB), (NB, dB), where |NA|=|NB|=k and mε{0,1}n, and k=n+k0+k1 for integers k0 and k1 even, the method comprising:
- a) selecting an integer rε{0,1}k0,
- b) forming the hash ω=H(m∥r) where H:
- {0,1}n+k0→{0,1}k1, and
- c) forming the hash s=G(ω)⊕(m∥r) where G:
- {0,1}k1→{0,1}n+k0;
- steps a) to c) being repeated as necessary to obtain s∥ω≦NA;
- and then
- d) signing by forming c′=(s∥ω)dA mod NA;
- and, if c′>NB,
- removing the most significant bit of c′ to obtain a new c′;
- and then
- e) encrypting c′ by forming c=c′eB mod NB.
A method by which a first computing entity having an RSA key pair (NA,eA), (NA,dA) digitally signs and encrypts a message data string, m, for decryption by a second computing entity having an RSA key pair (NB,eB), (NB,dB) where |NA|=|NB|=k and mε{0,1}n, and k=n+k0+k1 for integers k0 and k1 even;
- the method comprising:
- a) selecting an integer rε{0,1}k0,
- b) forming the hash ω=H(m∥r) where H:
- {0,1}n+k0→{0,1}k1, and
- c) forming the hash s=G(ω)⊕(m∥r) where G:
- {0,1}k1→{0,1}n+k0;
- steps a) to c) being repeated as necessary to obtain s∥ω≦NA and then
- steps a) to c) being repeated as necessary to obtain s∥ω≦NA and then
- d) signing by forming c′=(s∥ω)dA mod NA;
- steps a0 to d) being repeated as necessary to obtain c′<NB, and then
- e) encrypting c by forming c=c′eB mod NB.
Dependencies are inferred from the claim text.