CN113541952A - Digital signature method based on lattice - Google Patents

Digital signature method based on lattice Download PDF

Info

Publication number
CN113541952A
CN113541952A CN202010304930.1A CN202010304930A CN113541952A CN 113541952 A CN113541952 A CN 113541952A CN 202010304930 A CN202010304930 A CN 202010304930A CN 113541952 A CN113541952 A CN 113541952A
Authority
CN
China
Prior art keywords
function
signer
input
mod
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010304930.1A
Other languages
Chinese (zh)
Other versions
CN113541952B (en
Inventor
赵运磊
黄兴忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Shanghai Humin Blockchain Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Humin Blockchain Technology Co ltd filed Critical Shanghai Humin Blockchain Technology Co ltd
Priority to CN202010304930.1A priority Critical patent/CN113541952B/en
Publication of CN113541952A publication Critical patent/CN113541952A/en
Application granted granted Critical
Publication of CN113541952B publication Critical patent/CN113541952B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Complex Calculations (AREA)

Abstract

A digital signature method based on lattice. The private key of the signer is sk ═ p, K, tr, s, e, t0) The public key is pk ═ p, t1) The information to be encrypted is M e to {0,1}*(ii) a For M e {0,1}*The signer calculates a legal signature σ of M as (z, h, c) by using the private key sk of the signer; the verifier holds the public key pk of the signer as (ρ, t)1) For a given message signature pair (M, σ), and outputs a message signature pair that is 1 if and only if the verifier accepts (M, σ) as legitimate. The method specifically selects parameters through programming design, deep mathematical analysis and a large number of program tests to obtain the optimal balance between efficiency and safety on the premise of meeting the correctness of the digital signature mechanism.

Description

