摘要:
The present invention relates to a method method for optimizing the execution of the generation of a Crystals-Dilithium post-quantum digital signature σ = (c̃, z, h) of a message M with a secret key sk = (ρ, K, tr, s1, s2, t0) where ρ, K, tr are 256 bits binary values, s1 and s2 are vectors of length l, respectively k, of elements of the ring Rq whose coefficients are lower than a first predetermined value η, and t0 is a polynomial vector of length k with k, l, n and q integers, said Crystals-Dilithium post-quantum digital signature generation comprising : a) generating (S1) a masking vector y, of length l, of polynomials with coefficients less than a second predetermined value γ1, b) computing (S2) a first vector of polynomials, of length k, w = Ay, where A is a k × l matrix each of whose entries is a polynomial in the ring Rq = Zq[X]/(Xn + 1), c) determining (S3) a second vector of polynomials w1 and a third vector of polynomials w0, both of length k, where every polynomial coefficient wi in Ay, with i in 0, ..., k-1, is written as wi = w1i · 2γ2 + w0i where |w0i| ≤ γ2 with γ2 a third predetermined value, d) generating (S4) a challenge c based on the message and the second vector of polynomials w1, e) performing rejection tests (S5) comprising testing if test vectors generated from said vectors, said challenge and said secret key fulfill predetermined conditions, and when said conditions are not fulfilled, restarting the signature generation from step a), else generating said signature, the steps a), b), c), d), and e) being repeated until the conditions are satisfied, wherein performing rejection tests (S5) comprises : - following said determination of said third vector of polynomials w0, generating a first test vector r0 as w0-cs2, and checking whether said first test vector r0 fulfills a first condition, - when said first condition is met, generating a second test vector z= y + cs1, and checking whether said second test vector z fulfills a second condition, and wherein, when said second condition is met, said signature is generated from said second test vector.
摘要:
The present disclosure relates to a system and method for manipulating encrypted data. In particular, the present disclosure relates to improvements homomorphic encryption. Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. As such, computations can be performed on data that has been homomorphically encrypted without access to the secret key. The output from a computation performed on homomorphically encrypted data will be homomorphically encrypted data. This output can be left in an encrypted form.
摘要:
Various embodiments relate to a fault detection system and method for a digital signature algorithm, including: producing a digital signature of a message using a digital signature algorithm; storing parameters from a last round of the digital signature algorithm; executing the last round of the digital signature algorithm using the stored parameters to produce a check signature; comparing the digital signature to the check signature; and outputting the digital signature when the digital signature is the same as the check signature.
摘要:
A key device cannot calculate a common key and a client can confirm that processing has been performed correctly by a correct key device. A random number generating unit 12 generates random numbers s 1 , s 2 , s' 1 , and s' 2 . A public keys randomizing unit 13 generates first randomized public keys information obtained by randomizing public keys by using the random number s 1 and second randomized public keys information obtained by randomizing the public keys by using the random number s 2 . A proxy calculation unit 21 calculates a first commission result by using a secret key and calculates a second commission result by using the secret key. A verification unit 14 calculates a first verification value by using the random number s 2 , calculates a second verification value by using the random number s 1 , and verifies whether or not the first verification value and the second verification value coincide with each other. A common key calculation unit 15 calculates a common key by using the random numbers s' 1 and s' 2 if the first verification value and the second verification value coincide with each other.
摘要:
Disclosed is a hypersphere-based multivariable public key encryption/decryption system, which is composed of an encryption module and a decryption module, wherein the encryption module comprises a processor, and a public key transformation component for transforming plaintext into ciphertext; and the decryption module comprises a processor, a first affine transformation inversion component, a trapdoor component and a second affine transformation inversion component, wherein the trapdoor component comprises a linear equation system construction component and a linear equation system solving component. All components execute corresponding operations, so that a set of data is obtained finally, and the set of data is stored and output as decrypted plaintext; and if the decryption module does not produce data, the processor outputs warning information about a decryption failure to a user. In the system and method of the present invention, the large domain technique is not used. The designed centralizing mapping contains N sets of "centre of sphere" as private keys to realize centralizing hiding. Meanwhile, the running speed is very fast, and only linear equation system solving is required to be conducted in the decryption process.