Digital signature method based on lattice
Technical Field
The invention relates to a cryptographic technology, in particular to a grid-based digital signature method.
Background
IBM engineers predict that quantum computers will be used on a large scale in the next twenty years. Once quantum computers are manufactured on a large scale, most public key cryptosystems based on discrete logarithm, elliptic curve discrete logarithm or large integer factorization will be broken. Therefore, no matter whether the arrival time of the quantum computing era can be accurately predicted or not, the current information security system needs to be improved to the quantum resistant level.
Lattice ciphers are one of the major mathematical methods currently used against quantum attacks. In cryptography, the lwe (learning With error) problem and the sis (short Integer solution) problem have proven to be more fully functional than other classical lattice difficulties (e.g., SVP and CVP).
Wherein each string or value α represents a binary value, α | β represents two binary strings α, β ∈ {0,1}*A linking operation between; for any real number x, the number x,
Figure BDA0002455400760000011
represents the largest integer less than or equal to x,
Figure BDA0002455400760000012
represents the smallest integer greater than or equal to x,
Figure BDA0002455400760000013
when α is a positive even number, r' r mod is defined for any integer r±Alpha is a unique integer r ' satisfying-alpha/2 < r ' ≦ alpha/2, r ' ≡ r (mod alpha); when α is a positive even number, r' is defined as rmod for any integer r±α is a unique integer r ' satisfying- α/2. ltoreq. r '. ltoreq.α/2, r ' ≡ r (mod α); when α is a positive integer, r' r mod is defined for any integer r+Alpha is a unique positive integer r 'satisfying 0 ≦ r' ≦ alpha-1, r ≡ r (mod alpha); when the representation of the remainder r' is unimportant, it is simply written as r mod α.
If S is a finite set, then | S | represents its cardinality, and x ← S represents uniform random fetching of an element from S; the symbol u (S) represents a uniform distribution over a finite set S; x ← D, if D represents a probability distribution, representing the selection of an element according to D and assignment to x; if α is neither an algorithm nor a set, then x ← α represents a simple assignment operation, or is written as x: ═ α; if A is a probabilistic algorithm, then A (x)1,x2,..; r) denotes the sum of x1,x2,., as input, r is the operation result of A when random seed; we use y ← A (x)1,x2,..; r) denotes randomly chosen r and let y be A (x)1,x2,..; r) experimental results; by Pr [ R ]1;...;Rn:E]Representing events E in a sequential series of random processes R1,...,RnThe probability of later occurrence; if it is notFor any c > 0, for all λ > λcAll have a lambdacSo that f (lambda) < 1/lambdacThen the function f (λ) is negligible; definition ring
Figure BDA0002455400760000021
Wherein the content of the first and second substances,
Figure BDA0002455400760000022
is the mth cyclotomic polynomial; rqThe element in (1) is an n-dimensional polynomial of the form a0+a1x1+a2x2+…+an- 1xn-1Wherein n is a positive integer; the positive integers k and l are the dimensions of the matrix samples,
Figure BDA0002455400760000023
a matrix of dimension k × l, each element being a ring RqAn n-dimensional polynomial of (a); for an input that is a function of a vector, the operation is to process the computation separately for each dimension of the vector.
For elements
Figure BDA0002455400760000024
Definition | w |Is | wmod±q |; for the element w ═ w0+w1x+…+wn-1xn-1∈RqOr vector
Figure BDA0002455400760000025
Definition of
Figure BDA0002455400760000026
For w ═ w1,w2,…,wk)∈RkDefinition of
Figure BDA0002455400760000027
Definition set SηAll satisfy w ∈ R, | | | w | | | non-woven phosphorSet of elements not more than eta, Sη={w∈R∣‖w‖Eta is less than or equal to; definition set B60Is composed of
Figure BDA0002455400760000028
For binary vector h ═ h (h)i) Define the Hamming distance as | h |1=∑hi
For RqEach element a e R in (1)qThe NTT is expressed in the form of a result obtained by carrying out forward NTT transformation on a; for example, when the prime number q satisfies q ≡ 1(mod2n), let r be the multiplication cycle group
Figure BDA00024554007600000223
An element of 2n order; for any one
Figure BDA00024554007600000224
Let vector quantity
Figure BDA00024554007600000225
NTT representation of a. For input RqFunction of up-vector whose NTT operation is for each RqThe polynomials of (a) are separately subjected to NTT operation.
For positive continuous numbers σ > 0 and x ∈ R, a Gaussian function is defined
Figure BDA0002455400760000029
Order to
Figure BDA00024554007600000210
To represent
Figure BDA00024554007600000211
One-dimensional discrete Gaussian distribution of (a) by a probability density function
Figure BDA00024554007600000212
And (6) determining. Order to
Figure BDA00024554007600000213
Is shown in
Figure BDA00024554007600000214
N-dimensional spherical discrete gaussian distribution in which each coordinate is independent of
Figure BDA00024554007600000215
Given positive integers n and q, which are parameters in a polynomial in a security parameter λ, and given integer vectors
Figure BDA00024554007600000216
And one is defined in
Figure BDA00024554007600000217
Upper probability distribution χ, random uniform selection
Figure BDA00024554007600000218
Noise e ← χ, order Aq,x,χIs that
Figure BDA00024554007600000219
Is distributed and output
Figure BDA00024554007600000220
The noise distribution χ is generally considered to be a discrete gaussian probability distribution
Figure BDA00024554007600000221
But other distributions may be used.
In decision-based LWE assumptions, for a sufficiently large security parameter λ, the probabilistic polynomial time algorithm cannot distinguish A with a non-negligible probabilityq,s,χAnd
Figure BDA00024554007600000222
are uniformly distributed. Even if the adversary sees a polynomial multiple of the samples, and the secret vector x is from χnThis is also true for random choices.
The MLWE problem is a variant of the LWE problem. Sample formats from MLWE distributions are
Figure BDA0002455400760000031
From the ringRandom selection
Figure BDA0002455400760000032
Calculating to obtain t ═ As + e, wherein
Figure BDA0002455400760000033
Figure BDA0002455400760000034
Figure BDA0002455400760000035
And
Figure BDA0002455400760000036
respectively two probability distributions, and the distribution parameter is recorded as eta1And η2The distributions may be the same or different, by default
Figure BDA0002455400760000037
Is a set
Figure BDA0002455400760000038
The distribution of the components is uniform, and the components are uniformly distributed,
Figure BDA0002455400760000039
is a set
Figure BDA00024554007600000310
Are uniformly distributed. The MLWE problem is recovering (s, e) from the polynomial samples from the MLWE distribution.
In particular, for adversary A, define
Figure BDA00024554007600000311
If the dominance of algorithm A without the maximum running time t is greater than ε, we call
Figure BDA00024554007600000312
The difficulty assumption holds.
The following Euclidean norm can also be defined on the standard lattice
Figure BDA00024554007600000313
And infinite norm
Figure BDA00024554007600000314
The problem is that m and n are positive integers, q is a modulus, and beta is a threshold parameter. Given the parameters (q, m, n, β) determined
Figure BDA00024554007600000315
Requiring finding a non-zero vector
Figure BDA00024554007600000316
Satisfies Ax ≡ 0(mod q), | x |2≤β,
Figure BDA00024554007600000317
Requiring finding a non-zero vector
Figure BDA00024554007600000318
Satisfies Ax ≡ 0(mod q), | x |≤β。
Similarly, the MSIS problem under the euclidean norm and the infinite norm can be defined, and the parameters are (q, k, l, β), where m, n are positive integers, q is a modulus, and β is a threshold parameter; in the determination of the parameters (q, k, l, β), the parameters (q, k, l, β) are specified
Figure BDA00024554007600000319
Requiring finding a non-zero vector
Figure BDA00024554007600000320
Satisfies Ax ≡ 0(modq), | x |2≤β,
Figure BDA00024554007600000321
Requiring finding a non-zero vector
Figure BDA00024554007600000322
Satisfies Ax ≡ 0 (x ≡ 0)modq),‖x‖Beta is less than or equal to beta. For any adversary A, define
Figure BDA00024554007600000323
If the dominance of algorithm A without the maximum running time t is greater than ε, we call
Figure BDA00024554007600000324
The difficulty assumption holds.
Based on the difficulties of the MLWE problem and the MSIS problem (under infinite norm), a lattice-based digital signature mechanism can be constructed. A digital signature mechanism may be given by an algorithmically constructed triplet (Gen, Sign, Verify), for any arbitrary signature
Figure BDA00024554007600000325
Is provided with
1) Gen: the key generation algorithm is a probability polynomial time algorithm, input 1λAnd outputs a pair of strings (pk, sk), (pk, sk) called public key and private key, respectively, which process can be written as (pk, sk) ← Gen (1)λ);
2) Sign: the signature algorithm is a probabilistic polynomial time algorithm, for any information M to be signed, belonging to {0,1}, the algorithm uses a private key sk as a parameter to calculate and obtain a signature sigma corresponding to M, and the process is marked as sigma ← Signsk(M);
3) Verify: the verification algorithm is a deterministic polynomial time algorithm which uses the public key pk as a parameter and returns b e {0,1} for any information/signature pair (M, sigma). The process is marked as b: ═ Verifypk(M,σ)。
If to any
Figure BDA0002455400760000045
Each pair is composed of Gen (1)λ) The generated public key/private key pair (pk, sk) is, for any information M to be signed, e {0,1}, and for any σ ← SignskIf (M) has Verify (M, σ) of 1, the digital signature mechanism is said to be correct.
One DKC (diagnostic key consensus) method DKC ═ consists of the following three parts:
params ═ q, κ, g, δ, aux represents a system parameter, where the positive integers q, κ, g, δ satisfy 2 ≦ κ, g ≦ q,0 ≦ δ ≦ q/2, aux represents a set of other values determined by (q, κ, g, δ), and is null by default;
·(k1,v)←Con(σ1params), where Con (-) is a deterministic polynomial time function with the input being (
Figure BDA0002455400760000041
params), output (k)1V) wherein
Figure BDA0002455400760000042
·k2←Rec(σ2V, params), where Rec (. cndot.) is a deterministic polynomial time function at the input of (σ)2V, params), output
Figure BDA0002455400760000043
When params can be determined from context, params can be represented by default for ease of description.
The DKC methods used all meet the correctness requirements, i.e., for any
Figure BDA0002455400760000044
When | σ12When delta is less than or equal to delta, k must be present1=k2(ii) a A most preferred embodiment of the DKC process, DKCN ═ is (params, Con, Rec), when κ ≧ 2, g ≧ 2, and 2 κ δ < q, as shown in FIG. 1.
On the basis of the optimal example DKCN, four functions can be defined
HighBitsq,κ(),LowBitsq,κ(),MakeHintq,κ(),UseHintq,κ() And the method is used for ensuring the correctness of the signature method. The four functions are defined as shown in figure 2.
Disclosure of Invention
A first aspect of the present invention provides a lattice-based digital signature method in which each string or value α represents a binary value, α | β represents two binary strings α, β ∈ {0,1}*A linking operation between; for any real number x, the number x,
Figure BDA0002455400760000051
represents the largest integer less than or equal to x,
Figure BDA0002455400760000052
represents the smallest integer greater than or equal to x,
Figure BDA0002455400760000053
when α is a positive even number, r' is defined as rmod for any integer r±Alpha is a unique integer r ' satisfying-alpha/2 < r ' ≦ alpha/2, r ' ≡ r (mod alpha); when α is a positive even number, r' is defined as rmod for any integer r±α is a unique integer r ' satisfying- α/2. ltoreq. r '. ltoreq.α/2, r ' ≡ r (mod α); when α is a positive integer, r' is defined as rmod for any integer r+Alpha is a unique positive integer r 'satisfying 0 ≦ r' ≦ alpha-1, r ≡ r (mod alpha); when the concrete expression form of the same remainder r' is unimportant, the residue is simply written as rmod alpha;
if S is a finite set, then | S | represents its cardinality, and x ← S represents uniform random fetching of an element from S; the symbol u (S) represents a uniform distribution over a finite set S; x ← D, if D represents a probability distribution, representing the selection of an element according to D and assignment to x; if α is neither an algorithm nor a set, then x ← α represents a simple assignment operation, or is written as x: ═ α; if A is a probabilistic algorithm, then A (x)1,x2,..; r) denotes the sum of x1,x2,., as input, r is the operation result of A when random seed; we use y ← A (x)1,x2,..; r) denotes randomly chosen r and let y be A (x)1,x2,..; r) experimental results; by Pr [ R ]1;…;Rn:E]Representing events E in a sequential series of random processes R1,...,RnThe probability of later occurrence; if > 0 for any c, λ > λ for all λcAll have a lambdacSo that f (lambda) < 1/lambdacThen the function f (λ) is negligible; definition ring
Figure BDA0002455400760000054
Wherein the content of the first and second substances,
Figure BDA0002455400760000055
is the mth cyclotomic polynomial; rqThe element in (1) is an n-dimensional polynomial of the form a0+a1x1+a2x2+…+an- 1xn-1Wherein n is a positive integer; the positive integers k and l are the dimensions of the matrix samples,
Figure BDA0002455400760000056
a matrix of dimension k × l, each element being a ring RqAn n-dimensional polynomial of (a); for the input which is a function of the vector, the operation is to process calculation for each dimension of the vector;
for elements
Figure BDA0002455400760000057
Definition | w |Is | | wmod±q | |; for the element w ═ w0+w1x+…+wn-1xn-1∈RqDefinition of
Figure BDA0002455400760000058
For w ═ w1,w2,…,wk)∈RkDefinition of
Figure BDA0002455400760000059
When the positive integer η is determined, the set S is definedηFor all the requirements of w ∈ R, | w |Set of elements not more than eta, Sη={w∈R∣‖w‖Eta is less than or equal to; for any positive integer h, define set BhIs composed of
Figure BDA0002455400760000061
For binary vector h ═ h (h)i) Define the Hamming distance as | h | Σ hi
The sample form in the MLWE distribution is
Figure BDA0002455400760000062
The MLWE problem is to recover the secret value (s, e) from the polynomial number of samples from the MLWE distribution; in particular, random selection from the ring
Figure BDA0002455400760000063
Calculating to obtain t ═ As + e, wherein
Figure BDA0002455400760000064
And
Figure BDA0002455400760000065
respectively two probability distributions, and the distribution parameter is recorded as eta1And η2The distributions may be the same or different, by default
Figure BDA0002455400760000066
Is a set
Figure BDA0002455400760000067
The distribution of the components is uniform, and the components are uniformly distributed,
Figure BDA0002455400760000068
is a set
Figure BDA0002455400760000069
Uniform distribution of the components; for adversary A, define
Figure BDA00024554007600000610
If there is not maximum run time τ and advantageAlgorithm A, we call > ε
Figure BDA00024554007600000611
The difficulty assumption holds; where τ is a polynomial for n and ε is a negligible function for n;
one DKC (diagnostic key consensus) method DKC ═ consists of the following three parts:
params ═ q, κ, g, δ, aux represents a system parameter, where the positive integers q, κ, g, δ satisfy 2 ≦ κ, g ≦ q,0 ≦ δ ≦ q/2, aux represents a set of other values determined by (q, κ, g, δ), and is null by default;
·(k1,v)←Con(σ1params), where Con (-) is a deterministic polynomial time function with the input being
Figure BDA00024554007600000612
params), output (k)1V) wherein
Figure BDA00024554007600000613
·k2←Rec(σ2V, params), where Rec (. cndot.) is a deterministic polynomial time function at the input of (σ)2V, params), output
Figure BDA00024554007600000614
When params can be determined from context, for simplicity of description params can be represented by default,
the DKC methods used all meet the correctness requirements, i.e., for any
Figure BDA00024554007600000615
When | σ12When delta is less than or equal to delta, k must be present1=k2
The method comprises the following steps:
the system parameters required to generate the signature include (λ, n, q, κ, k, l, η)12121212,ω,d,h,L1,L2) (ii) a Wherein, positive integer lambda is a safety parameter, positive integer n is a power of 2, q is more than or equal to 2 and is a prime number satisfying q ═ 1(modn/2), positive integer kappa satisfies 2 ≦ kappa ≦ 12, and χ is12For two identical or different noise distributions, k and l being positive integers and being a polynomial of λ, d being a positive integer, a threshold parameter β1212Are all positive integers, omega is a positive integer, beta12Is a positive integer and beta1≤h·η12≤h·η2H is a positive integer, and the parameter gamma1=γ1(q,κ),γ2=γ2(q, k) is a positive integer and its value depends on q, k, the parameter L1,L2Are all positive integers, and are not limited to the integer,
and (3) generating a public and private key: the signer performs the following operations in turn:
1) the signer obtains random seeds by sampling
Figure BDA0002455400760000077
And/or
Figure BDA0002455400760000078
2) The signer obtains through random sampling
Figure BDA0002455400760000071
3) The signer will have a bit length of L1Is mapped by calling a function ExpandA () into
Figure BDA0002455400760000072
A matrix A of (A); wherein ExpandA () is a mapping function;
4) the signer computation
Figure BDA0002455400760000073
And call Power2Roundq(t, d) function to generate (t)1,t0) (ii) a Wherein t is1,
Figure BDA0002455400760000074
5) The signer calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure BDA0002455400760000075
The order of linking the inputs in the function CRH may be arbitrary, auxtrIs a set whose value can be null;
6) the signer finally outputs (pk, sk), where pk ═ is (ρ, t)1) Is the public key of the signer, sk ═ p, K, tr, s, e, t0) Or sk ═ e (ρ, tr, s, e, t)0) A private key of the signer;
the signer sends the public key information pk to the verifier;
the signature method comprises the following steps: the signer owns the private key sk ═ p, K, tr, s, e, t0) Or sk ═ e (ρ, tr, s, e, t)0) And information M to be signed belongs to {0,1}*Finally obtaining and outputting corresponding signatures (z, h, c) by sequentially carrying out the following operations; first, the signer will have a length L1Random character string of
Figure BDA0002455400760000079
Mapping into by calling function expandA ()
Figure BDA0002455400760000076
The matrix a of (1), wherein ExpandA () is a mapping function; the signer then generates by calling μ: ═ CRH (tr, M)
Figure BDA00024554007600000710
Wherein the input variable sequence of CRH () function can be arbitrarily adjusted, the output element belongs to the set
Figure BDA00024554007600000711
The signer then obtains the random seed in the signature method
Figure BDA00024554007600000712
Where ρ' is either by calling
Figure BDA00024554007600000713
Completely randomly or deterministically generated according to a calculation CRH (K, μ); finally, the signer sets ctr: ═ 0, (z, h ═ t) to complete the initialization work of the cycle body; then the signer enters a cycle until a signature meeting the requirement that (z, h) is not equal to ≠ is found; specifically, in each round of circulation, the signer works in two ways:
the first working mode is as follows:
1) the signer first generates random elements of the current round of rotation by calling y: ═ expand mask (ρ', ctr)
Figure BDA0002455400760000081
Wherein ExpandMask () function output set
Figure BDA0002455400760000082
A certain element of (1);
2) the signer computation
Figure BDA0002455400760000083
And
Figure BDA0002455400760000084
wherein the HighBitsq(r,γ1) Output of
Figure BDA0002455400760000085
Part of information of
Figure BDA0002455400760000086
The function can be defined in an extensible way
Figure BDA0002455400760000087
On each coefficient of (a);
Figure BDA0002455400760000088
can be regarded as
Figure BDA0002455400760000089
One vector element of (1);
3) the signer calls c: ═ H (w)1Mu) to obtain c e BhWherein B ishIs a subset of the number R of the groups,
Figure BDA00024554007600000810
h (-) is a function, the sequence of input variables can be random, and the character string {0,1} which is input randomly is formed*Mapped as set BhA certain element of (1);
4) the signer calculates z: ═ y + cs, where
Figure BDA00024554007600000811
5) The signer calculates (r)1,r0):=Decomposeq(w-ce,γ1) Wherein the function calls (r)1,r0):=Decomposeq(r,γ1) Will input
Figure BDA00024554007600000812
Is decomposed into
Figure BDA00024554007600000813
And
Figure BDA00024554007600000814
the function can be defined in an extensible way
Figure BDA00024554007600000815
On each coefficient of (a);
6) if | z |≥γ11Or | r0≥γ22Or r1≠w1If so, directly ending the cycle, setting ctr: (ctr + 1), and then entering the next cycle;
7) the signer calculates h: ═ MakeHintq(-ct0,w-ce+ct01) (ii) a Wherein makeHintq(z,r,γ1) Input element satisfaction of function
Figure BDA00024554007600000816
The output values belong to the set {0,1 }; the function can be defined in an extensible way
Figure BDA00024554007600000817
On each coefficient of (a); h is corresponding to {0,1}k·n
8) If | ct0‖≥γ2Or h e {0,1}k·nIf the hamming distance is larger than the parameter omega, directly ending the cycle, setting ctr: (ctr + 1), and entering the next cycle; otherwise, (z, h, c) generated in the current round is a signature meeting the requirement;
the signer takes the (z, h, c) value generated in the last round as input information M e {0,1}*To said verifier;
the second working mode is based on DKCN and has the following working principle:
1) the signer first generates random elements of the current round of rotation by calling y: ═ expand mask (ρ', ctr)
Figure BDA00024554007600000821
Wherein the input element order of the ExpandMask () function can be arbitrary, and the output element belongs to the set
Figure BDA00024554007600000818
2) The signer computation
Figure BDA00024554007600000819
And
Figure BDA00024554007600000820
wherein the HighBitsq,κ(r) output
Figure BDA0002455400760000091
Part of information of
Figure BDA0002455400760000092
The function can be defined in an extensible way
Figure BDA0002455400760000093
On each coefficient of (a);
Figure BDA0002455400760000094
can be regarded as
Figure BDA0002455400760000095
One vector element of (1);
3) the signer calls c: ═ H (w)1Mu) to obtain c e BhWherein B ishIs a subset of the number R of the groups,
Figure BDA0002455400760000096
h (-) is a function, the sequence of input variables can be random, and the character string {0,1} which is input randomly is formed*Mapped as set BhA certain element of (1);
4) the signer calculates z: ═ y + cs, where
Figure BDA0002455400760000097
5) The signer calculates (r)1,r0) Con (w-ce), in which a function call (r) is made1,r0) Con (r) will be inputted
Figure BDA0002455400760000098
Is decomposed into
Figure BDA0002455400760000099
And
Figure BDA00024554007600000910
the function can be defined in an extensible way
Figure BDA00024554007600000911
On each coefficient of (a);
6) if | z |≥γ11Or | r0≥q/2-κ·β2Or r1≠w1If so, directly ending the cycle, setting ctr: (ctr + 1), and then entering the next cycle;
7) the signer calculates h: ═ MakeHintq,κ(-ct0,w-ce+ct0) (ii) a Wherein makeHintq,κThe input elements of the (z, r) function satisfy
Figure BDA00024554007600000912
The output values belong to the set {0,1 }; the function can be defined in an extensible way
Figure BDA00024554007600000913
On each coefficient of (a); h is corresponding to {0,1}k·n
8) If | | | ct0||≥γ2Or h e {0,1}k·nIf the hamming distance is larger than the parameter omega, directly ending the cycle, setting ctr: (ctr + 1), and entering the next cycle; otherwise, (z, h, c) generated in the current round is a signature meeting the requirement;
the signer takes the (z, h, c) value generated in the last round as input information M e {0,1}*To said verifier;
the verification method comprises the following steps: the verifier receives (M, (z, h, c)) pair (where M ∈ {0,1}*,
Figure BDA00024554007600000914
h∈{0,1}k·n,c∈Bh) Then, the public key information pk is (ρ, t)1) Performing verification operation; if the signer uses the first working mode, the verifier performs the following operations:
1) the verifier will be of length L1Random character string
Figure BDA00024554007600000915
Mapping into by calling function expandA ()
Figure BDA00024554007600000916
A matrix A of (A); wherein ExpandA () is a mapping function;
2) the verifier calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure BDA00024554007600000917
The input linking sequence in the function CRH can be arbitrary, auxtrIs a set whose value can be null;
3) the verifier generates Power2Round by calling μ: ═ CRH (tr, M)q() (ii) a Wherein the CRH () input can be linked in any order, and the output element belongs to the set
Figure BDA0002455400760000101
4) The verifier calculates w'1:=UseHintq(h,Az-ct1·2d1) (ii) a Wherein UseHintq(h,r,γ1) According to
Figure BDA0002455400760000102
h e {0,1}, to generate a
Figure BDA0002455400760000103
Value of
Figure BDA0002455400760000104
The function is defined to be extensible to each component of the input vector;
Figure BDA0002455400760000105
can be regarded as
Figure BDA0002455400760000106
The vector of (1);
5) if | | z | non-calculation<γ11And c ═ H (μ, w'1) And h is e {0,1}k·nIf the hamming distance of (a) is less than or equal to the parameter ω, setting b: ═ 1 indicates acceptance of (M, (z, h, c)) pair as a correct labelA first name pair; otherwise, set b: ═ 0 indicates that the (M, (z, h, c)) pair is considered to be an incorrect information signature pair;
finally, the signer outputs b ∈ {0,1 };
if the signer uses the second working mode, the verifier performs the following operations:
1) the verifier will be of length L1Random character string
Figure BDA0002455400760000107
Mapping into by calling function expandA ()
Figure BDA0002455400760000108
A matrix A of (A); wherein ExpandA () is a mapping function;
2) the verifier calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure BDA0002455400760000109
The order of linking of the inputs in the function CRH may be arbitrary, the output element belonging to the set
Figure BDA00024554007600001010
auxtrIs a set whose value can be null;
3) the verifier generates by calling μ: ═ CRH (tr, M)
Figure BDA00024554007600001011
Wherein, the input link sequence in the function CRH can be arbitrary, and the output element belongs to the set
Figure BDA00024554007600001012
4) The verifier calculates w'1:=UseHintq,κ(h,Az-ct1·2d) (ii) a Wherein UseHintq,κ(h, r) according to
Figure BDA00024554007600001013
h e {0,1}, to generate a
Figure BDA00024554007600001014
Value of
Figure BDA00024554007600001015
The function is defined to be extensible to each component of the input vector;
Figure BDA00024554007600001016
can be regarded as
Figure BDA00024554007600001017
The vector of (1);
5) if | z |<γ11And c ═ H (μ, w'1) And h is e {0,1}k·nB ═ 1 indicates acceptance of the (M, (z, h, c)) pair as a correct information signature pair; otherwise, set b: ═ 0 indicates that the (M, (z, h, c)) pair is considered to be an incorrect information signature pair;
finally, the signer output b ∈ {0,1 }.
A second aspect of the present invention is based on the first aspect of the present invention, wherein:
ExpandA () function will be a random seed
Figure BDA00024554007600001018
Mapping to a matrix
Figure BDA00024554007600001019
NTT representation of (a); wherein, the NTT representation form of each element is the result after the element is subjected to positive NTT transformation;
CRH () is a collision-resistant hash function, where the order of the chaining of input elements can be arbitrary, which can be {0,1}*Is mapped to
Figure BDA00024554007600001110
A certain element of (1);
the ExpandMask function inputs the element {0,1}*Is mapped as
Figure BDA0002455400760000111
The element y in (3), the link order of the input elements in the function can be arbitrary;
a most preferred specific example of a DKC process can be constructed when κ ≧ 2, g ≧ 2, and 2 κ δ < q (params, Con, Rec), where:
·
Figure BDA0002455400760000112
at a given input (σ)1Params) of
Figure BDA0002455400760000113
The function Con is implemented as follows: first, v: ═ k · σ is calculated1mod±q; if k · σ1K is satisfied when-v ═ k · q is satisfied10, otherwise k is set1:=(κ·σ1-v)/q; finally, the function returns (k)1,v);
At a given input (σ)2V, params) of
Figure BDA0002455400760000114
The function Rec is implemented as follows: computing
Figure BDA0002455400760000115
Function return k2
A third aspect of the present invention is based on the second aspect of the present invention, wherein: function Power2Roundq() The function is as follows:
at a given input (r, d) is: (
Figure BDA0002455400760000116
d<log2q), function Power2Roundq() The following operations are performed: first, r: ═ rmod is calculated+q; then calculate r0:=rmod±2d(ii) a Finally, the function returns ((r-r)0)/2d,r0);
Function Decompose in the first mode of operationq(),HighBitsq(),MakeHintq(),UseHintq() The definition of (A) is as follows:
given an input (r, α)
Figure BDA0002455400760000117
Function Decomposeq() The following operations are performed: first, r: ═ rmod is calculated+q; then calculate r0:=rmod±α; if r-r0If q-1 is true, then (r) is set1,r0):=(0,r0-1), otherwise set r1:=(r-r0) A,/α; finally, return (r)1,r0);
Given an input (r, α)
Figure BDA0002455400760000118
Function HighBitsq() The following operations are performed: first calculate (r)1,r0):=Decomposeq(r, α); then returns to r1
Given input (z, r, α)
Figure BDA0002455400760000119
Function MakeHintq() The following operations are performed: first, r is calculated1:=HighBitsq(r, α); then calculate v1:=HighBitsq(r + z, α); if r is1=v1If yes, returning to 0, otherwise, returning to 1;
given an input (h, r, α) (h e {0,1},
Figure BDA0002455400760000121
) Function UseHintq() The following operations are performed: firstly, calculating m: (q-1)/alpha; then calculate (r)1,r0):=Decomposeq(r, α); if h is 0, return r1(ii) a If h is 1 and r0If > 0, return (r)1+1)mod+m; if h is 1 and r0If not more than 0 is true, return to (r)1-1)mod+m;
Function Decompose in the second mode of operationq,κ(),HighBitsq,κ(),LowBitsq,κ(),MakeHintq,κ(),UseHintq,κ() By using the optimal example DKCN, it is defined as follows:
·
Figure BDA0002455400760000122
given input r
Figure BDA0002455400760000123
Function Decomposeq,κ() The following operations are performed: first calculate (r)1,r0) Con (r); then returns (r)1,r0);
Given input r
Figure BDA0002455400760000124
Function HighBitsq,κ() The following operations are performed: (r)1,r0) Con (r); then returns to r1
Given input r
Figure BDA0002455400760000125
Function LowBitsq,κ() The following operations are performed: (r)1,r0) Con (r); then returns to r0
Given input r
Figure BDA0002455400760000126
Function MakeHintq,κ() The following operations are performed: first, r is calculated1:=HighBitsq,κ(r); then calculate v1:=HighBitsq,κ(r + z); if r is1=v1If yes, returning to 0, otherwise, returning to 1;
given input r
Figure BDA0002455400760000127
Function UseHintq,κ() The following operations are performed: first calculate (r)1,r0) Con (r); if h is 0, return r1(ii) a If h is 1 and r0If > 0, return (r)1+1)mod+Kappa; if h is 1 and r0If not more than 0 is true, return to (r)1-1)mod+κ
A fourth aspect of the present invention is based on the third aspect of the present invention, wherein:
·λ≥128;
·L1≥256,L2≥384;
·
Figure BDA0002455400760000128
·n=256;
·h=60;
·q≤220is a prime number;
d satisfies
Figure BDA0002455400760000131
·3≤κ≤12,q/κ≤218,3≤k≤8,2≤l≤7;
·
Figure BDA0002455400760000132
·η12∈{1,2};
·β1≤60·η1,β2≤60·η2
The fifth aspect of the present invention is based on the fourth aspect of the present invention, and specifically, the parameters of the inventive method are selected as follows:
parameter set-1: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000133
k=3,l=2,ω≤64
Parameter set-2: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000134
k=4,l=3,ω≤80;
Parameter set-3: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000135
k=5,l=4,ω≤96;
Parameter set-4: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000136
k=6,l=5,ω≤120;
Parameter set-5: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure BDA0002455400760000137
k=4,l=3,ω≤80;
Parameter set-6: λ 128, n 256, h 60,L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure BDA0002455400760000138
k=5,l=4,ω≤96;
Parameter set-7: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure BDA0002455400760000141
k=6,l=5,ω≤120;
Parameter set-8: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure BDA0002455400760000142
k=4,l=3,ω≤80;
Parameter set-9: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure BDA0002455400760000143
k=5,l=4,ω≤96;
Parameter set-10: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure BDA0002455400760000144
k=6,l=5,ω≤120;
Parameter set-11: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure BDA0002455400760000145
k=4,l=3,ω≤80;
Parameter set-12: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure BDA0002455400760000146
k=5,l=4,ω≤96;
Parameter set-13: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure BDA0002455400760000147
k=6,l=5,ω≤120;
Parameter set-14: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure BDA0002455400760000148
k=4,l=3,ω≤80;
Parameter set-15: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure BDA0002455400760000149
k=5,l=4,ω≤96;
Parameter set-16: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure BDA00024554007600001410
k=6,l=5,ω≤120。
Drawings
Fig. 1 exemplarily shows a construction principle of a DKCN mechanism;
fig. 2 exemplarily shows the definition of auxiliary functions based on the DKCN mechanism, which are used in the second way of working of the signature function and the verification function.
FIG. 3 illustrates an exemplary first representation of four functions
Decomposeq(),HighBitsq(),MakeHintq(),UseHintq() Are used in the first mode of operation for the signature function and the verification function.
Detailed Description
The invention provides a novel grid-based digital signature schemeThe parameter setting method of (1). Where S denotes the signer and V denotes the verifier. S uses its own private key sk to calculate the corresponding information M e {0,1}*A signature σ of (2); v verifies the inherent logical relationship between the message signature pair (M, σ) using the public key pk of S, and finally outputs 1 a legitimate message signature pair from S if and only if V approves (M, σ).
The system parameters required to generate the signature include (λ, n, q, κ, k, l, η)12121212,ω,d,h,L1,L2) (ii) a Wherein, positive integer lambda is a safety parameter, positive integer n is a power of 2, q is more than or equal to 2 and is a prime number satisfying q ═ 1(mod2n), positive integer kappa satisfies 2 ≦ kappa ≦ 12, and χ12For two identical or different noise distributions, k and l being positive integers and being a polynomial of λ, d being a positive integer, a threshold parameter β1212Are all positive integers, omega is a positive integer, beta12Is a positive integer and beta1≤h·η12≤h·η2H is a positive integer, and the parameter gamma1=γ1(q,κ),γ2=γ2(q, k) is a positive integer whose value depends on q, k, L1,L2Are all positive integers.
And (3) generating a public and private key: the signer S performs the following operations in sequence:
7) the signer S obtains random seeds through sampling
Figure BDA0002455400760000151
And/or
Figure BDA0002455400760000156
8) The signer S obtains through random sampling
Figure BDA0002455400760000152
9) The signer S will have a bit length L1Is mapped by calling the function ExpandA ()Is composed of
Figure BDA0002455400760000153
A matrix A of (A); wherein ExpandA () is a mapping function;
10) the signer S computation
Figure BDA0002455400760000154
And call Power2Roundq(t, d) function to generate (t)1,t0) (ii) a Wherein
Figure BDA0002455400760000155
At a given input (r, d) is: (
Figure BDA0002455400760000161
d<log2q), function Power2Roundq() The following operations are performed: first, r: ═ rmod is calculated+q; then calculate r0:=rmod±2d(ii) a Finally, the function returns ((r-r)0)/2d,r0);
11) The signer S calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure BDA0002455400760000162
The order of linking the input elements in the function CRH may be arbitrary, the output elements belonging to the set
Figure BDA0002455400760000163
auxtrIs a set whose value can be null;
12) the signer S finally outputs (pk, sk), where pk ═ is (ρ, t)1) Is the public key of the signer S, sk ═ p, K, tr, S, e, t0) Or sk ═ e (ρ, tr, s, e, t)0) Is the private key of the signer S;
and the signer S sends the public key information pk to the verifier V.
The signature method comprises the following steps: the signer S owns the private key sk ═ p, K, tr, S, e, t0) Or sk ═ e (ρ, tr, s, e, t)0) And information M E to be signed0,1}*Finally obtaining and outputting corresponding signatures (z, h, c) by sequentially carrying out the following operations; first, the signer S will have a length L1Random character string of
Figure BDA0002455400760000164
Mapping into by calling function expandA ()
Figure BDA0002455400760000165
The matrix a of (1), wherein ExpandA () is a mapping function; the signer S then generates by calling μ: ═ CRH (tr, M)
Figure BDA0002455400760000166
Wherein the linking order of the input elements in the function CRH can be arbitrary and the output elements belong to a set
Figure BDA0002455400760000167
The signer S then obtains the random seed in the signature method
Figure BDA0002455400760000168
Where ρ' is either by calling
Figure BDA0002455400760000169
Completely randomly or deterministically generated according to a calculation CRH (K, μ); finally, the signer S sets ctr: (z, h): ═ 0, and ═ t to complete the initialization work of the cycle body; then the signer S enters a cycle body until a signature meeting the requirement that (z, h) is not equal to ≠ is found; specifically, in each round of circulation, the signer S works in two ways:
in the first mode of operation, Decompose is requiredq(),HighBitsq(),MakeHintq(),UseHintq() Four functions, the definition of which is shown in figure 3. The working principle of the first working mode is as follows:
9) the signer S first generates random elements of the current round of rotation by calling y: ═ expand mask (ρ', ctr)
Figure BDA00024554007600001610
Wherein ExpandMask () function output set
Figure BDA00024554007600001611
A certain element of (1);
10) the signer S computation
Figure BDA00024554007600001612
And
Figure BDA00024554007600001613
wherein the HighBitsq(r,γ1) Output of
Figure BDA0002455400760000171
Part of information of
Figure BDA0002455400760000172
The function can be defined in an extensible way
Figure BDA0002455400760000173
On each coefficient of (a);
Figure BDA0002455400760000174
can be regarded as
Figure BDA0002455400760000175
One vector element of (1);
11) the signer S calls c: ═ H (w)1Mu) to obtain c e BhWherein B ishIs a subset of the number R of the groups,
Figure BDA0002455400760000176
h (-) is a function, the sequence of input variables can be random, and the character string {0,1} which is input randomly is formed*Mapped as set BhThe elements of (1);
12) the signer S calculates z: ═ y + cs, where
Figure BDA0002455400760000177
13) The signer S calculates (r)1,r0):=Decomposeq(w-ce,γ1) Wherein the function calls (r)1,r0):=Decomposeq(r,γ1) Will input
Figure BDA0002455400760000178
Is decomposed into
Figure BDA0002455400760000179
And
Figure BDA00024554007600001710
the function can be defined in an extensible way
Figure BDA00024554007600001711
On each coefficient of (a);
14) if | z |≥γ11Or | r0≥γ22Or r1≠w1If so, directly ending the cycle, setting ctr: (ctr + 1), and then entering the next cycle;
15) the signer S calculates h:makehintq(-ct0,w-ce+ct01) (ii) a Wherein makeHintq(z,r,γ1) Input element satisfaction of function
Figure BDA00024554007600001712
The output value belongs to {0,1 }; the function can be defined in an extensible way
Figure BDA00024554007600001713
On each coefficient of (a); h is corresponding to {0,1}k·n
16) If | ct0‖≥γ2Or h e {0,1}k·nIf the hamming distance is larger than the parameter omega, directly ending the cycle, setting ctr: (ctr + 1), and entering the next cycle; otherwise, (z, h, c) generated in the current round is a signature meeting the requirement;
the signer S takes the (z, h, c) value generated in the last round as input information M e {0,1}*Is sent to the verifier V.
The second working mode is based on DKCN and auxiliary functions HighBits constructed on DKCNq,κ(),LowBitsq,κ(),MakeHintq,κ(),UseHintq,κ() The definition of which is shown in figure 2. The working principle of the second working mode is as follows:
9) the signer S first generates random elements of the current round of rotation by calling y: ═ expand mask (ρ', ctr)
Figure BDA00024554007600001714
Wherein ExpandMask () function output set
Figure BDA00024554007600001715
A certain element of (1);
10) the signer S computation
Figure BDA00024554007600001716
And
Figure BDA00024554007600001717
wherein the HighBitsq,κ(r) output
Figure BDA00024554007600001718
Part of information of
Figure BDA00024554007600001719
The function can be defined in an extensible way
Figure BDA00024554007600001720
On each coefficient of (a);
Figure BDA0002455400760000181
can be regarded as
Figure BDA0002455400760000182
One vector element of (1);
11) what is needed isThe signer S calls c: ═ H (w)1Mu) to obtain c e BhWherein B ishIs a subset of the number R of the groups,
Figure BDA0002455400760000183
h (-) is a function, the sequence of input variables can be random, and the character string {0,1} which is input randomly is formed*Mapped as set BhA certain element of (1);
12) the signer S calculates z: ═ y + cs, where
Figure BDA0002455400760000184
13) The signer S calculates (r)1,r0) Con (w-ce), in which a function call (r) is made1,r0) Con (r) will be inputted
Figure BDA0002455400760000185
Is decomposed into
Figure BDA0002455400760000186
And
Figure BDA0002455400760000187
the function can be defined in an extensible way
Figure BDA0002455400760000188
On each coefficient of (a);
14) if | | z | non-calculation≥γ11Or | r0≥q/2-κ·β2Or r1≠w1If so, directly ending the cycle, setting ctr: (ctr + 1), and then entering the next cycle;
15) the signer S calculates h:makehintq,κ(-ct0,w-ce+ct0) (ii) a Wherein makeHintq,κThe input elements of the (z, r) function satisfy
Figure BDA0002455400760000189
The output value belongs to {0,1 }; the function can be defined in an extensible way
Figure BDA00024554007600001810
On each coefficient of (a); h is corresponding to {0,1}k·n
16) If | | | ct0||≥γ2Or h e {0,1}k·nIf the hamming distance is larger than the parameter omega, directly ending the cycle, setting ctr: (ctr + 1), and entering the next cycle; otherwise, (z, h, c) generated in the current round is a signature meeting the requirement;
the signer S takes the (z, h, c) value generated in the last round as input information M e {0,1}*Is sent to the verifier V.
The verification method comprises the following steps: the verifier V receives a (M, (z, h, c)) pair (where M ∈ {0,1 })*,
Figure BDA00024554007600001811
h∈{0,1}k·n,c∈Bh) Then, the public key information pk is (ρ, t)1) Performing verification operation; if the signer S uses the first working mode, the verifier V performs the following operations:
6) the verifier V will be of length L1Random character string
Figure BDA00024554007600001815
Mapping into by calling function expandA ()
Figure BDA00024554007600001812
A matrix A of (A); wherein ExpandA () is a mapping function;
7) the verifier V calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure BDA00024554007600001813
The order of linking the inputs in the function CRH may be arbitrary, auxtrIs a set whose value can be null;
8) the verifier V generates by calling μ: ═ CRH (tr, M)
Figure BDA00024554007600001814
9) The verifier V calculates w'1:=UseHintq(h,Az-ct1·2d1) (ii) a Wherein UseHintq(h,r,γ1) According to
Figure BDA0002455400760000191
h e {0,1}, to generate a
Figure BDA0002455400760000192
Value of
Figure BDA0002455400760000193
The function is defined to be extensible to each component of the input vector;
Figure BDA0002455400760000194
can be regarded as
Figure BDA0002455400760000195
The vector of (1);
10) if | | z | non-calculation<γ11And c ═ H (μ, w'1) And h is e {0,1}k·nB ═ 1 indicates acceptance of the (M, (z, h, c)) pair as a correct information signature pair; otherwise, set b: ═ 0 indicates that the (M, (z, h, c)) pair is considered to be an incorrect information signature pair;
finally, the signer V outputs b ∈ {0,1 }.
If the signer S uses the second working mode, the verifier V performs the following operations:
6) the verifier V will be of length L1Random character string
Figure BDA00024554007600001917
Mapping into by calling function expandA ()
Figure BDA0002455400760000196
A matrix A of (A); wherein ExpandA () is a mapping function;
7) the verifier V calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure BDA0002455400760000197
The order of linking the input elements in the function CRH may be arbitrary, the output elements belonging to the set
Figure BDA0002455400760000198
auxtrIs a set whose value can be null;
8) the verifier V generates by calling μ: ═ CRH (tr, M)
Figure BDA0002455400760000199
Wherein the input linking order in the function CRH can be arbitrary and the output element belongs to a set
Figure BDA00024554007600001910
9) The verifier V calculates w'1:=UseHintq,κ(h,Az-ct1·2d) (ii) a Wherein UseHintq,κ(h, r) according to
Figure BDA00024554007600001911
h e {0,1}, to generate a
Figure BDA00024554007600001912
Value of
Figure BDA00024554007600001913
The function is defined to be extensible to each component of the input vector;
Figure BDA00024554007600001914
can be regarded as
Figure BDA00024554007600001915
The vector of (1);
10) if | | z | non-calculation<γ11And c ═ H (μ, w'1) And h is e {0,1}k·nHas a small Hamming distanceEqual to parameter ω, set b: ═ 1 denotes acceptance of the (M, (z, h, c)) pair as the correct information signature pair; otherwise, set up
b: ═ 0 indicates that the (M, (z, h, c)) pair is considered to be an incorrect information signature pair;
finally, the signer V outputs b ∈ {0,1 }.
In the above-described signature mechanism,
ExpandA () function puts a random seed ρ e {0,1}L1Mapping to a matrix
Figure BDA00024554007600001916
The NTT expression form of (1) can be any, and the link sequence of the input elements is generally L1More than or equal to 256; for example, the ExpandA () function can be implemented by repeatedly calling the SHAKE-128 function;
CRH () is a hash function against collisions, the order of linking input elements can be arbitrary, it can be {0,1}*Is mapped to
Figure BDA00024554007600002011
An element in (1) is generally L2More than or equal to 384; CRH (), for example, can be implemented by calling the SHAKE-256 function;
the ExpandMask function inputs the element {0,1}*Is mapped as
Figure BDA0002455400760000201
Element y in (1); for example, it is implemented by repeatedly calling the SHAKE-256 function;
in general, λ ≧ 128, n ═ 256, h ═ 60,
Figure BDA0002455400760000202
for other parameters, generally we η12∈{1,2},β1≤60·η1,β2≤60·η2n=256,q≤220Is a prime number, d satisfies
Figure BDA0002455400760000203
3≤κ≤12,q/κ≤218,3≤k≤8,2≤l≤7,
Figure BDA0002455400760000204
Specifically, the parameters of the method are selected as follows:
parameter set-1: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000205
k=3,l=2,ω≤64
Parameter set-2: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000206
k=4,l=3,ω≤80;
Parameter set-3: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000207
k=5,l=4,ω≤96;
Parameter set-4: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure BDA0002455400760000208
k=6,l=5,ω≤120;
Parameter set-5: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure BDA0002455400760000209
k=4,l=3,ω≤80;
Parameter set-6: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure BDA00024554007600002010
k=5,l=4,ω≤96;
Parameter set-7: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure BDA0002455400760000211
k=6,l=5,ω≤120;
Parameter set-8: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure BDA0002455400760000212
k=4,l=3,ω≤80;
Parameter set-9: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure BDA0002455400760000213
k=5,l=4,ω≤96;
Parameter set-10: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure BDA0002455400760000214
k=6,l=5,ω≤120;
Parameter set-11: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure BDA0002455400760000215
k=4,l=3,ω≤80;
Parameter set-12: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure BDA0002455400760000216
k=5,l=4,ω≤96;
Parameter set-13: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure BDA0002455400760000217
k=6,l=5,ω≤120;
Parameter set-14: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure BDA0002455400760000218
k=4,l=3,ω≤80;
Parameter set-15: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure BDA0002455400760000219
k=5,l=4,ω≤96;
Parameter set-16: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure BDA00024554007600002110
k=6,l=5,ω≤120。
The difficulty and creativity of parameter selection and test of the invention method: the correctness, safety and efficiency (including the operation efficiency of a signature algorithm, the operation efficiency of a verification algorithm, the size of a signature, the size of a public key and a private key and the like) of the method in practical application depend on the selection of specific parameters seriously. The selection of these parameters requires a combination of a number of factors and programming tests. The difficulty is to improve the efficiency of the system as much as possible while ensuring the correctness of the system and achieving sufficient strength of safety.
Specifically, in selecting the recommended parameters, we need to consider the following requirements and objectives:
parameters should be chosen appropriately to ensure the correctness of the signature mechanism;
the recommended parameters should first be selected according to the 128-bit quantum security goal, while trying to ensure the quantum security of the other set of parameters to a desired degree;
the parameters should be chosen such that the expected value of the number of restarts in the signature algorithm is as small as possible, in order to guarantee the efficiency of the signature algorithm;
the appropriate parameters should be chosen so that the sum of the public key size and the signature size is as small as possible.
From the perspective of the parameter values, the system parameters (λ, n, q, κ, k, l, η)12121212,ω,d,h,L1,L2)
Should satisfy
N is 256, and the prime number q satisfies q ≡ 1 (modn/2);
·κ<q,k≥l;
·χ1=U(Sη1),χ2=U(Sη2);
·β12should take appropriate value so that for the random variable c ← B60,
Figure BDA0002455400760000221
For one, Pr [ | c s |)≥β1],Pr[||c·e||≥β2]≤2-128If true;
·
Figure BDA0002455400760000222
·
Figure BDA0002455400760000223
the value of omega cannot be too large, otherwise the signature length is affected; the value of omega cannot be too small, otherwise the average running time of the signature algorithm is increased;
·
Figure BDA0002455400760000224
the value of d cannot be too large, otherwise the difficulty of the MLWE problem is affected; the value of d cannot be too small, otherwise the size of the public key would be significantly increased.
From the viewpoint of efficiency, in the signature system, the size of the public key is
Figure BDA0002455400760000232
Byte, the size of the private key is
Figure BDA0002455400760000233
Bytes, the size of the signature being
Figure BDA0002455400760000234
A byte. The run time of the signature function depends mainly on the expected value of the number of occurrences of the two rejection sampling steps. The probability of a double restart can be estimated using the following equation
Figure BDA0002455400760000231
In particular, the value of the parameter ω affects the size of the signature and the runtime of the signature function, and it is difficult to perform accurate theoretical analysis on the specific value of ω. Therefore, a large number of example tests are required to be performed by program development to obtain a proper value for ω, so that a proper balance is obtained between the size of the signature and the runtime of the signature function.
From the security point of view, the security of the above signature mechanism needs to consider the key recovery attack and the (strong) fake signature attack, which can be understood as solving (variants of) the MLWE problem and (in infinite norm) the MSIS problem, respectively; parameters n, q, k, l, η12Appropriate values are required to ensure that the corresponding MLWE problem reaches sufficient quantum security strength; parameters n, q, k, l, d, κ, η12Appropriate values are required to ensure that the corresponding MSIS problem (under infinite norm) reaches sufficient quantum security strength.
Among them, the MSIS problem (under infinite norm) is less studied, and a special test script needs to be developed to test the corresponding quantum security strength. In addition, because the constraint conditions corresponding to different dimensions in the corresponding (under infinite norm) MSIS problem are very different, the quantum security strength of the corresponding (under infinite norm) MSIS problem has two evaluation modes of symmetry and asymmetry.
The existing mainstream method for evaluating the complexity of the SIS problem with the infinite norm is to use a Core-SVP model to equate the complexity of the SIS problem with the infinite norm to the complexity of the corresponding Core-SVP problem. Then, a plurality of short vectors are solved by using a commonly used lattice reduction algorithm, namely a BKZ algorithm. However, these short vectors are obtained for the euclidean norm. Unfortunately, the shortest vector under the euclidean norm is likely not to be the "short" vector under the infinite norm. Based on the method, an improved algorithm is utilized to measure the complexity of the SIS problem under an infinite norm on the basis of the BKZ algorithm. Specifically, a sub-lattice is first selected from a given lattice by projection, and then the length sequence of the orthogonalized basis corresponding to the basis output by the BKZ algorithm is estimated in the sub-lattice. And sequentially dividing the vectors in the base into three types according to the length sequence of the orthogonalized base, and respectively estimating the number of the three types of vectors. And "short vectors" under an infinite norm belong to the second class thereof. Any vector is chosen, and the length of the vector is assumed to conform to a certain form of distribution on the three types of projection, so as to estimate the probability p that the vector conforms to the infinite norm requirement. And finally, optimizing the target function by means of exhausting the dimension of the sub-lattices and the dimension of the SVP-oracle in the BKZ algorithm, thereby achieving the purpose of complexity estimation.
However, this complexity measure of the infinite norm SIS problem has some important drawbacks. Firstly, the correctness of the measuring method is based on two assumptions, namely that the output result of the BKZ algorithm conforms to an expected statistical rule, and the projection length of an arbitrary vector on the orthogonalization base dimension of the BKZ algorithm output base conforms to an expected probability distribution. The correctness of these two hypotheses needs to be checked. Secondly, when the bound parameter in the SIS problem of infinite norm is reduced to a certain degree, the output result of the measuring method has little change or changes too severely without practical reference value. Therefore, the rationality of this method is problematic and the application is very limited.
In order to overcome the difficulty and reflect the change rule of the SIS problem of infinite norm along with bound parameters more accurately, a new complexity measuring method is provided by combining the latest complexity achievement about the SVP problem under infinite norm, the output result of the complexity measuring method continuously increases along with the reduction of the bound parameters, and the output result accords with the expectation of the difficulty of the SIS problem of infinite norm. In general, we try to perfect the complexity measure method of the problem by analyzing and improving the defects of the existing complexity measure method of the SIS problem of infinite norm, and provide a more reasonable and reference evaluation method.
Briefly, our test method analyzes SIS by calling the BKZ algorithmThe specific difficulty of the problem under the Core-SVP model gives the classical and quantum attack complexity. For Ring-SIS/Module-SISThe problem, whose instances can be transformed into corresponding instances of the SIS ∞ problem, gives its classical and quantum attack complexity under the Core-SVP model by invoking the BKZ algorithm. The work in this aspect provides technical tools and means for difficulty evaluation of the lattice digital signature scheme.
For Ring-SISAnd Module-SISTo the problem, so far, there has not beenAggressive algorithms can fully exploit these additional algebraic structures to increase the efficiency of the attack. Thus, for Ring-SISAnd Module-SISProblem, we equate it to SIS of the corresponding dimensionProblem, SIS equating their complexity to the corresponding dimensionThe complexity of the problem. Therefore, the detection method is suitable for SIS-based detection/Ring-SIS/Module-SISDetection of a lattice-based cryptographic algorithm of the problem.
Our SISThe problem complexity estimation method is to use SISProblem reduction to lattice reduction problem and then analyzing the returned solution of lattice reduction to satisfy SISThe problem requires the corresponding constraints and analyzes within this range how to optimize the defined objective function.
a. First, the SIS is solved by solving a lattice reduction problem on lattice ^ { x | Ax ═ 0modq }, to solve the SISAnd (5) problems are solved.
b. Secondly, the problem is understood as an optimization problem with respect to the BKZ algorithm block size function. By calling the BKZ algorithm to solve the lattice reduction problem, the algorithm will output an equivalent basis containing several short vectors. Thereby analyzing the probability that the projection of each dimension of the vector accessed by the SVP oracle under the base meets the constraint condition. The objective function of the optimization problem is the quotient of the running time of the BKZ algorithm and the probability.
c. The BKZ algorithm block size, which can achieve the optimization of the objective function, and the optimal value of the objective function are determined by exhaustive search within the set of feasible solutions.
d. In particular, there are two different implementations for the SVP oracle invoked in the BKZ algorithm, resulting in two similar objective functions and two extrema at optimization. SIS we will importThe complexity of the problem is defined as the lesser of the optimal extrema when the two objective functions are optimized separately.
In general, the problem of SIS based on infinite norm is more difficult than SIS based on euclidean norm, because a short vector under infinite norm can be understood as a short vector under euclidean norm, but the opposite is not necessarily true. More specifically, the SIS problem under the infinite norm puts forward a plurality of independent constraint conditions for the target vector; and the SIS problem under the Euclidean norm only puts forward a constraint condition to the target vector.
Since the BKZ algorithm is only valid for Euclidean lattices, we cannot directly convert the SIS problem under each infinite norm to the corresponding Core-SVP problem. However, we can use the BKZ algorithm to compute a solution to estimate the specific difficulty of solving an infinite norm SIS problem. It should be noted that this estimation process is conservative.
In the SIS problem of infinite norm, a given matrix
Figure BDA0002455400760000261
And norm requirement β, requiring finding a non-zero short vector
Figure BDA0002455400760000262
Such that Ax ≡ 0(modq) and | x |Beta is less than or equal to beta. We can first narrow the search range from m-dimensional to find a suitable vector for w-dimensional, and take the remaining m-w dimensions to 0. We then search in the specified w-dimension to determine the probability of finding a suitable solution. In the case that the size b of the BKZ search algorithm is determined, we estimate the probability that the return solution of the BKZ algorithm satisfies the condition by setting a heuristic assumption. We define the objective function as T/p, where T is the running time of the BKZ algorithm of size b, and p is the probability that the solution returned by the BKZ algorithm under the current condition satisfies the condition. We judge by means of an exhaustive search that the (w, b) value that can optimize the objective function can be set to (w)*,b*). Finally, we define the difficulty of the infinite norm SIS problem instance as the value (w)*,b*) The running time of the corresponding BKZ algorithm.
In addition, the signature mechanism in the present invention, which corresponds to the (M) SIS problem, has a certain specificity, i.e. asymmetry. Specifically, in the SIS problem, parameters q, m, n are given1,m212And a random matrix
Figure BDA0002455400760000271
Requiring finding and outputting a non-zero vector
Figure BDA0002455400760000272
So that the constraint Ax ≡ 0(mod q),0 | | | x1||≤β1,0<‖x2‖≤β2And at the same time. The definition of the problem reflects the asymmetry of the parameters, and in the existing attack method system, under the condition that other parameters are not changed, the asymmetric example
Figure BDA0002455400760000273
Difficulty between two symmetrical examples
Figure BDA0002455400760000274
And
Figure BDA0002455400760000275
between the difficulties of (1). Thus, by estimating the parameter β12The influence on the difficulty degree of the problem can be obtained by the method for evaluating the difficulty degree of the symmetric example, so that a more accurate estimation value about the difficulty degree of the asymmetric example can be obtained.
All this represents the difficulty of selecting parameters and the importance of the above invention.

Claims (5)

1. A lattice-based digital signature method in which each string or value α represents a binary value, α | β represents two binary strings α, β ∈ {0,1}*A linking operation between; for any real number x, the number x,
Figure FDA0002455400750000011
represents the largest integer less than or equal to x,
Figure FDA0002455400750000012
represents the smallest integer greater than or equal to x,
Figure FDA0002455400750000013
when α is a positive even number, r' r mod is defined for any integer r±Alpha is a unique integer r ' satisfying-alpha/2 < r ' ≦ alpha/2, r ' ≡ r (mod alpha); when α is a positive even number, r' r mod is defined for any integer r±α is a unique integer r ' satisfying- α/2. ltoreq. r '. ltoreq.α/2, r ' ≡ r (mod α); when α is a positive integer, r' r mod is defined for any integer r+Alpha is a unique positive integer r 'satisfying 0 ≦ r' ≦ alpha-1, r ≡ r (mod alpha); when the concrete expression form of the same remainder r' is unimportant, the expression form is simply written as r mod alpha;
if S is a finite set, then | S | represents its cardinality, and x ← S represents uniform random fetching of an element from S; the symbol u (S) represents a uniform distribution over a finite set S; x ← D, if D represents a probability distribution, representing the selection of an element according to D and assignment to x; if α is neither an algorithm nor a set, then x ← α represents a simple assignment operation, or is written as x: ═ α; if A is a probabilistic algorithm, then A (x)1,x2,..; r) denotes the sum of x1,x2,., as input, r is the operation result of A when random seed; we use y ← A (x)1,x2,..; r) denotes randomly chosen r and let y be A (x)1,x2,..; r) experimental results; by Pr [ R ]1;...;Rn:E]Representing events E in a sequential series of random processes R1,...,RnThe probability of later occurrence; if > 0 for any c, λ > λ for all λcAll have a lambdacSo that f (lambda) < 1/lambdacThen the function f (λ) is negligible; definition ring
Figure FDA0002455400750000014
Wherein the content of the first and second substances,
Figure FDA0002455400750000015
is the m < th > oneA cyclotomic polynomial; rqThe element in (1) is an n-dimensional polynomial of the form a0+a1x1+a2x2+…+an-1xn-1Wherein n is a positive integer; the positive integers k and l are the dimensions of the matrix samples,
Figure FDA0002455400750000016
a matrix of dimension k × l, each element being a ring RqAn n-dimensional polynomial of (a); for the input which is a function of the vector, the operation is to process calculation for each dimension of the vector;
for elements
Figure FDA0002455400750000017
Define | | w | non-conducting phosphorIs | | wmod±q |; for the element w ═ w0+w1x+…+wn-1xn-1∈RqDefinition of
Figure FDA0002455400750000018
For w ═ w1,w2,…,wk)∈RkDefinition of
Figure FDA0002455400750000019
When the positive integer η is determined, the set S is definedηFor all the requirements of w ∈ R, | w |Set of elements not more than eta, Sη={w∈R∣ ‖w‖Eta is less than or equal to; for any positive integer h, define set BhIs composed of
Figure FDA0002455400750000021
For binary vector h ═ h (h)i) Define its Hamming distance as | | h | |1=∑hi
The sample form in the MLWE distribution is
Figure FDA0002455400750000022
The MLWE problem is to recover the secret value (s, e) from the polynomial number of samples from the MLWE distribution; in particular, random selection from the ring
Figure FDA0002455400750000023
Calculating to obtain t ═ As + e, wherein
Figure FDA0002455400750000024
And
Figure FDA0002455400750000025
respectively two probability distributions, and the distribution parameter is recorded as eta1And η2The distributions may be the same or different, by default
Figure FDA0002455400750000026
Is a set
Figure FDA0002455400750000027
The distribution of the components is uniform, and the components are uniformly distributed,
Figure FDA0002455400750000028
is a set
Figure FDA0002455400750000029
Uniform distribution of the components; for adversary A, define
Figure FDA00024554007500000210
If there is no algorithm A that runs for a maximum of τ time and has a dominance greater than ε, we call it
Figure FDA00024554007500000211
The difficulty assumption holds; where τ is a polynomial for n and ε is a negligible function for n;
one DKC (diagnostic key consensus) method DKC ═ consists of the following three parts:
params ═ q, κ, g, δ, aux represents a system parameter, where the positive integers q, κ, g, δ satisfy 2 ≦ κ, g ≦ q,0 ≦ δ ≦ q/2, aux represents a set of other values determined by (q, κ, g, δ), and is null by default;
·(k1,v)←Con(σ1params), where Con (-) is a deterministic polynomial time function with the input being
Figure FDA00024554007500000212
Then output (k)1V) wherein
Figure FDA00024554007500000213
·k2←Rec(σ2V, params), where Rec (. cndot.) is a deterministic polynomial time function at the input of (σ)2V, params), output
Figure FDA00024554007500000214
When params can be determined from context, for simplicity of description params can be represented by default,
the DKC methods used all meet the correctness requirements, i.e., for any
Figure FDA00024554007500000215
When | σ12||When delta is less than or equal to delta, k must be present1=k2
The method comprises the following steps:
the system parameters required to generate the signature include (λ, n, q, κ, k, l, η)12121212,ω,d,h,L1,L2) (ii) a Wherein, positive integer lambda is a safety parameter, positive integer n is a power of 2, q is more than or equal to 2 and is a prime number satisfying q ═ 1(mod n/2), positive integer kappa satisfies 2 ≦ kappa ≦ 12, and χ12For two identical or different noise distributions, k and l beingPositive integer and is a polynomial of λ, d is a positive integer, a threshold parameter β1212Are all positive integers, omega is a positive integer, beta12Is a positive integer and beta1≤h·η12≤h·η2H is a positive integer, and the parameter gamma1=γ1(q,κ),γ2=γ2(q, k) is a positive integer and its value depends on q, k, the parameter L1,L2Are all positive integers, and are not limited to the integer,
and (3) generating a public and private key: the signer performs the following operations in turn:
1) the signer obtains random seeds by sampling
Figure FDA00024554007500000312
And/or
Figure FDA00024554007500000313
2) The signer obtains through random sampling
Figure FDA0002455400750000031
3) The signer will have a bit length of L1Is mapped by calling a function ExpandA () into
Figure FDA0002455400750000032
A matrix A of (A); wherein ExpandA () is a mapping function;
4) the signer computation
Figure FDA0002455400750000033
And call Power2Roundq(t, d) function to generate (t)1,t0) (ii) a Wherein
Figure FDA0002455400750000034
5) The signer calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure FDA0002455400750000035
The order of linking the inputs in the function CRH may be arbitrary, auxtrIs a set whose value can be null;
6) the signer finally outputs (pk, sk), where pk ═ is (ρ, t)1) Is the public key of the signer, sk ═ p, K, tr, s, e, t0) Or sk ═ e (ρ, tr, s, e, t)0) A private key of the signer;
the signer sends the public key information pk to the verifier;
the signature method comprises the following steps: the signer owns the private key sk ═ p, K, tr, s, e, t0) Or sk ═ e (ρ, tr, s, e, t)0) And information M to be signed belongs to {0,1}*Finally obtaining and outputting corresponding signatures (z, h, c) by sequentially carrying out the following operations; first, the signer will have a length L1Random character string of
Figure FDA0002455400750000036
Mapping into by calling function expandA ()
Figure FDA0002455400750000037
The matrix a of (1), wherein ExpandA () is a mapping function; the signer then generates by calling μ: ═ CRH (tr, M)
Figure FDA0002455400750000038
Wherein the input variable sequence of CRH () function can be arbitrarily adjusted, the output element belongs to the set
Figure FDA0002455400750000039
The signer then obtains the random seed in the signature method
Figure FDA00024554007500000310
Where ρ' is either by calling
Figure FDA00024554007500000311
Completely randomly or deterministically generated according to a calculation CRH (K, μ); finally, the signer sets ctr: ═ 0, (z, h ═ t) to complete the initialization work of the cycle body; then the signer enters a cycle until a signature meeting the requirement that (z, h) is not equal to ≠ is found; specifically, in each round of circulation, the signer works in two ways:
the first working mode is as follows:
1) the signer first generates random elements of the current round of rotation by calling y: ═ expand mask (ρ', ctr)
Figure FDA0002455400750000041
Wherein ExpandMask () function output set
Figure FDA0002455400750000042
A certain element of (1);
2) the signer computation
Figure FDA0002455400750000043
And
Figure FDA0002455400750000044
wherein the HighBitsq(r,γ1) Output of
Figure FDA0002455400750000045
Part of information of
Figure FDA0002455400750000046
The function can be defined in an extensible way
Figure FDA0002455400750000047
On each coefficient of (a);
Figure FDA0002455400750000048
can be regarded as
Figure FDA0002455400750000049
One vector element of (1);
3) the signer calls c: ═ H (w)1Mu) to obtain c e BhWherein B ishIs a subset of the number R of the groups,
Figure FDA00024554007500000410
h (-) is a function, the sequence of input variables can be random, and the character string {0,1} which is input randomly is formed*Mapped as set BhA certain element of (1);
4) the signer calculates z: ═ y + cs, where
Figure FDA00024554007500000411
5) The signer calculates (r)1,r0):=Decomposeq(w-ce,γ1) Wherein the function calls (r)1,r0):=Decomposeq(r,γ1) Will input
Figure FDA00024554007500000412
Is decomposed into
Figure FDA00024554007500000413
And
Figure FDA00024554007500000414
the function can be defined in an extensible way
Figure FDA00024554007500000415
On each coefficient of (a);
6) if | z |≥γ11Or | r0≥γ22Or r1≠w1If so, directly ending the cycle, setting ctr: (ctr + 1), and then entering the next cycle;
7) the signer calculates h: ═ MakeHintq(-ct0,w-ce+ct01) (ii) a WhereinMakeHintq(z,r,γ1) Input element satisfaction of function
Figure FDA00024554007500000416
The output values belong to the set {0,1 }; the function can be defined in an extensible way
Figure FDA00024554007500000417
On each coefficient of (a); h is corresponding to {0,1}k·n
8) If | ct0‖≥γ2Or h e {0,1}k·nIf the hamming distance is larger than the parameter omega, directly ending the cycle, setting ctr: (ctr + 1), and entering the next cycle; otherwise, (z, h, c) generated in the current round is a signature meeting the requirement;
the signer takes the (z, h, c) value generated in the last round as input information M e {0,1}*To said verifier;
the second working mode is based on DKCN and has the following working principle:
1) the signer first generates random elements of the current round of rotation by calling y: ═ expand mask (ρ', ctr)
Figure FDA00024554007500000418
Wherein the input element order of the ExpandMask () function can be arbitrary, and the output element belongs to the set
Figure FDA00024554007500000419
2) The signer computation
Figure FDA00024554007500000420
And
Figure FDA00024554007500000421
wherein the HighBitsq,κ(r) output
Figure FDA0002455400750000051
Part of information of
Figure FDA0002455400750000052
The function can be defined in an extensible way
Figure FDA0002455400750000053
On each coefficient of (a);
Figure FDA0002455400750000054
can be regarded as
Figure FDA0002455400750000055
One vector element of (1);
3) the signer calls c: ═ H (w)1Mu) to obtain c e BhWherein B ishIs a subset of the number R of the groups,
Figure FDA0002455400750000056
h (-) is a function, the sequence of input variables can be random, and the character string {0,1} which is input randomly is formed*Mapped as set BhA certain element of (1);
4) the signer calculates z: ═ y + cs, where
Figure FDA0002455400750000057
5) The signer calculates (r)1,r0) Con (w-ce), in which a function call (r) is made1,r0) Con (r) will be inputted
Figure FDA0002455400750000058
Is decomposed into
Figure FDA0002455400750000059
And
Figure FDA00024554007500000510
the function can be defined in an extensible way
Figure FDA00024554007500000511
On each coefficient of (a);
6) if | z |≥γ11Or | r0≥q/2-κ·β2Or r1≠w1If so, directly ending the cycle, setting ctr: (ctr + 1), and then entering the next cycle;
7) the signer calculates h: ═ MakeHintq,κ(-ct0,w-ce+ct0) (ii) a Wherein makeHintq,κThe input elements of the (z, r) function satisfy
Figure FDA00024554007500000512
The output values belong to the set {0,1 }; the function can be defined in an extensible way
Figure FDA00024554007500000513
On each coefficient of (a); h is corresponding to {0,1}k·n
8) If | ct0‖≥γ2Or h e {0,1}k·nIf the hamming distance is larger than the parameter omega, directly ending the cycle, setting ctr: (ctr + 1), and entering the next cycle; otherwise, (z, h, c) generated in the current round is a signature meeting the requirement;
the signer takes the (z, h, c) value generated in the last round as input information M e {0,1}*To said verifier;
the verification method comprises the following steps: the verifier receives (M, (z, h, c)) pair (where M ∈ {0,1}*,
Figure FDA00024554007500000514
h∈{0,1}k·n,c∈Bh) Then, the public key information pk is (ρ, t)1) Performing verification operation; if the signer uses the first working mode, the verifier performs the following operations:
1) the verifier will be of length L1Random character string
Figure FDA00024554007500000515
Mapping into by calling function expandA ()
Figure FDA00024554007500000516
A matrix A of (A); wherein ExpandA () is a mapping function;
2) the verifier calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure FDA00024554007500000517
The input linking sequence in the function CRH can be arbitrary, auxtrIs a set whose value can be null;
3) the verifier generates Power2Round by calling μ: ═ CRH (tr, M)q() (ii) a Wherein the CRH () input can be linked in any order, and the output element belongs to the set
Figure FDA0002455400750000061
4) The verifier calculates w'1:=UseHintq(h,Az-ct1·2d1) (ii) a Wherein UseHintq(h,r,γ1) According to
Figure FDA0002455400750000062
h e {0,1}, to generate a
Figure FDA0002455400750000063
Value of
Figure FDA0002455400750000064
The function is defined to be extensible to each component of the input vector;
Figure FDA0002455400750000065
can be regarded as
Figure FDA0002455400750000066
The vector of (1);
5) if | | z | non-calculation<γ11And c ═ H (μ, w'1) And h is e {0,1}k·nB ═ 1 indicates acceptance of the (M, (z, h, c)) pair as a correct information signature pair; otherwise, set b: ═ 0 indicates that the (M, (z, h, c)) pair is considered to be an incorrect information signature pair;
finally, the signer outputs b ∈ {0,1 };
if the signer uses the second working mode, the verifier performs the following operations:
1) the verifier will be of length L1Random character string
Figure FDA0002455400750000067
Mapping into by calling function expandA ()
Figure FDA0002455400750000068
A matrix A of (A); wherein ExpandA () is a mapping function;
2) the verifier calculates tr:CRH (ρ, t)1,auxtr) Wherein
Figure FDA0002455400750000069
The order of linking of the inputs in the function CRH may be arbitrary, the output element belonging to the set
Figure FDA00024554007500000610
auxtrIs a set whose value can be null;
3) the verifier generates by calling μ: ═ CRH (tr, M)
Figure FDA00024554007500000611
Wherein, the input link sequence in the function CRH can be arbitrary, and the output element belongs to the set
Figure FDA00024554007500000612
4) The verifier calculates w'1:=UseHintq,κ(h,Az-ct1·2d) (ii) a Wherein UseHintq,κ(h, r) according to
Figure FDA00024554007500000613
h e {0,1}, to generate a
Figure FDA00024554007500000614
Value of
Figure FDA00024554007500000615
The function is defined to be extensible to each component of the input vector;
Figure FDA00024554007500000616
can be regarded as
Figure FDA00024554007500000617
The vector of (1);
5) if | z |<γ11And c ═ H (μ, w'1) And h is e {0,1}k·nB ═ 1 indicates acceptance of the (M, (z, h, c)) pair as a correct information signature pair; otherwise, set b: ═ 0 indicates that the (M, (z, h, c)) pair is considered to be an incorrect information signature pair;
finally, the signer output b ∈ {0,1 }.
2. The method of claim 1, wherein:
ExpandA () function will be a random seed
Figure FDA00024554007500000618
Mapping to a matrix
Figure FDA00024554007500000619
NTT representation of (a); wherein the NTT representation of each element is in the form of its progression forwardThe result after NTT transformation;
CRH () is a collision-resistant hash function, where the order of the chaining of input elements can be arbitrary, which can be {0,1}*Is mapped to
Figure FDA0002455400750000071
A certain element of (1);
the ExpandMask function inputs the element {0,1}*Is mapped as
Figure FDA0002455400750000072
The element y in (3), the link order of the input elements in the function can be arbitrary;
a most preferred specific example of a DKC process can be constructed when κ ≧ 2, g ≧ 2, and 2 κ δ < q (params, Con, Rec), where:
·
Figure FDA0002455400750000073
at a given input (σ)1Params) of
Figure FDA0002455400750000074
The function Con is implemented as follows: first, v: ═ k · σ is calculated1mod±q; if k · σ1K is satisfied when-v ═ k · q is satisfied10, otherwise k is set1:=(κ·σ1-v)/q; finally, the function returns (k)1,v);
At a given input (σ)2V, params) of
Figure FDA0002455400750000075
The function Rec is implemented as follows: computing
Figure FDA0002455400750000076
Function return k2;。
3. The method of claim 2, wherein: function Power2Roundq() The function is as follows:
at a given input (r, d) is: (
Figure FDA0002455400750000077
d<log2q), function Power2Roundq() The following operations are performed: first, r: ═ r mod is calculated+q; then calculate r0:=r mod±2d(ii) a Finally, the function returns ((r-r)0)/2d,r0);
Function Decompose in the first mode of operationq(),HighBitsq(),MakeHintq(),UseHintq() The definition of (A) is as follows:
given an input (r, α)
Figure FDA0002455400750000078
Function Decomposeq() The following operations are performed: first, r: ═ r mod is calculated+q; then calculate r0:=r mod±α; if r-r0If q-1 is true, then (r) is set1,r0):=(0,r0-1), otherwise set r1:=(r-r0) A,/α; finally, return (r)1,r0);
Given an input (r, α)
Figure FDA0002455400750000079
Function HighBitsq() The following operations are performed: first calculate (r)1,r0):=Decomposeq(r, α); then returns to r1
Given input (z, r, α)
Figure FDA00024554007500000710
Function MakeHintq() The following operations are performed: first, r is calculated1:=HighBitsq(r, α); then calculate v1:=HighBitsq(r + z, α); if r is1=v1If yes, returning to 0, otherwise, returning to 1;
given an input (h, r, α) (h e {0,1},
Figure FDA0002455400750000081
) Function UseHintq() The following operations are performed: firstly, calculating m: (q-1)/alpha; then calculate (r)1,r0):=Decomposeq(r, α); if h is 0, return r1(ii) a If h is 1 and r0If > 0, return (r)1+1)mod+m; if h is 1 and r0If not more than 0 is true, return to (r)1-1)mod+m;
Function Decompose in the second mode of operationq,κ(),HighBitsq,κ(),LowBitsq,κ(),MakeHintq,κ(),UseHintq,κ() By using the optimal example DKCN, it is defined as follows:
·
Figure FDA0002455400750000082
given input r
Figure FDA0002455400750000083
Function Decomposeq,κ() The following operations are performed: first calculate (r)1,r0) Con (r); then returns (r)1,r0);
Given input r
Figure FDA0002455400750000084
Function HighBitsq,κ() The following operations are performed: (r)1,r0) Con (r); then returns to r1
Given input r
Figure FDA0002455400750000085
Function LowBitsq,κ() The following operations are performed: (r)1,r0) Con (r); then returns to r0
Given input r
Figure FDA0002455400750000086
Function MakeHintq,κ() The following operations are performed: first, r is calculated1:=HighBitsq,κ(r); then calculate v1:=HighBitsq,κ(r + z); if r is1=v1If yes, returning to 0, otherwise, returning to 1;
given input r
Figure FDA0002455400750000087
Function UseHintq,κ() The following operations are performed: first calculate (r)1,r0) Con (r); if h is 0, return r1(ii) a If h is 1 and r0If > 0, return (r)1+1)mod+Kappa; if h is 1 and r0If not more than 0 is true, return to (r)1-1)mod+κ。
4. The method of claim 3, wherein there is:
·λ≥128;
·L1≥256,L2≥384;
·
Figure FDA0002455400750000088
·n=256;
·h=60;
·q≤220is a prime number;
d satisfies
Figure FDA0002455400750000091
·3≤κ≤12,q/κ≤218,3≤k≤8,2≤l≤7;
·
Figure FDA0002455400750000092
·η12∈{1,2};
·β1≤60·η1,β2≤60·η2
5. The method according to claim 4, in particular the parameters of the inventive method are chosen as follows:
parameter set-1: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure FDA0002455400750000093
k=3,l=2,ω≤64
Parameter set-2: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure FDA0002455400750000094
k=4,l=3,ω≤80;
Parameter set-3: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure FDA0002455400750000095
k=5,l=4,ω≤96;
Parameter set-4: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=2,β1≤120,β2≤120,q≤1952257,κ=8,d=13,
γ1=244032,γ2=122016,
Figure FDA0002455400750000096
k=6,l=5,ω≤120;
Parameter set-5: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure FDA0002455400750000097
k=4,l=3,ω≤80;
Parameter set-6: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure FDA0002455400750000098
k=5,l=4,ω≤96;
Parameter set-7: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤523777,κ=4,d=12,
γ1=130944,γ2=65472,
Figure FDA0002455400750000099
k=6,l=5,ω≤120;
Parameter set-8: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure FDA0002455400750000101
k=4,l=3,ω≤80;
Parameter set-9: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure FDA0002455400750000102
k=5,l=4,ω≤96;
Parameter set-10: λ 128, n 256, h 60, L1=256,L2=384,
η1=η2=1,β1≤60,β2≤60,q≤592897,κ=5,d=12,
γ1=118579,γ2=59289,
Figure FDA0002455400750000103
k=6,l=5,ω≤120;
Parameter set-11: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure FDA0002455400750000104
k=4,l=3,ω≤80;
Parameter set-12: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure FDA0002455400750000105
k=5,l=4,ω≤96;
Parameter set-13: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤786433,κ=6,d=12,
γ1=131072,γ2=65536,
Figure FDA0002455400750000106
k=6,l=5,ω≤120;
Parameter set-14: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure FDA0002455400750000107
k=4,l=3,ω≤80;
Parameter set-15: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure FDA0002455400750000108
k=5,l=4,ω≤96;
Parameter set-16: λ 128, n 256, h 60, L1=256,L2=384,
η1=2,η2=1,β1≤120,β2≤60,q≤913921,κ=7,d=12,
γ1=130560,γ2=65280,
Figure FDA0002455400750000109
k=6,l=5,ω≤120。
CN202010304930.1A 2020-04-17 2020-04-17 Digital signature method based on lattice Active CN113541952B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010304930.1A CN113541952B (en) 2020-04-17 2020-04-17 Digital signature method based on lattice

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010304930.1A CN113541952B (en) 2020-04-17 2020-04-17 Digital signature method based on lattice

Publications (2)

Publication Number Publication Date
CN113541952A true CN113541952A (en) 2021-10-22
CN113541952B CN113541952B (en) 2023-07-25

Family

ID=78123350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010304930.1A Active CN113541952B (en) 2020-04-17 2020-04-17 Digital signature method based on lattice

Country Status (1)

Country Link
CN (1) CN113541952B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023206869A1 (en) * 2022-04-26 2023-11-02 南方电网科学研究院有限责任公司 Lattice-based proxy signature method, apparatus and device, lattice-based proxy signature verification method, apparatus and device, and storage medium
WO2024012431A1 (en) * 2022-07-11 2024-01-18 复旦大学 Method for efficiently, parallely and quickly achieving lattice-based signature

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150067336A1 (en) * 2012-04-12 2015-03-05 Jintai Ding New Cryptographic Systems Using Pairing with Errors
US20190116035A1 (en) * 2017-10-17 2019-04-18 Comsats Institute Of Information Technology Post-Quantum Cryptographic Communication Protocol
CN109687969A (en) * 2018-12-03 2019-04-26 上海扈民区块链科技有限公司 A kind of lattice digital signature method based on key common recognition
CN110138549A (en) * 2019-04-19 2019-08-16 北京信息科学技术研究院 A kind of digital signature method based on lattice

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150067336A1 (en) * 2012-04-12 2015-03-05 Jintai Ding New Cryptographic Systems Using Pairing with Errors
US20190116035A1 (en) * 2017-10-17 2019-04-18 Comsats Institute Of Information Technology Post-Quantum Cryptographic Communication Protocol
CN109687969A (en) * 2018-12-03 2019-04-26 上海扈民区块链科技有限公司 A kind of lattice digital signature method based on key common recognition
CN110138549A (en) * 2019-04-19 2019-08-16 北京信息科学技术研究院 A kind of digital signature method based on lattice

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUNLEI ZHAO ETC: "Generic and Practial Key Establishment from Lattice", 《ACNS》 *
赵运磊等: "Schnorr方案推广及其在格密码学中的应用", 《计算机工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023206869A1 (en) * 2022-04-26 2023-11-02 南方电网科学研究院有限责任公司 Lattice-based proxy signature method, apparatus and device, lattice-based proxy signature verification method, apparatus and device, and storage medium
WO2024012431A1 (en) * 2022-07-11 2024-01-18 复旦大学 Method for efficiently, parallely and quickly achieving lattice-based signature

Also Published As

Publication number Publication date
CN113541952B (en) 2023-07-25

Similar Documents

Publication Publication Date Title
Gao et al. Privacy-preserving Naive Bayes classifiers secure against the substitution-then-comparison attack
Beullens et al. Calamari and Falafl: logarithmic (linkable) ring signatures from isogenies and lattices
Indyk et al. Polylogarithmic private approximations and efficient matching
Kiss et al. SoK: Modular and efficient private decision tree evaluation
De Feo et al. Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies
Boyar et al. Logic minimization techniques with applications to cryptology
JP5373026B2 (en) Enhanced verification of digital signatures and public keys
US8411855B1 (en) Size optimization for large elliptic curve cryptography scalar multiplication acceleration tables
US20080080710A1 (en) Method for generating secure elliptic curves using an arithmetic-geometric mean iteration
Pastuszak et al. Identification of bad signatures in batches
CN113541952A (en) Digital signature method based on lattice
Zhao et al. SOCI: A toolkit for secure outsourced computation on integers
US8799754B2 (en) Verification of data stream computations using third-party-supplied annotations
Barenghi et al. A novel fault attack against ECDSA
CN110708160B (en) SM2 algorithm scalar multiplication coding-based side channel attack resisting method and system
Kotukh et al. Method of Security Improvement for MST3 Cryptosystem Based on Automorphism Group of Ree Function Field
Kwon et al. Fast verification of signatures with shared ECQV implicit certificates
CN115801264A (en) Physical attack method, medium, equipment and system for elliptic curve digital signature
Han et al. Single-trace attack on NIST round 3 candidate Dilithium using machine learning-based profiling
CN113411181B (en) Parameter optimization method based on distributed parallel differential evolution algorithm
RU2392736C1 (en) Method for generation and authentication of electronic digital signature that verifies electronic document
Sule Local inversion of maps: A new attack on Symmetric encryption, RSA and ECDLP
US20220309496A1 (en) Key-value map commitments system and method
Zhang et al. Efficient cloud-based private set intersection protocol with hidden access attribute and integrity verification
Akhmetzyanova et al. On methods of shortening ElGamal-type signatures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220818

Address after: Room 717, School of Computer Science, Fudan University (Jiangwan Campus), No. 2005, Songhu Road, Yangpu District, Shanghai, 200438

Applicant after: Zhao Yunlei

Address before: Room 345, No.5, Lane 786, Xinzhong Road, Xinhe Town, Chongming District, Shanghai 202156

Applicant before: SHANGHAI HUMIN BLOCKCHAIN TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240116

Address after: 200433 No. 220, Handan Road, Shanghai, Yangpu District

Patentee after: FUDAN University

Address before: Room 717, School of Computer Science, Fudan University (Jiangwan Campus), No. 2005, Songhu Road, Yangpu District, Shanghai, 200438

Patentee before: Zhao Yunlei

TR01 Transfer of patent right