WO2008148276A1 - Method and system for encoding and decoding the digital messages - Google Patents

Method and system for encoding and decoding the digital messages Download PDF

Info

Publication number
WO2008148276A1
WO2008148276A1 PCT/CN2007/070266 CN2007070266W WO2008148276A1 WO 2008148276 A1 WO2008148276 A1 WO 2008148276A1 CN 2007070266 W CN2007070266 W CN 2007070266W WO 2008148276 A1 WO2008148276 A1 WO 2008148276A1
Authority
WO
WIPO (PCT)
Prior art keywords
private key
function
message
public key
key
Prior art date
Application number
PCT/CN2007/070266
Other languages
French (fr)
Chinese (zh)
Inventor
Haiming Guan
Original Assignee
Guan, Haiying
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 Guan, Haiying filed Critical Guan, Haiying
Publication of WO2008148276A1 publication Critical patent/WO2008148276A1/en

Links

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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

Definitions

  • the present invention relates to the field of encoding and decoding of information, and more particularly to a public key cryptosystem for encrypting, decrypting, and signing and verifying data messages.
  • Cryptography is a science and technology that studies encryption and decryption transformation.
  • people refer to plain text as plaintext; incomprehensible text that transforms plaintext into ciphertext.
  • the process of transforming plaintext into ciphertext is called encryption; the reverse process, that is, the process of transforming ciphertext into plaintext is called decryption.
  • This encryption or decryption transformation is controlled by a key.
  • the cryptosystem used in an open environment should meet the following basic requirements:
  • Integrity Ensure that information is not arbitrarily or intentionally modified
  • Non-repudiation Prevent individuals or entities from denying the information they have published by destroying evidence to prove that something has happened.
  • Public key cryptography is a key technology to address the above-mentioned confidentiality, integrity, and non-repudiation.
  • the official birth of it is the "New Directions in Cryptography” by W. Diffie and M. Hellman in 1976 (W. Diffe, ME Hellman, "New direction in cryptography", IEEE Trans., 1976, 22, 644-654 ).
  • the public key cipher uses a public key and a private key.
  • the public key can be publicly delivered, but the associated private key is kept secret. Only by using a private key can decrypt the data encrypted with the public key and sign the data.
  • the role of the public key is to encrypt the information and verify the correctness of the signature.
  • NTRU public key cryptosystem J. Hoffstein, J. Pipher, and JH Silverman, "NTRU: a ring based public key cryptosystem", Crypto'96, LNCS 1423, pp. 267-288. Springer-Verlag, 1998.
  • its security is based on the mathematical problem of finding a very short vector in a large dimension lattice.
  • the second is the OTU2000 public key cryptosystem (T. Okamoto, K. Tanaka, and S. Uchiyama, "Quantum Public-Key Cryptosystems," CRYPTO2000, LNCS 1880, pp. 147-165, Springer-Verlag (2000).) Security is based on improved backpacking issues.
  • the third is the MQ public key cryptosystem, that is, the multivariate quadratic polynomial public key cryptosystem (Multivariate)
  • Quadratic Polynomials in Public Key Cryptosystem whose safety is based on the incomprehensibility of quadratic polynomial indefinite equations.
  • a typical solution in this area is the SPLASH signature algorithm (J. Patarin, L. Goubin, N. Courtois, "C*+- and HM: Variations around two schemes of T. Matsumoto and H. Imai", in Advances in Cryptology, Proceedings Of ASIACRYPT'98, LNCS 1514. Springer Verlag, 1998, pp.35-49. ), which is the digital signature algorithm recommended by the European cryptographic standard NESSIE (http://www.cryptonessie.org), mainly in special cards such as smart cards. Used in the field.
  • the public key of MQ is an indefinite system of equations, which is an irreversible function.
  • PKI Public Key Infrastructure
  • PKI construction has faced major challenges, highlighted by the sharp increase in management costs. From a technical point of view, the main reason is that the PKI technology system is difficult to adapt to the complex use environment of ultra-large-scale networks, which is highlighted by:
  • PKI is an expensive technology. It is necessary to establish a large-scale certification center. The implementation of the key escrow system also requires the establishment of a large private key pool. The engineering construction, system operation and maintenance costs are high, and the manpower and material resources required for mobilization are required. Financial resources have formed a huge economic bubble. (2) PKI is difficult to achieve the scale of certification. The number of users that a certification center can support is limited by the ability to access online, typically only a few thousand users.
  • China distributes an independent public key certificate for each citizen ID card freely, adding, deleting, and modifying the country's 1.3 billion certificates and private keys, and networking on hundreds of databases distributed throughout the country. Operation, the sharp increase in management costs, the degradation and collapse of the chain of trust, and the attack on the certification center will become very serious problems.
  • the present invention provides a method and apparatus for encoding and decoding digital messages to implement an identity-based public key cryptosystem, which can meet the complex use environment of a very large-scale network and can meet the requirements of network trust system construction.
  • a method for encoding and decoding a digital message which may specifically include:
  • the private key is established by: calculating D0, the DO is related to the ID; dividing the DO into at least two parts, and storing in at least two private key distribution centers, each part is related to the ID
  • Each private key distribution center calculates a part of the private key according to the ID of the authorized user and sends it to the user; the user synthesizes the parts of the private key and calculates the private key.
  • the method may further include: inserting a random transform WO and inverse ⁇ ) in the process of generating the private key.
  • a system for encoding and decoding a digital message is further disclosed, which at least includes:
  • a private key generating unit configured to generate, according to an authorized user whose identity is ⁇ , a private key corresponding to the identity identifier; and at least one of an encryption and decryption unit and a signature verification unit, where the encryption and decryption unit, For encoding the message by using the public key and ⁇ , to obtain an encoded message N; decoding the encoded message N by using the private key to obtain a decoded message;
  • the signature verification unit is configured to encode the message by using the private key to obtain an encoded message, and use the public key and the ID ( ⁇ ) to decode the encoded message N′ to obtain a decoded message.
  • the private key generating unit further includes:
  • At least two private key distribution centers each of which has a part of a private key function D0, each part being associated with an ID; each of the private key distribution centers is configured to calculate a private number according to the ID of the authorized user Part of the key, sent to the user;
  • the private key synthesizing device is configured to synthesize each part of the private key and calculate the private key.
  • the present invention has the following advantages:
  • the invention realizes the identity-based public key cryptosystem, can meet the complex use environment of the ultra-large-scale network, and can meet the requirements of the network trust system construction.
  • identity-based means that the content of the public key is the user's identity mark ID - some combination of information such as name, phone, email, etc., with the information itself, it can directly determine who the public key belongs to; Instead of using a public key certificate, the user's ID is bound to the user's public key. The essence is that "all users share a public key".
  • the realization of "identity-based” brings the benefits of public key management in the network environment: First, the economic benefits are significant; Second, the user capacity is huge; Third, the integrated management of public key data and user identification is realized.
  • the preferred embodiment of the present invention is the first public key cryptosystem that is "resistant to both Shor and identity based".
  • the present invention provides a pioneering technical solution for the challenge of public key cryptography to cope with quantum computing and the challenge of hyperscale network key management. Its technical advantages are reflected in:
  • the user capacity is huge: it is convenient for the central government to directly implement centralized and single-level security control for the bottom-end billions of end users;
  • the third is to realize the integrated management of public key data and user identification, which brings great convenience to trust management in the network environment. It is no longer necessary to use the concept of public key certificate, so that the public key information itself has the following attributes. :
  • the public key is no longer a seemingly random random string. From the content of the public key, it can directly determine who the public key belongs to;
  • the present invention has strong anti-collusion attack capability (that is, the difficulty of calculating a private key generation function by combining a plurality of legitimate users and using enough public key-private key pairs that they jointly grasp):
  • the security of the private key generation function is described by information theory, which can be theoretically unbreakable, that is: the attacker cannot decipher the private key generation function due to lack of information, Rather than lack of computing power, it has nothing to do with the development level of computational mathematics;
  • Second, outside the scope of the set collusion attack scale, the security of the private key generation function is described by the computational complexity theory, based on a complex large solution. The difficulty of scale nonlinear equations, according to the scientific progress of the world today, is not computationally feasible;
  • the third is to realize the personalization of the private key form, and to hide the private key with an objective random transformation, so that it is also difficult to list only the equations for solving the private key generation function;
  • the fifth is the difficulty in collecting a large number of private keys, involving a large number of factors outside the technology, which requires a high price.
  • FIG. 1 is a flow chart of an embodiment of a method for encoding and decoding a digital message according to the present invention
  • FIG. 2 is a flow chart of an embodiment of a method for obtaining a public key and a private key according to the present invention
  • Figure 3 is a schematic diagram showing the flow of data in the embodiment of Figure 1 of the present invention
  • FIG. 4 is a schematic diagram of jointly establishing a private key by multiple private key distribution centers of the present invention.
  • the invention belongs to the category of information security products and is mainly applied to network trust systems, such as documents, banks, mobile phones, internet, e-commerce, e-government, logistics, network monitoring, power control, fund transfer, transactions, data encryption and the like.
  • Password Generally understood as an algorithm for information encryption and decryption transformation. Its basic purpose is to disguise information so that outsiders cannot understand the true meaning of the information, and insiders can understand the original meaning of the disguised information.
  • the key parameter that controls the effective conversion between plaintext and ciphertext during the execution of the cryptographic algorithm is called the key.
  • Public key cryptosystem The public key cryptosystem uses two keys—a public key (referred to as: public key) and a private key (referred to as: private key).
  • the public and private keys are mathematically related, but it is difficult to calculate the private key from the public key.
  • the public key can be publicly transmitted between the communicating parties, or it can be publicly released as a telephone number book, and the private key is kept in secret by the authorized user.
  • anyone can find its public key from the name of a user, so it can send encrypted messages to this user. Only authorized users themselves Can be decrypted with his private key.
  • the public key cryptosystem also provides the ability to digitally sign and authenticate: an authorized user can sign the information with his private key (equivalent to the process of decrypting with the private key described above); other users cannot sign because they do not have the private key.
  • the user's public key can be used to verify the correctness of the signature (equivalent to the above process of encrypting with the public key).
  • digital signature algorithms Recoverable digital signature scheme: The signed data can be derived from the signature; Unrecoverable digital signature scheme: The signed data cannot be derived from the signature.
  • Finite field It is a concrete and visual mathematical structure that can be understood in a colloquial manner as a collection of finite elements that can be added, subtracted, multiplied, and divided. (usually denoted as F, when the number of elements in the finite field is prime;?, remember to do F)
  • the polynomial set on F, the polynomial four is the domain, called the polynomial extension of F. If the number of terms in a polynomial is relatively small, it is called a sparse polynomial; otherwise it is called a dense polynomial. Dense polynomials not only have a high number of times, but the number of items is very large, and it is expanded to indicate that it takes a lot of space.
  • Rational fraction on a finite field It can be understood as dividing two polynomials:
  • X is difficult.
  • This kind of function is called one-way function, also called hash function, hash function, Hash function, etc. It has been widely used in data integrity check and information authentication. It converts an arbitrary length of data X into a fixed-length or fixed-number field or a string _y.
  • One-way function algorithms are well known in the art.
  • the most popular one-way function algorithms currently are MD5 and SHA-1 (US Federal Information Processing Standard FIPS 180-1); stronger one-way function algorithms are also available.
  • the number of elements can be used as a prime number;
  • the finite field F> is not limited to this but can be generalized to various domains.
  • the power operations of functions or arguments including integer power operations and fractional power operations, can be converted into rational fractional representations after being expanded, simplified, and collated.
  • the encoded message described in the present invention may be generated by a user of a location and transmitted to another location and then decoded by the user of the other location, i.e., the coded decoding may not be co-located.
  • the coded decoding may not be co-located.
  • encoding and decoding at the same location is a simpler case. Referring to FIG. 1, an embodiment of a method for encoding and decoding a digital message according to the present invention is shown.
  • Step 101 Select a positive integer w, n r, where m ⁇ n,
  • Step 103 Generate, according to an authorized user whose identity is ⁇ , a private key corresponding to the identity identifier;
  • Step 104 The public key and the ID ( ⁇ ) are used to encode the message to obtain an encoded message N.
  • the encoded message N is decoded by using the private key to obtain a decoded message.
  • step 105 encoding the message by using the private key to obtain an encoded message, using the public key and ⁇ , decoding the encoded message N' to obtain a decoded message 7 .
  • step 103 of generating a private key may be prior to the step 102 of generating the public key, and the numerical ordering is merely for convenience of explanation.
  • step 104 is mainly applied to the case of encryption and decryption
  • step 105 can be mainly applied to the case of digital signature and verification.
  • the parameters are different, and the performance of the compiled code is also good or bad. A more preferred embodiment will be described later in the specification.
  • E'(x, ID) is a set of irreversible functions. For a given ID, since the number of arguments of X is greater than the number of functions "more, known j", E'(x, ID) is an indefinite system of equations, and there is no unique solution for x. E(x, ID) and the corresponding DO are a pair of reciprocal functions.
  • the signed data ( ⁇ , ..., _yford)
  • the embodiment of the present invention shown in FIG. 1 can obtain the public key and the private key by using the following steps, as shown in FIG. 2:
  • Step 201 Select a positive integer ", where m ⁇ n ⁇ r, and w> «';
  • Step 203 Generate a private key according to an inverse function of E(x, ID);
  • a given E(x, ID) is not necessarily a public key E'(x, ID) (assuming the public key has no other parameters, the public key can be considered E'(x, ID, according to 'The latter is all or part of the former.
  • a public key corresponds mathematically to the transformation rules of a given input and output message, and only one private key; of course, this private key can take different representations.
  • a data flow diagram of an embodiment of the present invention including data processing procedures such as encryption and decryption and digital signature.
  • the decoded message is compared with all the data of the original message to determine whether it belongs to the correct signature; and for the unrecoverable signature (ie, the case of "> «' in the specification), it is decoded.
  • the message is compared to a portion of the original message to determine if it is the correct signature.
  • the embodiment can also obtain the public key and the private key by the following steps:
  • Step a select a positive integer ", where m > n ⁇ r;
  • the function which combines the one-way function chain HO) with the public key E'(x, ID), and reduces the intermediate result after the expansion of the one-way function chain.
  • R(x) including the functional form of i3 ⁇ 4, M Q2 , and the value of the coefficient e 3 are all secret information that the unauthorized user should not know.
  • those skilled in the art can design a variety of modes according to the characteristics of R(x), which cannot be detailed here.
  • At least one of the coefficients of T and / or G is a mapping function of the ID. That is, at least one of the coefficients of any one or more of the T is a mapping function of the ID; and/or, at least one of the coefficients of any one or more of the G is a mapping function of the ID.
  • at least one of the coefficients in the last layer is a mapping function of the ID; and/or at least one of the coefficients in the last layer is a mapping function of the ID.
  • E'(x, ID) Limiting the size of the function of the public key E'(x, ID).
  • E'(x, ID) is just a function of ID ⁇ ⁇ ID.
  • the coefficient in ⁇ is defined as a function of ID. After the nonlinear transformation, the number of IDs increases, making the function size of the public key too large, reducing the practicability.
  • the purpose of synthesizing the " ⁇ ), T, and G is to embed and hide information about R, T, and G in the public key, all of which belong to secret information that the unauthorised user should not know.
  • Factization mainly for "multiplication”
  • function decomposition decomposition, mainly for "iteration
  • Step f select "the function as E' (x, ID), get the public key;
  • E' ⁇ ID contains the function (A, x m , ID b : ⁇ ;
  • E' ( x, ID) (EiC !, x m , ID b ID r ), ... , E w i, ... , x m , IDi, ... , ID r ));
  • This embodiment can be used for encryption and decryption. And various situations such as digital signatures.
  • the present embodiment can be used in the case of digital signature.
  • Step g generating an inverse function T 1 of T, generating an inverse function G- 1 of G; and assigning a value ID of the authorized user's identity (substituting T 1 and G- 1 to calculate the DO associated with the identity; generating A private key corresponding to the identity, the private key including R x) and D0 .
  • step e The preset rules described in the foregoing step e may be set by a person skilled in the art according to actual conditions.
  • the preset rule may be in the following two cases:
  • the denominator polynomial of each rational fraction is the same; when the last is a nonlinear transformation
  • the denominator polynomial for each rational fraction in its public key is usually different.
  • the default denominator can save public key storage space (as long as "+1, not 2" polynomial is stored), increase the speed of the operation (as long as the value of "+1, not 2" polynomial is calculated ).
  • the function form of E'(x, ID) containing ..., x m , ID b ... may be a polynomial, preferably, may be a combination of polynomial and rational fraction, or all of the rational points Composition.
  • ID (ID 1 ..., ID, r is a positive integer, ID ⁇ F;
  • ID ⁇ F the coefficient in the public key ⁇ ' ⁇ is defined as the mapping function of the ID.
  • the first step is to define the password parameters T and G as functions of ID.
  • the second step is to synthesize 1 ⁇ G into E(x, ID) and establish the public key E'(x, ID)
  • the third step, put! 11 , G- 1 is synthesized into D0, establish the private key of each user
  • the fourth step encryption and decryption, digital signature and verification
  • n ( «iii Moi + "ii2"02 + ⁇ n) mod p
  • Vn (a UQX + ⁇ 122 ⁇ 02 + b n ) mod p
  • V 2 ⁇ («211 «11 + «212«12 + 3 ⁇ 4l) mod p,
  • mapping function group derived from x, ID to ; is:
  • E(x, ID) The function specifies an identity-based public key E'(ID) shared by all users, for example, EX 2 , ID) is a public key, and E 2 ( b x 2 , ID) is not a public key.
  • the private key distribution center uses the value of the ID to derive the corresponding decryption function, that is, the private key DO:
  • n (1 / 3 ⁇ 4ii) mod p
  • the present invention also provides an apparatus embodiment, which includes at least the following units:
  • a public key generating unit configured to generate a public key including E'(x, ID), which is a slave ID b ..., ID r ) ilJ (y) on the domain F !, j )
  • the non-linear mapping function group, the ID (ID 1; ..., ID is the identity of the authorized user; where m, nr are positive integers, m ⁇ n,
  • a private key generating unit configured to generate, according to an authorized user whose identity is ⁇ , a private key corresponding to the identity identifier; and at least one of an encryption and decryption unit and a signature verification unit, where the encryption and decryption unit is configured to: Using the public key and ID ( ⁇ ), encoding the message to obtain an encoded message N; using the private key to decode the encoded message N to obtain a decoded message;
  • the signature verification unit is configured to encode the message by using the private key, and obtain the encoded message by using the public key and the ID ( ⁇ ), and decoding the encoded message N′ to obtain a decoded message.
  • the signature verification unit is configured to encode the message by using the private key, and obtain the encoded message by using the public key and the ID ( ⁇ ), and decoding the encoded message N′ to obtain a decoded message.
  • the number of IDs is n times the number of IDs in the encryption process, while the number of times remains the same.
  • ho comprises the sub-steps of: sub-ho step a, D0 obtained by the calculation of T 1 and G-1, and the ID related DO; ho sub step b. Dividing the D0 into at least two parts and storing them in at least two private key distribution centers, each part being related to an ID;
  • each private key distribution center substitutes the authorized user identifier ⁇ into the part D0 of each secret storage, calculates a part of the private key, and sends it to the user;
  • Sub-step d the user synthesizes the private key of each part, and calculates the private key.
  • the private key generating unit further includes: at least two private key distribution centers, wherein each private key distribution center stores a part of a private key function D0, each The parts are all associated with the ID; the private key distribution centers are configured to calculate a part of the private key according to the ID of the authorized user, and send the part to the user;
  • the private key synthesizing device is configured to synthesize each part of the private key and calculate the private key.
  • FIG. 4 it is a schematic diagram of a plurality of private key distribution centers of the present invention jointly establishing a private key.
  • An example of the above process is described mathematically as follows:
  • a unique primary key distribution center in the network ⁇ ( ⁇ establishes the public key E'(x, ID) and establishes a private key generation function corresponding to E'(x, ID):
  • the technical point of using multiple private key distribution centers to synthesize private keys is to ensure that even the internal personnel of the private key distribution center cannot steal the user's private key.
  • O (2) (y, A 2 , B 2 ) two denominator polynomials in O(y, A 2 , ⁇ 2 ).
  • KDCn sends the above D (1 3 ⁇ 4, ⁇ 2 , ⁇ 2 ) to KDC 21 and D( 2 3 ⁇ 4, ⁇ 2 , ⁇ 2 ) to KDC 22 , and also sends the mapping function of ID to dd 2 ,... Give them.
  • KDC 21 and KDC 22 respectively substitute the ID of the user into the mapping function:
  • each KDC 2 is not restricted by the management system and computing power, but is unable to steal the user's private key due to lack of information; and the KDCu that grasps all the secrets is usually in the closed storage state and does not directly participate in the establishment. Private key. It is recommended that KDCu rename the relevant variables (such as ll, «212, «221, «222, 621, 2) when creating the private key generation function, which can achieve better results.
  • this embodiment can further include the following steps: In the process of generating the private key, the random transform W( ) and the inverse w- ) are inserted.
  • the specific implementation methods of w(), W ⁇ ) are well-known techniques.
  • the basic idea of personalizing the form of the private key is to insert a random transformation in the process of deriving the DO to cover up the correlation between the DO and the ID, and hide it; thus:
  • D0 of different users Not only its mathematical properties are different, but also the expression of its functions is subject to two independent factors, one from ID and random transformation, which effectively improves the ability to resist collusion.
  • this embodiment can also combine the technical points of the one-way function chain, that is, the step of setting the one-way function chain HO) and the inverse function H- 1 ⁇ of the one-way function chain;
  • a one-way function chain is used to first expand the original message, then compress it, and meet the reversible requirements. Therefore, it can be applied to various encryption and decryption and digital signature situations with high security performance.
  • a one-way function chain has two properties:
  • the original message may be converted into an intermediate result message M by using a one-way function chain (HO), and the message is encoded by using the public key and ID ( ⁇ ) to obtain an encoded message N;
  • the private key decodes the encoded message N to obtain a decoded message, and converts the intermediate result message into a final decoding result by using an inverse function H- ⁇ of the one-way function chain;
  • signature it may be: using the private key to encode the message, and obtaining an intermediate result ⁇ by converting the intermediate result z into a digital signature message through the inverse function H- 1 of the one-way function chain and through the one-way function chain HO) converts the digital signature message N' into an intermediate result X, and uses the public key and ID ( ⁇ ) to decode the intermediate result X to obtain a decoded message 7.
  • the first step is to build a one-way function chain HO)
  • F be a finite field
  • F> p is a prime number, a positive integer "' and w>"'.
  • ID (IDi, ...,ID r ), wxyz lOi 0
  • the second step is to establish the password parameters T, G, and define T and G as functions of ID.
  • the specific steps are as follows:
  • the ⁇ -element linear polynomial of ⁇ ⁇ consists of:
  • ⁇ " 1 ( ⁇ 1 , ..., T s+ 1 ), where:
  • each n-member reversible nonlinear transformation consists of “a F function on %” on the F:
  • the inverse function G- 1 of G is derived, which is the inverse of the above-mentioned inverse transformation of the elementary reversible nonlinear transformation, where each inverse transformation G 1 is composed of the W element on the F composition:
  • G; 1 (Gn , ... , A), ⁇ ⁇ ⁇ , G m — l (A, ⁇ , ")),
  • T, G, and G- 1 are well-known technologies.
  • the third step is to synthesize R(x), T, G into E(x, ID), and establish the public key E, (x, ID)
  • E'(x, ID) is publicly released as a public key shared by all users.
  • the DO can take a variety of function representations: it can be represented by a function or a simplification, or it can be used directly! 11 , G- 1 , can also be expressed in other functional forms.
  • ⁇ DO, R(x) ⁇ is sent as a private key to the authorized user for secret preservation.
  • Step 5 encrypt and decrypt, digitally sign and verify
  • the preferred method for establishing G is: pre-establishing a large enough function library; later, when needed, randomly extracting a number of simple functions from the library and combining them into complex encryption and decryption functions according to certain rules.
  • G ⁇ - 1 represents the number of independent variables ⁇ , j is a number in the pair of reciprocal function.
  • is a number in the pair of reciprocal function.
  • G (2 i): ⁇ ⁇ aia 2 + ⁇ 2 ⁇ 2 + ha x ) mod ⁇ , G (21) _1 : 1 ⁇ —mo&p.
  • G (24 ): ⁇ : 0 ⁇ modp, G ⁇ )" 1 : 2 tlC(l+t2 ⁇ , after the completion of the database, the nature of each function, the nature of the different combinations of its functions, And the best way to use it, develop rules and strategies for automatically generating cryptographic algorithm schemes, and write software that implements these rules and policies.
  • G ⁇ )- 1 in the above equation respectively indicate that the number of its self-variable variables is ⁇ and for its first independent variable
  • V i2 G 3 ⁇ 4a(a2) ⁇ vn, i2 ) Ga (2 ) -1 ( G n(1) -1 ( n ), i2 ),
  • Vin Gin ⁇ n) (1 ⁇ 41, ⁇ , U in )
  • the dashed box 502 represents the process of processing with the public key E'(x);
  • the dashed box 602 represents the secret parameter e 3 with the inverse function H_ and the private key.
  • Vll ( «111 UQI + «112 ⁇ 02 + ⁇ ll) mod p
  • V ⁇ 2 ( «121 «01 + «122 ⁇ 02 + b n ) mod p
  • V 2 1 ( «211 «11 + «212 ⁇ 12 + 3 ⁇ 4l) mod p,
  • V 2 2 ( «221 «11 + «222 ⁇ 12 + 22) mod ⁇
  • E( , ID) (Ei( i, x 2 , x 3 , ID), E 2 ( i, x 2 , 3 , ID)), where:
  • the private key distribution center uses the value of the ID to derive the corresponding decryption function, that is, the private key DO:
  • the private key allocation of the above small data embodiment may also be implemented by using multiple private key distribution centers to synthesize the private key: Since the elements in ⁇ are numbers, 2 , the elements in ⁇ 2 are arguments, G Without parameters, the private key generation function is
  • D (1) (j, A 2 , B 2 ) two molecular polynomials in DO, A 2 , ⁇ 2 ),
  • O (2) (y, A 2 , B 2 ) two denominator polynomials in O(y, A 2 , ⁇ 2 ).
  • the ID is assigned to the mapping functions of fl 211 , fl 212 , fl 221 , i3 ⁇ 4 22 , b 21 , b 22 , and R(x).
  • KDC 21 and KDC 22 respectively substitute the ID of the user into the mapping function, and calculate the values of fl 211 , «212, «221, «222, 3 ⁇ 41, 1 ⁇ 2, and then put these values. Substitute:
  • the authorized user receives D (1) 0 and D (2) 0 from KDC 21 and KDC 22 respectively, and then restores to D0 according to the specified method, that is, the numerator polynomial and the denominator polynomial are combined into a rational fraction.
  • the data flow direction of the private key form is personalized: a random linear transformation w ) is inserted between IV 1 and R- 1 , and a random linear transformation w 2 o, w ⁇ o is inserted between IV 1 , and the specific steps are as follows :
  • the first step is to calculate:
  • Vll D v ii(3 ⁇ 4'ii, . is), which is an 8 yuan 2 rational fraction;
  • Vl2 D v i 2 (w'ii, ⁇ is, ii), which is 9 yuan 2 times rational points]
  • Vl3 D v i 3 (w'ii, - is, vii, Yn), which is a 10 yuan secondary rational fraction;
  • Vl4 D v i4(3 ⁇ 4'ii, . 18, Vll, Vl2, Vl3)' It is 11 yuan 2 rational fraction
  • Vl5 D v i 5 (w'ii, - is, vii, ..., v u ), which is 12 yuan 2 ⁇ : rational fraction;
  • the third step is to calculate:
  • the fourth step is to calculate in order:
  • Xj O XJ (z , ... , ⁇ ' 8 , ⁇ x w , ii, i 2 ), l ⁇ y 6, which is a 12-ary linear polynomial;
  • z 6 is hidden as a set of intermediate results in the calculation process of the fourth , which can be understood as the parameter of R(x) in the private key is also hidden in the personalized private key, for the authorized user Confidential.
  • each secondary private key distribution center should use the same W
  • the equation is from IV to reversible transformation
  • the above equation is a system of substitution equations, and it is known that IV has a unique solution.
  • the one-way function in the above equation has the property of "mapping a bit string to a bit string in an almost random manner", that is, it is difficult to describe the regularity between its input and output with a simple mathematical transformation rule. It is equivalent to a dense polynomial, and it takes an exponential storage space to fully expand it. Therefore, when solving a system of equations above, it is difficult to expand a one-way function by substituting a variable containing a one-way function into the equation.
  • the number of elements of the solution set of the indefinite equations ⁇ ' ⁇ , ..., jv) is approximately, which should be greater than 2 64 .
  • Let 3 be the number of times E'(x) about X, then the number of terms of an m-ary ⁇ -degree polynomial is cs 1 ⁇ , which reflects the storage space and encryption speed of the public key, and should be as small as possible.
  • DO be about; the number of terms of an n-ary ⁇ -degree polynomial is C ⁇ +/l , which reflects the difficulty of deciphering the private key by linear attack, and should be as large as possible.
  • G 2 uses the "non-linear transformation whose nonlinear number remains constant" as described above:
  • G 2 - 1 gy coefficients the coefficient to be understood as the G 2 1 ⁇ 2 (), ..., 88 8 linear function; G 2 is disposed linear function ID, then G 2 - 1 It is the 8th function of the ID.
  • the second step is to calculate E'(x,ID):
  • Yj Ej(x u ..., 12 , ID!, ..., ID 4 ), l ⁇ y 8, which is a 16-time 3 rational fraction.
  • the ID mapping method is used to establish an identity-based working mode, so that all users of the entire network share a public key, which brings great convenience to the public key management in the network environment;
  • the method of "multiple private key distribution center synthesis private key” and “private key form personalization” improves the anti-collusion attack ability of the cryptosystem.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention provides a method and system for encoding and decoding the digital messages. The method includes: Selecting the positive integer m, n', r, and m≥n'; Generating a public key that comprises E' (x, ID), and E' (x, ID) is a nonlinear function group from (x1,…,xm,ID1, …,IDr) to (y1, …,yr) in domain F, and ID=( ID1, …,IDr) is an identification of the authorized user; According to the authorized user whose identification is ID(K), generating a private key corresponding to this identification; then finishing the process of encrypt anddecrypt, or the process of validating digital signatures. The present invention can make the users of whole network own one public key, and solves the problem of managing the grand-scale complex network key; and does not need set up large-scale authentication center and private key database, reduces the cost of setting up, running and managing system; implements the incorporate management of the public key database and user ID, affords facilities for trust management in network environment.

Description

一种用于编码和译码数字消息的方法和系统  Method and system for encoding and decoding digital messages
本申请要求于 2007 年 6 月 7 日提交中国专利局、 申请号为 200710100308.3、 发明名称为"一种用于编码和译码数字消息的方法和系统"的 中国专利申请的优先权, 其全部内容通过引用结合在本申请中。  The present application claims priority to Chinese Patent Application No. 200710100308.3, entitled "A Method and System for Encoding and Decoding Digital Messages", filed on June 7, 2007, the entire contents of which is incorporated herein by reference. This is incorporated herein by reference.
技术领域 Technical field
本发明涉及信息的编码和译码领域,特别是涉及一种对数据消息加密、解 密以及签名、 验证的公用密钥密码体制。  The present invention relates to the field of encoding and decoding of information, and more particularly to a public key cryptosystem for encrypting, decrypting, and signing and verifying data messages.
背景技术 Background technique
密码技术是研究加密和解密变换的一门科学技术。通常情况下, 人们将可 懂的文本称为明文; 将明文变换成的不可懂的文本称为密文。把明文变换成密 文的过程叫加密; 其逆过程, 即把密文变换成明文的过程叫解密。这种加密或 解密变换是由密钥来控制的。在开放环境下使用的密码系统应满足以下基本要 求:  Cryptography is a science and technology that studies encryption and decryption transformation. Usually, people refer to plain text as plaintext; incomprehensible text that transforms plaintext into ciphertext. The process of transforming plaintext into ciphertext is called encryption; the reverse process, that is, the process of transforming ciphertext into plaintext is called decryption. This encryption or decryption transformation is controlled by a key. The cryptosystem used in an open environment should meet the following basic requirements:
保密性: 保证信息不被泄漏给非授权的用户;  Confidentiality: Ensure that information is not leaked to unauthorized users;
完整性: 保证信息不被任意或蓄意地修改;  Integrity: Ensure that information is not arbitrarily or intentionally modified;
抗抵赖性: 防止个人或实体通过销毁证据来否认曾经发布过的信息, 以证 明某类事件确实曾经发生过。  Non-repudiation: Prevent individuals or entities from denying the information they have published by destroying evidence to prove that something has happened.
公钥密码是解决上述的保密性、 完整性、 抗抵赖性的关键技术。其正式诞 生的标志是 1976年 W.Diffie和 M.Hellman发表的《密码学的新方向》(W. Diffe, M. E. Hellman, "New direction in cryptography", IEEE Trans., 1976, 22, 644-654)。公 钥密码使用一个公钥和一个私钥,公钥可以公开传递,但相关的私钥是保密的。 只有使用私钥才能解密用公钥加密的数据、并对数据进行签名, 公钥的作用则 是对信息进行加密、 以及验证签名的正确性。  Public key cryptography is a key technology to address the above-mentioned confidentiality, integrity, and non-repudiation. The official birth of it is the "New Directions in Cryptography" by W. Diffie and M. Hellman in 1976 (W. Diffe, ME Hellman, "New direction in cryptography", IEEE Trans., 1976, 22, 644-654 ). The public key cipher uses a public key and a private key. The public key can be publicly delivered, but the associated private key is kept secret. Only by using a private key can decrypt the data encrypted with the public key and sign the data. The role of the public key is to encrypt the information and verify the correctness of the signature.
当前公钥密码面临的一个重要挑战, 是量子计算的挑战。 由 Shor在 1994 年发明的 Shor算法 (P. W. Shor, "Algorithms for quantum computation: Discrete log and factoring", Proceedings of the 35th Symposium on Foundations of Computer Science, 1994, pp.124-134. ) , 能以多项式时间攻破所有的能够转换成 广义离散傅立叶变换的公钥密码, 包括目前广泛使用的 RSA、 DH和 ECC等 三种公钥密码体制。  An important challenge facing current public key cryptography is the challenge of quantum computing. The Shor algorithm invented by Shor in 1994 (PW Shor, "Algorithms for quantum computation: Discrete log and factoring", Proceedings of the 35th Symposium on Foundations of Computer Science, 1994, pp. 124-134.), can be polynomial time It breaks all public key ciphers that can be converted into generalized discrete Fourier transforms, including three widely used public key cryptosystems such as RSA, DH and ECC.
公钥密码应对量子计算挑战的基本对策是:采用不能转换成离散傅立叶变 换的数学难题来建立公钥密码体制。按照这种思路, 当前国际上主要有三类互 相竞争的 "抗量子计算" 的公钥密码方案, §卩: The basic countermeasure for the public key cryptography to cope with the quantum computing challenge is: the use can not be converted into discrete Fourier transform Change the math problem to establish a public key cryptosystem. According to this line of thinking, there are currently three types of competing "anti-quantum computing" public key cryptosystems in the world, §卩:
一是 NTRU公钥密码体制 (J. Hoffstein, J. Pipher, and J. H. Silverman, "NTRU: a ring based public key cryptosystem", Crypto'96, LNCS 1423, pp.267-288. Springer- Verlag, 1998. ), 其安全性基于在一个大维数的格中寻找一 个很短向量的数学难题。  One is the NTRU public key cryptosystem (J. Hoffstein, J. Pipher, and JH Silverman, "NTRU: a ring based public key cryptosystem", Crypto'96, LNCS 1423, pp. 267-288. Springer-Verlag, 1998. ), its security is based on the mathematical problem of finding a very short vector in a large dimension lattice.
二是 OTU2000公钥密码体制 (T. Okamoto, K. Tanaka, and S. Uchiyama, "Quantum Public-Key Cryptosystems," CRYPTO2000, LNCS 1880, pp.147-165, Springer- Verlag (2000). ) , 其安全性基于改进的背包问题。  The second is the OTU2000 public key cryptosystem (T. Okamoto, K. Tanaka, and S. Uchiyama, "Quantum Public-Key Cryptosystems," CRYPTO2000, LNCS 1880, pp. 147-165, Springer-Verlag (2000).) Security is based on improved backpacking issues.
三是 MQ公钥密码体制,即多变元二次多项式公钥密码体制(Multivariate The third is the MQ public key cryptosystem, that is, the multivariate quadratic polynomial public key cryptosystem (Multivariate)
Quadratic Polynomials in Public Key Cryptosystem) , 其安全性基于二次多项式 不定方程组的难解性。这个领域典型的方案是 SPLASH签名算法 (J. Patarin, L. Goubin, N. Courtois, "C*+- and HM: Variations around two schemes of T. Matsumoto and H. Imai", in Advances in Cryptology, Proceedings of ASIACRYPT'98, LNCS 1514. Springer Verlag, 1998, pp.35-49. ), 该方案是欧洲 密码标准 NESSIE推荐的数字签名算法 (http://www.cryptonessie.org), 主要在 智能卡等特殊的领域中使用。 Quadratic Polynomials in Public Key Cryptosystem), whose safety is based on the incomprehensibility of quadratic polynomial indefinite equations. A typical solution in this area is the SPLASH signature algorithm (J. Patarin, L. Goubin, N. Courtois, "C*+- and HM: Variations around two schemes of T. Matsumoto and H. Imai", in Advances in Cryptology, Proceedings Of ASIACRYPT'98, LNCS 1514. Springer Verlag, 1998, pp.35-49. ), which is the digital signature algorithm recommended by the European cryptographic standard NESSIE (http://www.cryptonessie.org), mainly in special cards such as smart cards. Used in the field.
MQ公钥密码体制的公钥的一般形式为  The general form of the public key of the MQ public key cryptosystem is
1< j≤k≤m 7=1 1< j≤k≤m 7=1
x y Oi, i ¾¾^ F, i n, m >n Xy Oi, i 3⁄43⁄4^ F, in, m >n
其中, F为规定的域。 由于/ w〉《, 故 MQ的公钥为不定方程组, 属于不可 逆函数。一般把公钥的逆函数规定为是与它相对应的私钥, 即从 ^ = (^, ... , 3^1 到 X = ( ι , 的可逆变换。  Where F is the specified domain. Since /w>", the public key of MQ is an indefinite system of equations, which is an irreversible function. The inverse function of the public key is generally defined as the private key corresponding to it, that is, the reversible transformation from ^ = (^, ... , 3^1 to X = ( ι , ).
但是上述的现有技术都存在以下缺点:  However, the above prior art has the following disadvantages:
PKI (Public Key Infrastructure)是基于公钥密码而建立起来的网络信任技 术体制。 近年来, PKI建设面临重大挑战, 突出表现在管理成本急剧增加。 从 技术上看, 主要原因是 PKI技术体制难以适应超大规模网络的复杂使用环境, 突出表现在:  PKI (Public Key Infrastructure) is a network trust technology system based on public key cryptography. In recent years, PKI construction has faced major challenges, highlighted by the sharp increase in management costs. From a technical point of view, the main reason is that the PKI technology system is difficult to adapt to the complex use environment of ultra-large-scale networks, which is highlighted by:
( 1 ) PKI是一种昂贵的技术, 需要建立大型认证中心, 实行密钥托管制 度还需要建立大型私钥库, 其工程建设、 系统的运行维护费用很高, 所需动员 的人力、 物力、 财力, 形成了巨大的经济泡沬。 (2) PKI难以实现认证的规模化。 一个认证中心所能支持的用户数量受 到在线访问能力的限制, 一般只有几千个用户。 (1) PKI is an expensive technology. It is necessary to establish a large-scale certification center. The implementation of the key escrow system also requires the establishment of a large private key pool. The engineering construction, system operation and maintenance costs are high, and the manpower and material resources required for mobilization are required. Financial resources have formed a huge economic bubble. (2) PKI is difficult to achieve the scale of certification. The number of users that a certification center can support is limited by the ability to access online, typically only a few thousand users.
(3) ΡΚΙ难以实现认证的直接性。 这种技术体制把一个非常复杂的信任 传播过程, 简化成一个信任链, 再把信任链作为安全性的基础, 不仅缺少理论 依据, 而且还存在着不可预测的安全隐患。  (3) It is difficult to achieve the directness of certification. This kind of technical system simplifies a very complicated process of trust propagation into a chain of trust, and then uses the chain of trust as the basis of security. It not only lacks theoretical basis, but also has unpredictable security risks.
例如, 中国为每个公民身份证免费配发一个独立的公钥证书, 就要对全国 十三亿个证书和私钥进行添加、删除、 修改, 要在分布于全国的几百个数据库 上联网操作, 其管理成本的急剧增加、 信任链的退化与崩溃、 认证中心被攻击 等, 都将成为非常严峻的问题。  For example, China distributes an independent public key certificate for each citizen ID card freely, adding, deleting, and modifying the country's 1.3 billion certificates and private keys, and networking on hundreds of databases distributed throughout the country. Operation, the sharp increase in management costs, the degradation and collapse of the chain of trust, and the attack on the certification center will become very serious problems.
总之,迫切需要本领域技术人员解决的一个技术问题就是:如何运用简洁、 廉价、 高效、 用户容量巨大、 具有很强的抗攻击能力的新一代网络信任技术, 来替换现有的 PKI?  In short, a technical problem that is urgently needed by those skilled in the art is how to replace the existing PKI with a new generation of network trust technology that is simple, inexpensive, efficient, and has a large user capacity and strong anti-attack capability.
发明内容 Summary of the invention
本发明提供一种用于编码和译码数字消息的方法和装置,以实现基于身份 的公钥密码体制, 可以满足超大规模网络的复杂使用环境, 能够符合网络信任 体系建设的需求。  The present invention provides a method and apparatus for encoding and decoding digital messages to implement an identity-based public key cryptosystem, which can meet the complex use environment of a very large-scale network and can meet the requirements of network trust system construction.
依据本发明实施例, 公开了一种用于编码和译码数字消息的方法, 具体可 以包括:  According to an embodiment of the present invention, a method for encoding and decoding a digital message is disclosed, which may specifically include:
选择正整数 w, n r, 其中, m≥n、 生成一包含有 E'(x, ID)的公钥, 其 中,所述 E'(x, ID)为在域 F上的从 ... , xm, lOu ...,
Figure imgf000005_0001
..., jv)的非线性 映射函数组,所述 ID = ( ID1 ..., ID 为授权用户的身份标识; 针对身份标识为 π 的授权用户,生成一与该身份标识相对应的私钥;采用所述公钥和 π , 对消息 进行编码, 得到编码消息 N; 采用所述私钥对该编码消息 N进行译 码, 得到译码消息 和 /或, 采用所述私钥对消息 进行编码, 得到编码消 息 采用所述公钥和 ID(^), 对该编码消息 N'进行译码, 得到译码消息 '。
Selecting a positive integer w, nr, where m≥n, generating a public key containing E'(x, ID), wherein the E'(x, ID) is from the ... on the domain F, x m , lO u ...,
Figure imgf000005_0001
a non-linear mapping function group of ..., jv), the ID = (ID 1 ..., ID is the identity of the authorized user; for an authorized user whose identity is π, a corresponding one corresponding to the identity is generated a private key; encoding the message by using the public key and π to obtain an encoded message N; decoding the encoded message N by using the private key to obtain a decoded message and/or, using the private key pair message Encoding is performed to obtain an encoded message using the public key and ID (^), and the encoded message N' is decoded to obtain a decoded message '.
优选的, 通过以下歩骤建立私钥: 计算得到 D0 , 所述 DO 与 ID相关; 将所述 DO 分为至少两个部分,保存在至少两个私钥分配中心,每个部分都与 ID相关; 各私钥分配中心根据授权用户的 ID计算得到私钥的一部分, 发送给 该用户; 该用户将私钥的各个部分合成, 计算得到私钥。  Preferably, the private key is established by: calculating D0, the DO is related to the ID; dividing the DO into at least two parts, and storing in at least two private key distribution centers, each part is related to the ID Each private key distribution center calculates a part of the private key according to the ID of the authorized user and sends it to the user; the user synthesizes the parts of the private key and calculates the private key.
进一歩, 所述方法还可以包括: 在生成私钥的过程中, 插入随机变换 WO 以及逆 ^ )。 依据本发明实施例, 还公开了一种用于编码和译码数字消息的系统, 至少 包括: Further, the method may further include: inserting a random transform WO and inverse ^) in the process of generating the private key. According to an embodiment of the invention, a system for encoding and decoding a digital message is further disclosed, which at least includes:
公钥生成单元,用于生成一包含有 E'(x, ID)的公钥,所述 E'(x, ID)为在域 F上的从 IDb ... , IDr)ilJ(y!, j )的非线性映射函数组, 所述 ID = ( ID1 ; ... , ID 为授权用户的身份标识; 其中, m, n r为正整数, m≥n、 a public key generating unit, configured to generate a public key including E'(x, ID), which is a slave ID b ... , ID r ) ilJ (y) on the domain F !, j) of the non-linear mapping function group, the ID = (ID 1 ; ..., ID is the identity of the authorized user; where m, nr are positive integers, m ≥ n,
私钥生成单元, 用于针对身份标识为 π 的授权用户, 生成一与该身份 标识相对应的私钥;以及至少包括加解密单元和签名验证单元中的一个,其中, 所述加解密单元, 用于采用所述公钥和 Π , 对消息 进行编码, 得到 编码消息 N; 采用所述私钥对该编码消息 N进行译码, 得到译码消息 ;  a private key generating unit, configured to generate, according to an authorized user whose identity is π, a private key corresponding to the identity identifier; and at least one of an encryption and decryption unit and a signature verification unit, where the encryption and decryption unit, For encoding the message by using the public key and Π, to obtain an encoded message N; decoding the encoded message N by using the private key to obtain a decoded message;
所述签名验证单元, 用于采用所述私钥对消息 进行编码, 得到编码消 息 采用所述公钥和 ID(^), 对该编码消息 N'进行译码, 得到译码消息 '。  The signature verification unit is configured to encode the message by using the private key to obtain an encoded message, and use the public key and the ID (^) to decode the encoded message N′ to obtain a decoded message.
优选的, 所述私钥生成单元进一歩包括:  Preferably, the private key generating unit further includes:
至少两个私钥分配中心,所述各私钥分配中心中保存有私钥函数 D0 的一 部分, 每个部分都与 ID相关; 所述各私钥分配中心用于根据授权用户的 ID 计算得到私钥的一部分, 发送给该用户;  At least two private key distribution centers, each of which has a part of a private key function D0, each part being associated with an ID; each of the private key distribution centers is configured to calculate a private number according to the ID of the authorized user Part of the key, sent to the user;
私钥合成装置, 用于将私钥的各个部分合成, 计算得到私钥。  The private key synthesizing device is configured to synthesize each part of the private key and calculate the private key.
与现有技术相比, 本发明具有以下优点:  Compared with the prior art, the present invention has the following advantages:
本发明实现了基于身份的公钥密码体制,可以满足超大规模网络的复杂使 用环境, 能够符合网络信任体系建设的需求。 所谓"基于身份", 就是让公钥的 内容就是用户的身份标志 ID—诸如姓名、 电话、 Email等信息的某种组合, 用这些信息本身, 就能直接确定出这个公钥是属于谁的; 而不再需要用一个公 钥证书把用户的 ID与这个用户的公钥绑定在一起。 其实质是 "全网所有用户 共用一个公钥" 。 "基于身份" 的实现为网络环境下的公钥管理带来的好处: 一是经济效益显著; 二是用户容量巨大; 三是实现了公钥数据与用户标识的一 体化管理。  The invention realizes the identity-based public key cryptosystem, can meet the complex use environment of the ultra-large-scale network, and can meet the requirements of the network trust system construction. The so-called "identity-based" means that the content of the public key is the user's identity mark ID - some combination of information such as name, phone, email, etc., with the information itself, it can directly determine who the public key belongs to; Instead of using a public key certificate, the user's ID is bound to the user's public key. The essence is that "all users share a public key". The realization of "identity-based" brings the benefits of public key management in the network environment: First, the economic benefits are significant; Second, the user capacity is huge; Third, the integrated management of public key data and user identification is realized.
从公开发表的现有技术看, 本发明的优选实施例是第一个 "既抗 Shor量 子攻击、 又基于身份"的公钥密码体制。本发明为公钥密码应对量子计算的挑 战, 以及超大规模网络密钥管理的挑战, 提供了一种开拓性的技术解决方案。 其技术优势体现在:  From the prior art published, the preferred embodiment of the present invention is the first public key cryptosystem that is "resistant to both Shor and identity based". The present invention provides a pioneering technical solution for the challenge of public key cryptography to cope with quantum computing and the challenge of hyperscale network key management. Its technical advantages are reflected in:
( 1)与 MQ等抗量子计算的现有技术相比, 全网所有用户共用一个公钥, 有效地解决了超大规模复杂网络的密钥管理问题: 一是经济效益显著: 不需要建立大型认证中心和私钥库, 大大降低了系统 建设成本和运行管理成本; (1) Compared with the prior art of anti-quantum computing such as MQ, all users on the whole network share a common key, which effectively solves the key management problem of hyperscale complex networks: First, the economic benefits are significant: there is no need to establish a large certification center and private key pool, which greatly reduces the system construction cost and operation management cost;
二是用户容量巨大:便于实现中央政府直接对最底层的亿万最终用户实行 集中式、 单层次的安全控制;  Second, the user capacity is huge: it is convenient for the central government to directly implement centralized and single-level security control for the bottom-end billions of end users;
三是实现了公钥数据与用户标识的一体化管理,为网络环境下的信任管理 带来了极大的方便, 不再需要使用公钥证书的概念, 让公钥信息本身就具备了 以下属性:  The third is to realize the integrated management of public key data and user identification, which brings great convenience to trust management in the network environment. It is no longer necessary to use the concept of public key certificate, so that the public key information itself has the following attributes. :
可判定性: 公钥不再是表面上无意义的随机字符串, 从公钥的内容就能直 接判断出这个公钥是属于谁的;  Judgment: The public key is no longer a seemingly random random string. From the content of the public key, it can directly determine who the public key belongs to;
直观性: 能以直观形象的表示方式解决权力特征的判定问题, 例如用印鉴 的图形作为权力部门的公钥, 用指纹、 照片作为自然人的公钥;  Intuitiveness: The problem of determining the characteristics of power can be solved in an intuitive representation, such as using the graphic of the seal as the public key of the authority, and using the fingerprint and photo as the public key of the natural person;
权威性: 与现实世界的授权过程相匹配,对公钥的信任直接依赖于发放公 钥的最高国家机关,按照权力机构的管辖方式和管辖范围建立自上而下的信任 体系。  Authoritative: Matching the real-world authorization process, the trust of the public key is directly dependent on the highest state authority issuing the public key, and a top-down trust system is established according to the jurisdiction and jurisdiction of the authority.
(2 )其次,本发明具有很强的抗合谋攻击能力(即多个合法用户联合起来, 利用他们共同掌握的足够多的公钥-私钥对, 计算私钥生成函数的困难性): 一是在设定的合谋攻击规模的范围之内,私钥生成函数的安全性用信息论 来描述, 能达到理论上不可破译, 也就是说: 攻击者无法破译私钥生成函数, 是由于缺少信息、 而不是由于缺少计算能力, 与计算数学的发展水平无关; 二是在设定的合谋攻击规模的范围之外,私钥生成函数的安全性用计算复 杂性理论来描述, 基于解一个复杂的大规模非线性方程组的困难性, 按照当今 世界的科学进展, 这是计算上不可行的;  (2) Secondly, the present invention has strong anti-collusion attack capability (that is, the difficulty of calculating a private key generation function by combining a plurality of legitimate users and using enough public key-private key pairs that they jointly grasp): Within the scope of the set collusion attack scale, the security of the private key generation function is described by information theory, which can be theoretically unbreakable, that is: the attacker cannot decipher the private key generation function due to lack of information, Rather than lack of computing power, it has nothing to do with the development level of computational mathematics; Second, outside the scope of the set collusion attack scale, the security of the private key generation function is described by the computational complexity theory, based on a complex large solution. The difficulty of scale nonlinear equations, according to the scientific progress of the world today, is not computationally feasible;
三是实现私钥形态个性化,用客观的随机变换来隐藏私钥, 使得仅仅列出 求解私钥生成函数的方程组, 也是困难的;  The third is to realize the personalization of the private key form, and to hide the private key with an objective random transformation, so that it is also difficult to list only the equations for solving the private key generation function;
四是能方便地实现分布式的、权力互相制约的安全控制, 让各个私钥分配 中心、 各个用户, 各自管理各自的秘密, 谁也不能获得全部的秘密;  Fourth, it is convenient to implement distributed and power-constrained security controls, so that each private key distribution center and each user can manage their own secrets, and no one can obtain all the secrets;
五是收集巨大数量的私钥在操作上的困难性, 涉及到大量技术以外的因 素, 需要付出很高的代价。  The fifth is the difficulty in collecting a large number of private keys, involving a large number of factors outside the technology, which requires a high price.
附图说明 DRAWINGS
图 1是本发明一种用于编码和译码数字消息的方法实施例的歩骤流程图; 图 2是本发明获取公钥和私钥的方法实施例的歩骤流程图; 图 3是本发明图 1所示实施例的数据流向示意图; 1 is a flow chart of an embodiment of a method for encoding and decoding a digital message according to the present invention; FIG. 2 is a flow chart of an embodiment of a method for obtaining a public key and a private key according to the present invention; Figure 3 is a schematic diagram showing the flow of data in the embodiment of Figure 1 of the present invention;
图 4是本发明多个私钥分配中心联合建立私钥的示意图;  4 is a schematic diagram of jointly establishing a private key by multiple private key distribution centers of the present invention;
图 5是本发明 m=3、 n=2的小数据实施例的加密或验证签名过程的数据流 向图;  5 is a data flow diagram of an encryption or verification signature process of a small data embodiment of m=3, n=2 of the present invention;
图 6是本发明 m=3、n=2的小数据实施例的解密或签名过程的数据流向图; 图 7是本发明 m=U、 n=8的小数据实施例实现私钥形态个性化的数据流 向图;  6 is a data flow diagram of a decryption or signature process of a small data embodiment of m=3 and n=2 of the present invention; FIG. 7 is a small data embodiment of m=U and n=8 of the present invention for realizing private key form personalization. Data flow graph;
图 8是本发明 m=U、 n=8的小数据实施例的加密过程数据流向图。 具体实施方式  Figure 8 is a flow chart of the encryption process of the small data embodiment of m = U, n = 8 of the present invention. Detailed ways
为使本发明的上述目的、特征和优点能够更加明显易懂, 下面结合附图和 具体实施方式对本发明作进一歩详细的说明。  The above described objects, features and advantages of the present invention will become more apparent from the aspects of the appended claims.
本发明属于信息安全产品的范畴, 主要应用于网络信任系统, 例如证件、 银行、 手机、 互联网、 电子商务、 电子政务、 物流、 网络监控、 权力控制、 资 金转移、 交易、 数据加密等环节。  The invention belongs to the category of information security products and is mainly applied to network trust systems, such as documents, banks, mobile phones, internet, e-commerce, e-government, logistics, network monitoring, power control, fund transfer, transactions, data encryption and the like.
应用本发明所需的硬件环境属于本领域技术人员所熟知的知识。其中: 公 钥生成单元、 私钥生成单元、 私钥分配中心, 涉及到复杂数学公式的自动化推 导, 一般应采用高端的计算机系统; 加解密单元、 签名验证单元、 私钥合成装 置, 只涉及到对给定的数学式的求值计算, 可采用各种档次的硬件平台, 例如 单片机、 专用数字信号处理芯片、 智能卡等。  The hardware environment required to apply the present invention is well known to those skilled in the art. Among them: public key generation unit, private key generation unit, private key distribution center, involving the automatic derivation of complex mathematical formulas, generally should use high-end computer systems; encryption and decryption unit, signature verification unit, private key synthesis device, only involved For the calculation of a given mathematical formula, various grades of hardware platforms can be used, such as a single chip microcomputer, a dedicated digital signal processing chip, a smart card, and the like.
下面对本发明可能涉及的一些术语进行简单解释:  Some of the terms that may be involved in the present invention are briefly explained below:
密码:通常可理解为进行信息加密和解密变换的算法。它的基本目的是伪 装信息, 使局外人不能理解信息的真正含义, 而局内人能够理解伪装信息的本 来含义。  Password: Generally understood as an algorithm for information encryption and decryption transformation. Its basic purpose is to disguise information so that outsiders cannot understand the true meaning of the information, and insiders can understand the original meaning of the disguised information.
密钥:在执行密码算法的过程中, 唯一能控制明文与密文之间进行有效变 换的关键参数, 叫做密钥。  Key: The key parameter that controls the effective conversion between plaintext and ciphertext during the execution of the cryptographic algorithm is called the key.
公钥密码体制: 公钥密码体制使用两个密钥——一个公开密钥(简称: 公 钥) 和一个私人密钥 (简称: 私钥)。 公钥和私钥在数学上是相关的, 但由公 钥计算出私钥是困难的。公钥可在通信双方之间公开传递, 也可以像电话号码 本一样公开发布, 私钥则由授权用户自己秘密保管。任何人从某个用户的名字 就能查到它的公钥, 因而可以给这个用户发送加密消息。只有授权用户自己才 能用他的私钥完成解密。 Public key cryptosystem: The public key cryptosystem uses two keys—a public key (referred to as: public key) and a private key (referred to as: private key). The public and private keys are mathematically related, but it is difficult to calculate the private key from the public key. The public key can be publicly transmitted between the communicating parties, or it can be publicly released as a telephone number book, and the private key is kept in secret by the authorized user. Anyone can find its public key from the name of a user, so it can send encrypted messages to this user. Only authorized users themselves Can be decrypted with his private key.
公钥密码体制还提供了数字签名及认证的能力:授权用户能用他的私钥对 信息进行签名 (相当于上述用私钥解密的过程); 其他用户由于不掌握私钥而 不能进行签名,但能用该用户的公钥验证签名的正确性(相当于上述用公钥加 密的过程)。 数字签名算法有两种类型: 可恢复的数字签名体制: 由签名可以 推导出被签名的数据; 不可恢复的数字签名体制: 由签名不能推导出被签名的 数据。  The public key cryptosystem also provides the ability to digitally sign and authenticate: an authorized user can sign the information with his private key (equivalent to the process of decrypting with the private key described above); other users cannot sign because they do not have the private key. However, the user's public key can be used to verify the correctness of the signature (equivalent to the above process of encrypting with the public key). There are two types of digital signature algorithms: Recoverable digital signature scheme: The signed data can be derived from the signature; Unrecoverable digital signature scheme: The signed data cannot be derived from the signature.
有限域(finite field): 是一种具体而又形象的数学结构, 可以通俗地理解 为能进行加减乘除四则运算的有限个元素的集合。 (通常记做 F, 当有限域的 元素数量为素数;?时, 记做 F )  Finite field: It is a concrete and visual mathematical structure that can be understood in a colloquial manner as a collection of finite elements that can be added, subtracted, multiplied, and divided. (usually denoted as F, when the number of elements in the finite field is prime;?, remember to do F)
有限域上的多项式(polynomial):可以通俗地理解为:当只有一个变元时: f (x) = asxs + as-\ XsA +…十 α0χ0 (mod p) 其中 叫作变元, 叫作系数, 叫作项, 它们的取值在 Ο,...,ρ-l之间取值。 当 有多个变元时:
Figure imgf000009_0001
Polynomial over a finite field: can be understood in a common sense: when there is only one argument: f (x) = a s x s + a s -\ X sA +... ten α 0 χ 0 (mod p) where Called as arguments, called coefficients, called items, their values are between Ο,...,ρ-l. When there are multiple arguments:
Figure imgf000009_0001
F上的多项式集合, 对于多项式四则运算是域, 叫作 F的多项式扩域。 如果多项式中的项的数量相对很少, 叫做稀疏多项式; 反之叫做稠密多项 式。稠密多项式不仅有很高的次数, 而且项的数量非常多, 把它展开来表示需 要占用很大的空间位置。 The polynomial set on F, the polynomial four is the domain, called the polynomial extension of F. If the number of terms in a polynomial is relatively small, it is called a sparse polynomial; otherwise it is called a dense polynomial. Dense polynomials not only have a high number of times, but the number of items is very large, and it is expanded to indicate that it takes a lot of space.
有限域上的有理分式 (rational fraction): 可理解为两个多项式相除:  Rational fraction on a finite field: It can be understood as dividing two polynomials:
/(JCl "' ") mod^ 除了 0多项式以外的多项式的乘法逆为 /(JCl "'") mod^ The multiplicative inverse of polynomials other than the polynomial of 0 is
( ¾ ..., xn)) - 1 (mod ) = (f(xh ... , χη)Υ~2 (mod ρ) 但当 ρ较大时,把上式展开需要巨大的存储空间,因此两个稀疏多项式相除(分 母不为 0多项式) 的结果, 通常是一个稠密多项式: /( = Rxl, ..., xn) - {g{xl, ..., xn))p-2 (mod ^) 该性质对于理解有理分式公钥密码的安全性非常重要。 F上的有理分式集 合, 对于有理分式的四则运算是域, 叫作 F的有理分式扩域。 ( 3⁄4 ..., x n )) - 1 (mod ) = (f(x h ... , χ η )Υ~ 2 (mod ρ) But when ρ is large, the expansion of the above formula requires huge storage The result of space, therefore the division of two sparse polynomials (the denominator is not a polynomial), usually a dense polynomial: /( = Rx l , ..., x n ) - {g{x l , ..., x n )) p - 2 (mod ^) This property is very important for understanding the security of rational fraction public key cryptography . The rational fractional set on F, the four arithmetic operations on the rational fraction is the domain, called the rational fractional extension of F.
有限域上的不定方程组 (indeterminate equation system) 设有限域上的方 程组为:  The indeterminate equation system on the finite field has a range group on the limit field:
^{xx,...,xm) mod p = 0 ^{x x ,...,x m ) mod p = 0
其中 :)为多项式或者有理分式, 如果未知元数量 m多于方程数量 n, 上式称为 的 / 7元《阶不定方程组, 通常也称为丢番图方程。 不定方程组的 解是一个很大的 的向量值的集合。 Where :) is a polynomial or rational fraction. If the number of unknown elements is more than the number n of equations, the above equation is called /7 yuan. The indefinite equations are usually called Diophantine equations. The solution of an indefinite system of equations is a large collection of vector values.
当上述不定方程组有解时, 它的解通常是一个由有限域上 m 维空间中的 点组成的集合,可以表现为代数曲线、代数曲面乃至高度复杂的高维代数簇 (若 干个多项式的公共根的集合)。  When the above indefinite system of equations has a solution, its solution is usually a set of points in m-dimensional space over a finite field, which can be expressed as algebraic curves, algebraic surfaces or even highly complex high-dimensional algebraic clusters (several polynomials) a collection of public roots).
单向函数: 设函数为 _y = Hash , 已知 X计算 _y是容易的, 反之由 _y计算 One-way function: Let the function be _y = Hash , it is easy to calculate _y for X, and vice versa for _y
X是困难的, 这种函数称为单向函数, 也叫做杂凑函数、 散列函数、 Hash函数 等, 已被广泛应用于数据完整性检验和信息认证。它把一个任意长度的数据 X, 经过复杂的运算转换成一个固定长度或固定数域的数值或信息串 _y。 X is difficult. This kind of function is called one-way function, also called hash function, hash function, Hash function, etc. It has been widely used in data integrity check and information authentication. It converts an arbitrary length of data X into a fixed-length or fixed-number field or a string _y.
构造单向函数的方法属于公知技术。 当前最流行的单向函数算法是 MD5 和 SHA-1 (美国联邦信息处理标准 FIPS 180-1 ); 更强的单向函数算法还有 Methods of constructing one-way functions are well known in the art. The most popular one-way function algorithms currently are MD5 and SHA-1 (US Federal Information Processing Standard FIPS 180-1); stronger one-way function algorithms are also available.
SHA-256, SHA-384和 SHA-512等 (美国联邦信息处理标准 FIPS 180-2)。 SHA-256, SHA-384 and SHA-512, etc. (US Federal Information Processing Standard FIPS 180-2).
本发明中规定的域 F ,可采用元素数量为素数;?的有限域 F>但不局限于 这种 而是可以推广到各种域。 当 F为有限域时, 函数或变元的幂运算, 包括整数幂运算和分数幂运算, 在经过展开、 化简、 整理之后, 均可以转换成 有理分式的表示形式。  In the field F specified in the present invention, the number of elements can be used as a prime number; The finite field F> is not limited to this but can be generalized to various domains. When F is a finite field, the power operations of functions or arguments, including integer power operations and fractional power operations, can be converted into rational fractional representations after being expanded, simplified, and collated.
本发明中所述的编码消息可以由一地点的用户产生, 并传送至另一地点, 然后由该另一地点的用户译码, 即编码译码可以不在同一地点。 当然, 在同一 地点进行编码和译码是一种更简单的情况。 参照图 1, 示出了本发明一种用于编码和译码数字消息的方法实施例, 具 体可以包括: The encoded message described in the present invention may be generated by a user of a location and transmitted to another location and then decoded by the user of the other location, i.e., the coded decoding may not be co-located. Of course, encoding and decoding at the same location is a simpler case. Referring to FIG. 1, an embodiment of a method for encoding and decoding a digital message according to the present invention is shown.
歩骤 101、 选择正整数 w, n r, 其中, m≥n、  Step 101: Select a positive integer w, n r, where m≥n,
歩骤 102、 生成一包含有 E'(x,ID)的公钥, 其中, 所述 E'(x, ID)为在域 F 上的从 xm, IDb 10 到(^, ..., j )的非线性映射函数组, 所述 ID = (IDb ...,IDr)为授权用户的身份标识; Step 102: Generate a public key including E′(x, ID), where the E′(x, ID) is from x m , ID b 10 to (^, ... on the domain F , j ) a non-linear mapping function group, the ID = (ID b ..., ID r ) is an identity of the authorized user;
歩骤 103、 针对身份标识为 Π 的授权用户, 生成一与该身份标识相对 应的私钥;  Step 103: Generate, according to an authorized user whose identity is Π, a private key corresponding to the identity identifier;
歩骤 104、采用所述公钥和 ID(^), 对消息 进行编码, 得到编码消息 N; 采用所述私钥对该编码消息 N进行译码, 得到译码消息 ;  Step 104: The public key and the ID (^) are used to encode the message to obtain an encoded message N. The encoded message N is decoded by using the private key to obtain a decoded message.
和 /或, 歩骤 105、 采用所述私钥对消息 进行编码, 得到编码消息 采用所述公钥和 Π , 对该编码消息 N'进行译码, 得到译码消息 7 。  And/or, step 105, encoding the message by using the private key to obtain an encoded message, using the public key and Π, decoding the encoded message N' to obtain a decoded message 7 .
上述歩骤中并没有必然的先后顺序, 例如, 生成私钥的歩骤 103可以在生 成公钥的歩骤 102之前, 数字排序仅仅是为了说明的方便。  There is no inevitable sequence in the above steps. For example, the step 103 of generating a private key may be prior to the step 102 of generating the public key, and the numerical ordering is merely for convenience of explanation.
对于本实施例而言, 可以应用各种编译码的场合, 例如, 歩骤 104主要应 用于加解密的情况,而歩骤 105主要可以应用于数字签名和验证的情况。当然, 对于不同的应用场合, 参数不同, 其编译码的性能也有优劣之分, 本说明书后 面会提出更为优选的实施例加以说明。  For the present embodiment, various kinds of coding codes can be applied. For example, step 104 is mainly applied to the case of encryption and decryption, and step 105 can be mainly applied to the case of digital signature and verification. Of course, for different applications, the parameters are different, and the performance of the compiled code is also good or bad. A more preferred embodiment will be described later in the specification.
公钥 E'(x, ID)为一组不可逆函数。 对于给定的 ID, 由于 X的变元数量 比函数数量《'多, 已知 j )求 X时, E'(x, ID)为不定方程组, 不存在 x 的唯一解。 而 E(x, ID)以及对应的 DO则是一对互逆的函数。  The public key E'(x, ID) is a set of irreversible functions. For a given ID, since the number of arguments of X is greater than the number of functions "more, known j", E'(x, ID) is an indefinite system of equations, and there is no unique solution for x. E(x, ID) and the corresponding DO are a pair of reciprocal functions.
设被签名的数据为 =(^, ...,_y„), 待验证的数据为 = 0Λ, ..., „), 由 产生的数字签名为 x = (x1 ...,xm), 和 均为经过单向函数变换以后的数据。 Let the signed data be =(^, ..., _y„), the data to be verified is = 0Λ, ..., „), and the generated digital signature is x = (x 1 ..., x m ), and both are data after a one-way function transformation.
运用私钥 D0产生数字签名的数据处理方法为: x = DO 。 运用公钥 E'(x, ID)验证数字签名的数据处理方法为: , ...,jv) = E'(x,ID), 如果 ...,jv) = (y'i, ...,/„')' 则接受签名 x, 否则拒绝签名 x。根据 J和 中的《'个变量相同, 可以在概率上判定它们的全部《个变量都相同。  The data processing method for generating a digital signature using the private key D0 is: x = DO. The data processing method for verifying the digital signature using the public key E'(x, ID) is: , ...,jv) = E'(x,ID), if...,jv) = (y'i, .. ., /„')' accepts the signature x, otherwise rejects the signature x. According to the J's "the same variable, it is possible to determine all of their variables in the same probability.
优选的, 图 1所示的本发明实施例可以通过以下歩骤得到公钥和私钥, 请 参照图 2所示:  Preferably, the embodiment of the present invention shown in FIG. 1 can obtain the public key and the private key by using the following steps, as shown in FIG. 2:
歩骤 201、 选择正整数《, 其中, m≥n≥r , 并且 w>«';  Step 201: Select a positive integer ", where m≥n≥r, and w>«';
歩骤 202、 设置由 X到 的可逆非线性映射函数组: (^,...,3^=£^,10)= (Ei(xi,...,xm, IDi,...,IDr), En(xi,...,xm, IDi,...,IDr)); Step 202: Set a reversible nonlinear mapping function group from X to: (^,...,3^=£^,10)= (Ei(xi,...,x m , IDi,...,ID r ), E n (xi,...,x m , IDi,...,ID r ));
歩骤 203、 依据 E(x,ID)的逆函数, 生成私钥;  Step 203: Generate a private key according to an inverse function of E(x, ID);
歩骤 204、 选取 E(x, ID)中的《'个函数作为 E'(x, ID), 得到公钥; 其中, E'(x)含有关于 )的函数: E'(x, ID) = (EiC !, xm, IDb IDr), ..., Step 204: Select "' function as E' (x, ID) in E(x, ID) to obtain a public key; where E'(x) contains a function about: E'(x, ID) = (EiC !, x m , ID b ID r ), ...,
ID1 ID )。 ID 1 ID ).
在设计中, 一个给定的 E(x,ID)不一定就是一个公钥 E'(x,ID) (假设公钥 没有其他参数时, 公钥就可以认为是 E'(x,ID , 根据 '还是 后者是 前者的全部或一部分。  In the design, a given E(x, ID) is not necessarily a public key E'(x, ID) (assuming the public key has no other parameters, the public key can be considered E'(x, ID, according to 'The latter is all or part of the former.
一个公钥在数学性质上、 即在给定的输入输出消息的变换规则上, 只对应 一个私钥; 当然这个私钥可以采用不同的表现形式。  A public key corresponds mathematically to the transformation rules of a given input and output message, and only one private key; of course, this private key can take different representations.
建立公钥与私钥的具体方法很多, 这属于数学设计方面的内容, 在公钥体 制的应用的这么多年中,本领域技术人员也具有了较多的针对该方面的技术沉 淀, 在此不详述了。但本发明可以给出一个较为优选的基本思路: 随机产生若 干个简单的可逆线性变换与可逆非线性变换, 运用各种方法(迭代、 相乘、 相 除、 相加等) 组装成一个整体, 再展开、 化简、 整理而得到一个公钥; 运用这 些可逆线性变换和可逆非线性变换的逆函数, 可以对公钥求逆, 作为该公钥对 应的私钥。  There are many specific methods for establishing public and private keys. This is a content of mathematical design. In the years of application of public key systems, those skilled in the art have more technical precipitation for this aspect. Detailed. However, the present invention can give a more preferable basic idea: randomly generate a number of simple reversible linear transformations and reversible nonlinear transformations, and assemble them into a whole by various methods (iteration, multiplication, division, addition, etc.). Then re-expand, simplify, and organize to obtain a public key; using these inverse functions of reversible linear transformation and reversible nonlinear transformation, the public key can be inverted as the private key corresponding to the public key.
参照图 3, 所示的是本发明实施例的数据流向图, 包括加解密和数字签名 等数据处理流程。 其中, > « = «'时, 可以用于加解密以及可恢复的签名; 当 > « > «'时, 可以用于不可恢复的签名。 对于/ w= « = « '时, 可以用于加解 密, 只不过安全性较低。  Referring to Fig. 3, there is shown a data flow diagram of an embodiment of the present invention, including data processing procedures such as encryption and decryption and digital signature. Among them, > « = «' can be used for encryption and decryption and recoverable signatures; when > « > «', it can be used for unrecoverable signatures. For / w= « = « ', it can be used to add decryption, but it is less secure.
对于可恢复的签名,译码消息和原始消息的全部数据进行比较, 即可判断 出是否属于正确的签名; 而对于不可恢复的签名 (即说明书中《>« '的情况), 是用译码消息与原始消息的一部分进行比较, 即可判断出是否属于正确的签 名。  For a recoverable signature, the decoded message is compared with all the data of the original message to determine whether it belongs to the correct signature; and for the unrecoverable signature (ie, the case of ">«' in the specification), it is decoded. The message is compared to a portion of the original message to determine if it is the correct signature.
优选的, 本实施例也可以通过以下歩骤得到公钥和私钥:  Preferably, the embodiment can also obtain the public key and the private key by the following steps:
歩骤 a、 选择正整数《, 其中, m >n≥r ;  Step a, select a positive integer ", where m > n ≥ r;
歩骤 b、设置接口函数 ,其用于根据 d, :)得到"个关于 ...,xm) 的函数: 0(x) = ( 0l(xx, ... , xm\ ..., η(χχ, ...,xm)) = R(x); Step b, setting the interface function, which is used to get "a function about..., x m ) according to d, :): 0 (x) = ( 0l (xx, ... , x m \ ... , η (χχ, ..., x m )) = R(x);
其中, 最简单的 R(x)为: 对于/ w = «, 把 :)转换为 的恒 等变换。 在本歩骤中,接口函数 R(x)的功能可以理解为:把计算单向函数链 X = U(w) 而得到的 个变量 ..., ), 转换为《个关于 ..., )的函数, 从而实现单 向函数链 HO)与公钥 E'(x, ID)的结合, 并把经过单向函数链扩张后的中间结 果再缩小回来。它的数学描述通常很简单,例如图 5、图 6中,对于 =3, n=2 , 把 A , x2 , x3三个变量, 转换为两个多项式: MQ尸 A+^ , ti02 = x2。 R(x)的信 息, 包括 i¾、 MQ2的函数形式和系数 e3的数值, 均属于非授权用户不应知道的 秘密信息。 当然, 本领域技术人员可以依据 R(x)的特性, 设计出很多种模式, 在此无法 详述。 Among them, the simplest R(x) is: For / w = «, convert :) to the identity transformation. In this step, the function of the interface function R(x) can be understood as: converting a variable ..., ) obtained by computing a one-way function chain X = U(w) into "a... The function, which combines the one-way function chain HO) with the public key E'(x, ID), and reduces the intermediate result after the expansion of the one-way function chain. Its mathematical description is usually very simple. For example, in Figure 5 and Figure 6, for =3, n=2, convert the three variables A, x 2 and x 3 into two polynomials: M Q corpse A+^ , ti 02 = x 2 . The information of R(x), including the functional form of i3⁄4, M Q2 , and the value of the coefficient e 3 are all secret information that the unauthorized user should not know. Of course, those skilled in the art can design a variety of modes according to the characteristics of R(x), which cannot be detailed here.
本身并不具有可逆性, 但结合 HO)的知识它就可逆了。 即虽然不能 仅从 、 wQ2的值 、 来恢复 Α、 x2、 x3 , 但是借助于完全公开的 HO)的知 识 "x3 = H3( 2)", 以及隐藏在 E(x, ID)中的 的秘密参数 e3, 可依次计算出: x2 = , x3 = H3( 2), x\ = z\- 。 It is not reversible in itself, but it is reversible in combination with HO). That is, although it is not possible to recover Α, x 2 , x 3 from only the value of w Q2 , but with the knowledge of fully disclosed HO) "x 3 = H 3 ( 2 )", and hidden in E (x, ID) The secret parameter e 3 in ) can be calculated in order: x 2 = , x 3 = H 3 ( 2 ), x\ = z\- .
歩骤 c、选取 个域 F上的《元可逆线性变换 T = (Tb Ti+!), 其中, 每个 包括《个域 F上的关于 ···, 的 n元线性多项式; Step c: Select a meta-reversible linear transformation T = (T b T i+ !) on the domain F, where each includes an n-ary linear polynomial of "··· on the domain F;
歩骤 d、 选取 s个域 F上的《元可逆非线性变换 G = (G1 ... , Ο:), 其中, 每个 包括《个域 F上的关于 的函数; 其中, 所述的函数可以包括 多项式、 有理分式等各种函数类型, 本发明对此并不需要加以限定。 Step d, selecting "metainvertible nonlinear transformation G = (G 1 ... , Ο:) on s fields F, wherein each includes a function of the correlation on the domain F; wherein, The function may include various function types such as a polynomial, a rational fraction, and the like, and the present invention does not need to be limited thereto.
上述歩骤 c和 d中, 所述 T和 /或 G中的至少一个系数为 ID的映射函数。 g卩, 在 T中任一个或者多个 的至少一个系数为 ID的映射函数; 和 /或, 在 G中任一个或者多个 的至少一个系数为 ID的映射函数。优选的, 最后一层 中的至少一个系数为 ID的映射函数; 和 /或, 最后一层 中的至少一个系 数为 ID的映射函数。  In the above steps c and d, at least one of the coefficients of T and / or G is a mapping function of the ID. That is, at least one of the coefficients of any one or more of the T is a mapping function of the ID; and/or, at least one of the coefficients of any one or more of the G is a mapping function of the ID. Preferably, at least one of the coefficients in the last layer is a mapping function of the ID; and/or at least one of the coefficients in the last layer is a mapping function of the ID.
这样做的好处是: 限制了公钥 E'(x, ID)的函数规模。 例如, E'(x, ID)仅仅 是关于ID^ ^ID 的一次函数。 反之, 如果把!^中的系数规定为 ID的函数, 经过非线性变换后 ID的次数增加, 使得公钥的函数规模太大, 降低实用性。  The benefits of doing this are: Limiting the size of the function of the public key E'(x, ID). For example, E'(x, ID) is just a function of ID^ ^ID. On the contrary, if you put it! The coefficient in ^ is defined as a function of ID. After the nonlinear transformation, the number of IDs increases, making the function size of the public key too large, reducing the practicability.
歩骤 e、 依据预置规则, 合成所述《() 、 T和 G, 得到从 x、 ID到;的非 线性映射函数组: (yi,..., = E(x, ID) = (EJC J,..., xm, ID!,... ,IDr), E„(xh . . . , xm, IDi,... ,IDr)); Step e: synthesize the "(), T, and G according to a preset rule, and obtain a nonlinear mapping function group from x, ID to;: (yi,..., = E(x, ID) = ( EJC J,..., x m , ID!,... ,ID r ), E„(x h . . . , x m , IDi,... ,ID r ));
合成所述《<) 、 T和 G的目的, 在于将 R 、 T和 G的有关信息嵌入并 隐藏在公钥中, 这些信息均属于非授权用户不应知道的秘密信息。为了达到隐 藏目的, 采用各种预置合成规则都是可行的。 把《« x:>、 T和 G从 E'(x, ID)中 分离出来非常困难, 需要交替运用因式分解 (factorization, 主要针对"乘法") 和函数分解(decomposition, 主要针对"迭代")来分析隐藏在该不定方程组内 部的多层嵌套结构。 The purpose of synthesizing the "<), T, and G is to embed and hide information about R, T, and G in the public key, all of which belong to secret information that the unauthorised user should not know. In order to achieve the purpose of hiding, it is feasible to adopt various preset synthesis rules. Put "« x:>, T and G from E'(x, ID) Separation is very difficult, and it is necessary to alternate factorization (factorization, mainly for "multiplication") and function decomposition (decomposition, mainly for "iteration") to analyze the multi-level nested structure hidden inside the indefinite system of equations.
歩骤 f、 选取其中的《'个函数作为 E'(x, ID), 得到公钥; 其中, E' ^ ID) 中含有关于 (A, xm, IDb :© 的函数; E'(x, ID) = (EiC !, xm, IDb IDr), ... , Ew i, ... , xm, IDi, ... , IDr)); Step f, select "the function as E' (x, ID), get the public key; where E' ^ ID) contains the function (A, x m , ID b :©; E' ( x, ID) = (EiC !, x m , ID b ID r ), ... , E w i, ... , x m , IDi, ... , ID r ));
m>n= n、 即歩骤 f中的选取并不删除函数, 而选取 E(x, ID)中所有的 函数作为 E'(x, ID)o 此时本实施例可以用于加解密和数字签名等各种情况。 When m>n=n , that is, the selection in step f does not delete the function, and all the functions in E(x, ID) are selected as E'(x, ID) o. This embodiment can be used for encryption and decryption. And various situations such as digital signatures.
m>n> η', 即歩骤 f中采用了舍弃一部分函数的方法, 此时本实施例可 以用于数字签名的情况。 When m>n> η ', that is, a method of discarding a part of the function is employed in the step f, the present embodiment can be used in the case of digital signature.
m =n= n、 此时的安全性能较差; 当 m =n> t , 此时本实施例可以用于 数字签名的情况。 进一歩, 如果本实施例中优选采用接口函数 R(x)实现把 m 个变元, 转换成 n个多项式, 则可以保证 m〉n。 当然, 如果依据实际情况需 要 m=n, 则本领域技术人员可以根据各种现有技术得到, 在此就不再详述。 When m = n = n , the security performance at this time is poor; when m = n > t, this embodiment can be used for the case of digital signature. Further, if the interface function R(x) is preferably used in the embodiment to convert m arguments into n polynomials, m> n can be guaranteed. Of course, if m=n is needed according to the actual situation, those skilled in the art can obtain according to various prior art, and will not be described in detail herein.
歩骤 g、 生成 T的逆函数 T1 , 生成 G的逆函数 G—1 ; 把授权用户的身份 标识的值 ID( 代入 T1和 G— 1, 计算出与该身份标识相关的 DO ; 生成与该 身份标识相对应的私钥, 所述私钥包括 R x)和 D0 。 Step g, generating an inverse function T 1 of T, generating an inverse function G- 1 of G; and assigning a value ID of the authorized user's identity (substituting T 1 and G- 1 to calculate the DO associated with the identity; generating A private key corresponding to the identity, the private key including R x) and D0 .
上述歩骤 e中所述的预置规则,可以由本领域技术人员根据实际情况进行 设置即可。  The preset rules described in the foregoing step e may be set by a person skilled in the art according to actual conditions.
优选的, 如果期望得到的 E'(x, ID)中含有关于 ... , xm, lOu ... , ID 的有 理分式函数, 则所述预置规则可以为以下两种情况: Preferably, if the desired E'(x, ID) contains a rational fractional function for ..., x m , lO u ... , ID, the preset rule may be in the following two cases:
把函数组《Q(x)代入到 , 把1 代入到 把 代入到 T2, 把 Τ2代入 到 G2, ..., 把1}代入到 G, ..., 把! 代入到 Gs, 把(^代入到 Ti+1Substituting the function group " Q (x) into it, substituting 1 into T 2 , substituting Τ 2 into G 2 , ..., substituting 1} into G, ..., put! Substitute into G s and substitute (^ into T i+1 ;
或者, 把函数组 代入到 , 把1 代入到 把 代入到 T2, 把 Τ2代入到 G2, ..., 把 1}代入到 G, ..., 把! 代入到 GsOr, substituting the function group, substituting 1 into T 2 , substituting Τ 2 into G 2 , ..., substituting 1} into G, ..., put! Substitute into G s .
对于上述两种可能的方式而言, 当最后为线性变换 Ti+1时,所得到的有理 分式的公钥, 其每个有理分式的分母多项式是相同的; 当最后为非线性变换 时, 其公钥中每个有理分式的分母多项式通常都不同。 对于工程应用, 默 认相同的分母, 可以节省公钥存储空间(只要存储《 + 1个, 而不是 2«个多项 式), 提高运算速度 (只要计算《 + 1个, 而不是 2«个多项式的值)。 所述 E'(x, ID)中含有关于 ..., xm, IDb ..., 的函数形式可以为多项 式, 优选的, 可以为多项式和有理分式的组合, 或者全部由有理分式组成。 For the above two possible ways, when the last linear transformation T i+1 , the obtained rational fraction of the public key, the denominator polynomial of each rational fraction is the same; when the last is a nonlinear transformation The denominator polynomial for each rational fraction in its public key is usually different. For engineering applications, the default denominator can save public key storage space (as long as "+1, not 2" polynomial is stored), increase the speed of the operation (as long as the value of "+1, not 2" polynomial is calculated ). The function form of E'(x, ID) containing ..., x m , ID b ..., may be a polynomial, preferably, may be a combination of polynomial and rational fraction, or all of the rational points Composition.
与多项式相比, 有理分式具有显著增大的加密函数规模。 为了便于分析, 把有限域 上的有理分式转换为等价的多项式。 例如, 设本发明的公钥的次 数为 2, 把它转换成多项式的表示形式:  Compared to polynomials, rational fractions have a significantly increased size of the encryption function. For ease of analysis, the rational fraction on the finite field is converted to an equivalent polynomial. For example, let the number of times the public key of the present invention is 2, and convert it into a polynomial representation:
Figure imgf000015_0001
Figure imgf000015_0001
\<j≤k<m =1  \<j≤k<m =1
Figure imgf000015_0002
Figure imgf000015_0002
hl+...+hm≤2{p-2) h l+ ...+h m ≤2{p-2)
xu y t, i γ, blAhm ≡Fp, m>n, l^i^n-, 其项的数量将由 ¾+2 =^,增加到大约 2) = ¾¾¾。例如,当 p =5, w = 2时: f mod 5
Figure imgf000015_0003
+ i4 2 + i5 2 + 2x2 2 + i 2 2 +
Figure imgf000015_0004
X2 + 4 2 3 + 4 i 2 3 + 4 i2 2 3 + 4 i¾3 + Xi + 4 i 2 4 + 3 i2 2 4 + 2 5 + 4 i 2 5 + 2 2 6) mod 5
x u yt, i γ , b lAhm ≡F p , m>n, l^i^n-, the number of terms will increase from 3⁄4 +2 =^ to approximately 2 ) = 3⁄43⁄43⁄4. For example, when p = 5, w = 2: f mod 5
Figure imgf000015_0003
+ i 4 2 + i 5 2 + 2x 2 2 + i 2 2 +
Figure imgf000015_0004
X2 + 4 2 3 + 4 i 2 3 + 4 i 2 2 3 + 4 i3⁄4 3 + Xi + 4 i 2 4 + 3 i 2 2 4 + 2 5 + 4 i 2 5 + 2 2 6 ) mod 5
= (3 + 3 i + 3 i + 2 + 4x2 + 2 i 2 + i 2 + i 2 + + 4 i 2 += (3 + 3 i + 3 i + 2 + 4x 2 + 2 i 2 + i 2 + i 2 + + 4 i 2 +
4xi
Figure imgf000015_0005
mod 5;
4xi
Figure imgf000015_0005
Mod 5;
而当; ?=65537, =8时, 这种等价于有理分式的多项式的项的数量, 将由 And when ;==65537, =8, the number of terms equivalent to the polynomial of the rational fraction will be
MQ时的 +2=45, 大约增加到 =2160852653586620281721640525505904640;
Figure imgf000015_0006
+2 =45 at MQ, approximately increased to =2160852653586620281721640525505904640;
Figure imgf000015_0006
显然, 规模如此巨大的多项式, 虽然在数学世界中是客观存在的, 但需要 占用指数级的存储空间, 实际上是难以操作的。 这种性质的有益效果为: 把 MQ的二次稀疏多项式提升为高次稠密多项式,使等价于公钥的多项式函数的 规模发生爆炸, 从本质上提高了求不定方程组的逆函数的困难性, 从而显著增 加抗破译能力。 Obviously, a polynomial of such a large scale, although objectively present in the mathematical world, needs Occupying exponential storage is actually difficult to operate. The beneficial effects of this property are: Promoting the quadratic sparse polynomial of MQ to a higher-order dense polynomial, exposing the scale of the polynomial function equivalent to the public key, essentially improving the difficulty of finding the inverse function of the indefinite system of equations. Sex, which significantly increases the ability to resist deciphering.
从数学角度描述本实施例的一个优选例子 (以有理分式为例) 如下: 设 ID为经过规定的变换以后的用户身份标识, ID = (ID1 ...,ID , r为正 整数, ID^F;把公钥 Ε' Ο中的系数规定为 ID的映射函数,该公钥经过展开、 化简、 整理后可表示为 F上的 +r元非线性变换: A preferred example of the present embodiment is described from a mathematical point of view (taking the rational fraction as an example) as follows: Let the ID be the user identity after the specified transformation, ID = (ID 1 ..., ID, r is a positive integer, ID^F; The coefficient in the public key Ε' 规定 is defined as the mapping function of the ID. After the public key is expanded, simplified, and collated, it can be expressed as a +r element nonlinear transformation on F:
(yi, ...,JV) = E,(x, ID) = (Ei( i, ...,xm, IDi, IDr), Ew i, ...,xm, IDb IDr)), (yi, ..., JV) = E, (x, ID) = (Ei( i, ..., x m , IDi, ID r ), E w i, ..., x m , ID b ID r )),
Figure imgf000016_0001
Figure imgf000016_0001
l i m, l j n, l^k^r, πβ^Ο, π^^Ο, τ〉0, 并且在 7T1Q, 7Γ20,..., ,Q中至少有一个 7^≥1; 把该 E'(x, ID)作为公钥密码系 统中全体用户共享的基于身份的公钥。 Lim, ljn, l^k^r, πβ^Ο, π^^Ο, τ>0, and at least one of 7T 1Q , 7Γ 20 ,..., Q has 7^≥1; (x, ID) is an identity-based public key shared by all users in the public key cryptosystem.
本实施例中结合 " ID映射"的目的在于: 实现基于身份的公钥密码体制。 下面详细描述具体实现过程的例子:  The purpose of combining "ID mapping" in this embodiment is to implement an identity-based public key cryptosystem. An example of a specific implementation process is described in detail below:
第一步、 把密码参数 T、 G规定为 ID的函数  The first step is to define the password parameters T and G as functions of ID.
设授权用户的身份标识 ID = (ID1 ..., ID , r为正整数, ID^F; 由私钥 分配中心把 T、 G中的函数的系数, 规定为 ID的映射函数, 从而使 T、 G成 为 ID的函数; Let the authorized user's identity ID = (ID 1 ..., ID, r be a positive integer, ID^F; the coefficient of the function in T and G is specified by the private key distribution center as the mapping function of the ID, thereby T, G become a function of ID;
第二步、 把1\ G合成为 E(x,ID), 建立公钥 E'(x, ID)  The second step is to synthesize 1\ G into E(x, ID) and establish the public key E'(x, ID)
把《Q(x)、 T、 G合成为 F上的非线性变换: Combine " Q (x), T, G into a nonlinear transformation on F:
y = (y ...,y„) = E(x, ID)  y = (y ..., y„) = E(x, ID)
= (Ει( ι, ...,xm, IDi, IDr), ...,E„(xh ...,xm, IDh IDr)), 展开、 化简以后, = (Ει( ι, ...,x m , IDi, ID r ), ...,E„(x h ...,x m , ID h ID r )), After expansion and simplification,
Figure imgf000017_0001
x y ei^K K . ' εΆΑ -K ,Pl...Pr '丄 t is l i m, l j n, l^k^r, πβ^Ο, π^^Ο, τ〉0; 令 E'( , ID) = ( Ει( ι, ... , IDb ... , IDr), ... , Ew b ...,xm, IDb ... , IDr)),
Figure imgf000017_0001
Xy e i^KK . ' ε ΆΑ -K , Pl ... Pr '丄t is lim, ljn, l^k^r, πβ^Ο, π^^Ο, τ>0; Let E'( , ID ) = ( Ει( ι, ... , ID b ... , ID r ), ... , E wb ..., x m , ID b ... , ID r )),
E'( , ID) £ E( , ID); 把 E'(x, ID)作为全体用户共享的公钥, 公开发布; E'( , ID) £ E( , ID); publicly publish E'(x, ID) as the public key shared by all users;
第三步、 把!11、 G—1合成为 D0 , 建立每个用户的私钥 The third step, put! 11 , G- 1 is synthesized into D0, establish the private key of each user
私钥分配中心把授权用户的 ID代入密码参数 T G1, 把 T G— 1合成 为 DO , 然后把 {DO ,R(x)}作为私钥, 发给授权用户秘密保存; Private key distribution center to an authorized user ID code parameter substituting TG 1, TG- 1 to synthesize DO, then {DO, R (x)} as a private key, is kept secret distributed to authorized users;
在上述合成中, ID 的微小差别, 在经过一系列公式推导后, 所得到的公 钥和私钥将出现巨大的差别。  In the above synthesis, the small difference in ID, after a series of formula derivation, will result in a huge difference between the public key and the private key.
第四步、 进行加密与解密、 数字签名与验证  The fourth step, encryption and decryption, digital signature and verification
把授权用户 f的身份标识 ID(^), 代入 E'(x,ID), 推导出 E 再进行 加密或验证数字签名的数据处理, gp: γ = Ε'κ{χ) =
Figure imgf000017_0002
ΙΌ(Κ))0
Substituting the identity ID (^) of the authorized user f into E'(x, ID), deriving E and then encrypting or verifying the data processing of the digital signature, gp: γ = Ε'κ{χ) =
Figure imgf000017_0002
ΙΌ(Κ)) 0
为更清楚地表述上述实施例, 下面描述一个小数据的例子:  To more clearly illustrate the above embodiment, an example of a small data is described below:
设 F为有限域 F ρ=\Ί, m=n=2, «'= 1, s=l, r=l, g卩 ID = (ID); 设线 性变换 Τ=(Τ1 Τ2), 由^、 组成, Τ2由^、 β2组成, 其中: Bl = {bll,bll)Let F be the finite field F ρ=\Ί, m=n=2, «'= 1, s=l, r=l, g卩ID = (ID); Let linear transformation Τ=(Τ 1 Τ 2 ), Composed of ^, Τ 2 consists of ^, β 2 , where: B l = {b ll , b ll )
= (1, 2), B2= (b2 b22)=(5 + 15 ID + ID2, 6 + 16 ID + ID2),
Figure imgf000017_0003
= (1, 2), B 2 = (b 2 b 22 )=(5 + 15 ID + ID 2 , 6 + 16 ID + ID 2 ),
Figure imgf000017_0003
a. 122 —a. 112  a. 122 — a. 112
"111"122― "112"121 "111"122― "112"121 .15 1"  "111"122― "112"121 "111"122― "112"121 .15 1"
c —"121 "111 10 8  c —"121 "111 10 8
^111^122― ^112^121 ^111^122― ^112^121 A2U A2\2 "l + HID + ID2 2 + 12ID + ID2" ^111^122― ^112^121 ^111^122― ^112^121 A 2U A 2\2 "l + HID + ID 2 2 + 12ID + ID 2 "
A22\ ^222 _ 3 + 13ID + ID2 4 + 14ID + ID2 A 22\ ^222 _ 3 + 13ID + ID 2 4 + 14ID + ID 2
Figure imgf000018_0001
Figure imgf000018_0001
15 + 10ID + 8ID 1 + 6ID + 9ID 15 + 10ID + 8ID 1 + 6ID + 9ID
1 + 2ID + ID2 1 + 2ID + ID2 1 + 2ID + ID 2 1 + 2ID + ID 2
10 + 15ID + 9ID 8 + 3ID + 8ID  10 + 15ID + 9ID 8 + 3ID + 8ID
1 + 2ID + ID2 1 + 2ID + ID2 设非线性变换 G=(G), G尸 (G„,G12), 其中: 1 + 2ID + ID 2 1 + 2ID + ID 2 set the nonlinear transformation G = (G), G corpse (G „, G 12 ), where:
G11(1): u =— mod 17, G12(2 : un =— mod 17 , G 11(1) : u =— mod 17, G 12(2 : u n =— mod 17 ,
G11(1)- 1: vu =— modl7, G12(2)- 1: v12二 mod 17, 运用上述参数推导出 E(x, ID): G 11(1) - 1 : v u =— modl7, G 12(2) - 1 : v 12 mod 17, using the above parameters to derive E(x, ID):
― X\, U()2 = , ― X\, U()2 = ,
n = («iii Moi + "ii2"02 + ^n) mod p,  n = («iii Moi + "ii2"02 + ^n) mod p,
vn = (a UQX + ^122^02 + bn) mod p,Vn = (a UQX + ^122^02 + b n ) mod p,
Figure imgf000018_0002
Figure imgf000018_0002
V2\ = («211 «11 + «212«12 + ¾l) mod p, V 2 \ = («211 «11 + «212«12 + 3⁄4l) mod p,
v22 = («22i «ii + a222u12 + b22) mod ρ·, v 2 2 = («22i «ii + a 222 u 12 + b 22 ) mod ρ·,
代入具体的值, 推导出由 x、 ID到;的映射函数组为:  Substituting specific values, the mapping function group derived from x, ID to ; is:
y = ( yi) = E( , ID) = (E^, x2, ID), E2(XU X2, ID)), 其中: y = ( yi) = E( , ID) = (E^, x 2 , ID), E 2 (X U X 2 , ID)), where:
yi = Ei( i, x2, ID = ((16 + 10ID + 13ID2 + 5χ + lOID j + 9ID2JC! +IDJCI2 + HOW + 6x2+ 14IDJC2+11ID¾+ 8 J 2+ 15ID I 2 + 16ID2 i 2+ 16JC2 2 +IDJC2 2 + 4ID 2 )/(12 + \?>xl + xl 1+ \Ax2+ 9xxx2 + 1 ¾2)) mod 17, Yi = Ei( i, x 2 , ID = ((16 + 10ID + 13ID 2 + 5χ + lOID j + 9ID 2 JC! +IDJCI 2 + HOW + 6x 2 + 14IDJC 2 +11ID3⁄4+ 8 J 2 + 15ID I 2 + 16ID 2 i 2 + 16JC 2 2 +IDJC 2 2 + 4ID 2 )/(12 + \?>x l + x l 1 + \Ax 2 + 9x x x 2 + 1 3⁄4 2 )) mod 17,
y2= E2( i, x2, ID) = ((13 + 7ID + 13ID2 + lO j + 15ID i + 9ID2 j +3 i2 + 15ID i2+ 7ID2xi2 + 14x2+ 5IDx2+llID + 14x c2+ 4ID i 2 + 16ID2 ! 2 + \0x2 2 + 16ID 2 2 + 4ID 2) /(12+ 13 i + j2+ Πχ2+ 9xxx2 + 14x2 2)) mod 17, 把该 E(x, ID)中的一部分函数规定为全体用户共享的基于身份的公钥 E'( ID), 例如设 E X2, ID)为公钥, 而 E2( b x2, ID)不是公钥。 y 2 = E 2 ( i, x 2 , ID) = ((13 + 7ID + 13ID 2 + lO j + 15ID i + 9ID 2 j +3 i 2 + 15ID i 2 + 7ID 2 xi 2 + 14x 2 + 5IDx 2 +llID + 14x c 2 + 4ID i 2 + 16ID 2 ! 2 + \0x 2 2 + 16ID 2 2 + 4ID 2 ) /(12+ 13 i + j 2 + Πχ 2 + 9x x x 2 + 14x 2 2 )) mod 17, put a part of the E(x, ID) The function specifies an identity-based public key E'(ID) shared by all users, for example, EX 2 , ID) is a public key, and E 2 ( b x 2 , ID) is not a public key.
然后, 私钥分配中心运用 ID的值, 推导出对应的解密函数, 即私钥 DO :  Then, the private key distribution center uses the value of the ID to derive the corresponding decryption function, that is, the private key DO:
+ <¾12 (y2 - b22) ) mod/?,+ <3⁄4 12 (y 2 - b 22 ) ) mod/?,
Figure imgf000019_0001
+ ciri (y2 - b22) ) mod;?,
Figure imgf000019_0001
+ c iri (y 2 - b 22 ) ) mod;?,
n = (1 / ¾ii) mod p, n = (1 / 3⁄4ii) mod p,
i2 = ( n I un) mod;?,  I2 = ( n I un) mod;?,
«oi = (cm ( n - bn) + Cn2 (v12 - bu) ) mod p,«oi = (cm ( n - bn) + Cn2 (v 12 - b u ) ) mod p,
02 = (Ci2l ( n - bu) + C122 {vn - bl2) ) mod f, 02 = (Ci2l ( n - bu) + C 122 {v n - bl2) ) mod f,
设 ID = 6, 代入上述的函数组, 推导出对应的私钥 DO 为:  Let ID = 6, substitute the above function group, and derive the corresponding private key DO as:
X = (^ι, xi) = DO) = (DjCyj, y2\ D2(y!, _½)), 其中: X = (^ι, xi) = DO) = (DjCyj, y 2 \ D 2 (y!, _1⁄2)), where:
Figure imgf000019_0002
Figure imgf000019_0002
设被签名的数据 ' =(4, 13), /'的数字签名为: X = DO = (2, 3); ¾ 名 (2, 3)的正确性时, 计算:
Figure imgf000019_0003
如果待验证的数据; Λ = 4, 则接 受该签名, 否则拒绝该签名。
Let the signed data '=(4, 13), /' the digital signature be: X = DO = (2, 3); 3⁄4 (2, 3) when correct, calculate:
Figure imgf000019_0003
If the data to be verified; Λ = 4, the signature is accepted, otherwise the signature is rejected.
相应的, 针对上述实施例, 本发明还提供了一装置实施例, 至少包括以下 单元:  Correspondingly, with respect to the above embodiments, the present invention also provides an apparatus embodiment, which includes at least the following units:
公钥生成单元,用于生成一包含有 E'(x, ID)的公钥,所述 E'(x, ID)为在域 F上的从 IDb ..., IDr)ilJ(y!, j )的非线性映射函数组, 所述 ID = (ID1; ...,ID 为授权用户的身份标识; 其中, m, n r为正整数, m≥n、 a public key generating unit, configured to generate a public key including E'(x, ID), which is a slave ID b ..., ID r ) ilJ (y) on the domain F !, j ) The non-linear mapping function group, the ID = (ID 1; ..., ID is the identity of the authorized user; where m, nr are positive integers, m ≥ n,
私钥生成单元, 用于针对身份标识为 π 的授权用户, 生成一与该身份 标识相对应的私钥;以及至少包括加解密单元和签名验证单元中的一个,其中, 加解密单元, 用于采用所述公钥和 ID(^), 对消息 进行编码, 得到编码 消息 N; 采用所述私钥对该编码消息 N进行译码, 得到译码消息 ;  a private key generating unit, configured to generate, according to an authorized user whose identity is π, a private key corresponding to the identity identifier; and at least one of an encryption and decryption unit and a signature verification unit, where the encryption and decryption unit is configured to: Using the public key and ID (^), encoding the message to obtain an encoded message N; using the private key to decode the encoded message N to obtain a decoded message;
或者, 签名验证单元, 用于采用所述私钥对消息 进行编码, 得到编码 消息 采用所述公钥和 ID(^),对该编码消息 N'进行译码,得到译码消息 Γ。 下面介绍一些上述实施例具体实现过程中的诀窍性信息。 Or the signature verification unit is configured to encode the message by using the private key, and obtain the encoded message by using the public key and the ID (^), and decoding the encoded message N′ to obtain a decoded message. The following describes some of the ambiguous information in the specific implementation process of the above embodiments.
如何使得公钥中 ID的次数比较低、 私钥中的等价的 ID的次数非常高: How to make the number of IDs in the public key low, and the number of equivalent IDs in the private key is very high:
(1) 在加密的最后一层密码参数 (例如 Gs中的系数) 中注入 ID的映射, 对于推导解密函数的推导过程来说, 相当于在第一层就注入了 ID的映射, 经 过后面的多层非线性变换, 使解密函数中的 ID的次数得到放大。 (1) Injecting the mapping of the ID in the encrypted last-level cryptographic parameter (for example, the coefficient in G s ), for the derivation process of deriving the decryption function, it is equivalent to injecting the mapping of the ID in the first layer, after the latter The multi-layer nonlinear transformation magnifies the number of IDs in the decryption function.
(2) 使用比较大的《, 在解密时依次计算 的过程中, 由于 ^^要 参与 vy的运算, 使得解密函数的 ID的次数被串行放大。 (2) Using a relatively large one, in the process of sequentially calculating during decryption, since ^^ is to participate in the operation of v y , the number of IDs of the decryption function is serially amplified.
(3) 采用其非线性次数保持不变的非线性变换,例如把 设置为:  (3) Use a nonlinear transformation whose nonlinear number remains constant, for example, set to:
Ujk = Gjk (vJ ―. , vJn) = p, Ujk = Gj k (v J ―. , v Jn ) = p,
'jOO十
Figure imgf000020_0001
十…」 mod
'jOO ten
Figure imgf000020_0001
Ten..." mod
τ』0ηνη tjkb tjoi≡¥p , ujk, Vjk≡¥p(xi , . . . , xm) , k = 1, 然后由 推导出 G T 。。 例如H,, 对' J于 J " n = - 2,, Gi = -
Figure imgf000020_0002
G KJj2 )为:
Figure imgf000020_0003
Ten τ 』0η νη tjkb tjoi≡¥ p , u jk , Vj k ≡¥ p (xi , . . . , x m ) , k = 1, and then derive GT. . For example, H,, for 'J in J " n = - 2,, Gi = -
Figure imgf000020_0002
G KJj2 ) is:
Figure imgf000020_0003
v _ lj\ Vj20 Lj j2\ τ Lj2VjQQuj\ lj20lj0\uj\ lj\ \lj00uj2 τ lj\0lj0\uj2 mQ(^ p ■12^/21—tj tj 22 + ^j22^jQ\Uj\—tj2\tj。2Uj\ ~ ^j\2^jQ\Uj2 + Ί 1^/02^ /2 显然, 若把上述加密过程中的系数^规定为 ID的映射函数, 则解密过程v _ l j\ Vj20 L j j2\ τ L j2VjQQ u j\ l j20 l j0\ u j\ l j\ \ l j00 u j2 τ l j\0 l j0\ u j2 mQ( ^ p ■12^/ 21—tj tj 22 + ^j22^jQ\ U j\—tj2\tj. 2 U j\ ~ ^j\2^jQ\ U j2 + Ί 1^/02^ /2 Obviously, if the above encryption process is in progress The coefficient ^ is specified as the mapping function of the ID, then the decryption process
ID的次数是加密过程中 ID的次数的 n倍, 而;的次数却保持不变。 The number of IDs is n times the number of IDs in the encryption process, while the number of times remains the same.
进一歩, 本实施例中建立私钥的方法可以优化如下, 包括以下子歩骤: 子歩骤 a、 由 T1和 G— 1计算得到 D0 , 并且, 所述 DO 与 ID相关; 子歩骤 b、将所述 D0 分为至少两个部分,保存在至少两个私钥分配中心, 每个部分都与 ID相关; Into a ho, the present embodiment can establish a private key method the following optimization, ho comprises the sub-steps of: sub-ho step a, D0 obtained by the calculation of T 1 and G-1, and the ID related DO; ho sub step b. Dividing the D0 into at least two parts and storing them in at least two private key distribution centers, each part being related to an ID;
子歩骤 c、 各私钥分配中心把授权用户标识 Π 代入各自秘密保存的那 部分 D0 , 计算出私钥的一部分, 发送给该用户;  Sub-step c, each private key distribution center substitutes the authorized user identifier Π into the part D0 of each secret storage, calculates a part of the private key, and sends it to the user;
子歩骤 d、 该用户将各部分的私钥合成, 计算得到私钥。  Sub-step d, the user synthesizes the private key of each part, and calculates the private key.
同时,对于前述的装置实施例而言,其中的所述私钥生成单元进一歩包括: 至少两个私钥分配中心,所述各私钥分配中心中保存有私钥函数 D0 的一 部分, 每个部分都与 ID相关; 所述各私钥分配中心用于根据授权用户的 ID 计算得到私钥的一部分, 发送给该用户; 私钥合成装置, 用于将私钥的各个部分合成, 计算得到私钥。 Meanwhile, for the foregoing device embodiment, the private key generating unit further includes: at least two private key distribution centers, wherein each private key distribution center stores a part of a private key function D0, each The parts are all associated with the ID; the private key distribution centers are configured to calculate a part of the private key according to the ID of the authorized user, and send the part to the user; The private key synthesizing device is configured to synthesize each part of the private key and calculate the private key.
如图 4所示, 是本发明多个私钥分配中心联合建立私钥的示意图。从数学 角度对上述过程的一个例子描述如下:  As shown in FIG. 4, it is a schematic diagram of a plurality of private key distribution centers of the present invention jointly establishing a private key. An example of the above process is described mathematically as follows:
(1) 由网络中唯一的一个一级私钥分配中心 ^(^ 建立公钥 E'(x, ID), 并建立对应于 E'(x, ID)的私钥生成函数:  (1) A unique primary key distribution center in the network ^(^ establishes the public key E'(x, ID) and establishes a private key generation function corresponding to E'(x, ID):
Z = (ζχ, ...,zn) = O(y, dx, d2, ...) Z = (ζχ, ..., z n ) = O(y, dx, d 2 , ...)
= (Di(yb ...,y dx, d2, ...), Dw(yb ...,y dx, d2, ...)), 该函数中的变元 4,4, ...是 ID的映射函数: άχ= χ{ΙΌ), d2=f2(W), ... ;= (Di(y b ..., yd x , d 2 , ...), D w (y b ..., yd x , d 2 , ...)), argument 4 in the function, 4, ... is the mapping function of ID: ά χ = χ {ΙΌ), d 2 = f 2 (W), ... ;
(^、^(^按照约定的方法,把 DO,^^ 分离成 ?个部分: {Dd A, d2, ...), O(h)(y, d h, ...)}, 分别发给 2个二级私钥分配中心, 即对于 (^, ^ (^ According to the agreed method, separate DO, ^^ into parts: {Dd A, d 2 , ...), O (h) (y, dh, ...)}, respectively Issued to 2 secondary private key distribution centers, ie for
把 D^j, ^^…)发给 KDC 秘密保存; 并把 _ i(ID), /2(ID),…, 发给 所有的二级私钥分配中心秘密保存; 其中, 所述的 "把 Ο ,Α,Α, 分离成 2 个部分" 的具体实现方法, 属于公知技术。 Send D^j, ^^...) to the KDC for secret preservation; and send _i(ID), / 2 (ID),..., to all secondary private key distribution centers to secretly save; The specific implementation method of separating Ο, Α, Α, into two parts is a well-known technique.
(3) ,在为某个授权用户 f建立私钥时, KDC21, ...,10) 2/!分别先把该授权 用户 K的身份标识 ID(^)的值, 代入到 ID的映射函数 / ID), /2(ID),..., 计算 出 4, 4, ...的值; 再把 H .的值代入到 KDC21, KDC2A各自秘密保存的 Ό , dh d2, ...), 计算出
Figure imgf000021_0001
(3), when establishing a private key for an authorized user f, KDC 21 , ..., 10) 2/! first substitute the value of the identity ID (^) of the authorized user K into the mapping of the ID. Function / ID), / 2 (ID),..., calculate the value of 4, 4, ...; then substitute the value of H. into KDC 21 , KDC 2A secretly saved Ό, d h d 2 , ...), Calculate
Figure imgf000021_0001
.
(4) , 授权用户 f从 KDC21, ...,KDC2/^别领取 D )O , ...,D )O , 按照 约定的方法, 还原为该用户的完整的私钥 :)。 (4), authorized user f from KDC 21 , ..., KDC 2 / ^ do not receive D) O, ..., D) O, according to the agreed method, restore to the user's complete private key :).
采用多个私钥分配中心合成私钥的技术点,是为了保证即使是私钥分配中 心的内部人员, 也无法窃取用户的私钥。  The technical point of using multiple private key distribution centers to synthesize private keys is to ensure that even the internal personnel of the private key distribution center cannot steal the user's private key.
下面描述一个小数据的例子:  An example of a small data is described below:
在前述的实施例中, 设^ 1 ^中的元素是数, β2中的元素是 ID的映 射函数, G中没有参数, 则私钥生成函数为: In the foregoing embodiment, it is assumed ^ 1 ^ is the number of elements, β 2 is the mapping function element ID, G, there is no parameter, the secret key generation function is:
x = (xh x2) = O(y, A2, B2) = (O,(y, A2, B2), O2(y, A2, B2)), 其中: 尸 DC^, , «211, «212, «221, «222, ¾1, b22) x = (x h x 2 ) = O(y, A 2 , B 2 ) = (O,(y, A 2 , B 2 ), O 2 (y, A 2 , B 2 )), where: corpse DC ^, , «211, «212, «221, « 22 2, 3⁄41, b 22 )
= ((_<¾122<¾212 + 2<¾u<¾1221<¾22 ~ <¾112<¾222 ~ 2<¾122i i +
Figure imgf000021_0002
+
Figure imgf000022_0001
+ 2111Z½2)) mod 17 X2= D2(yi,J^2, <¾11, <¾12, <¾21, <¾22, ¾1, 22)
= ((_ <¾12 2 < ¾21 2 + 2 <¾u <¾ 12 <¾ 21 <¾22 ~ <¾11 2 <¾22 2 ~ 2 <¾ 12 <¾ 2 ii +
Figure imgf000021_0002
+
Figure imgf000022_0001
+ 211 i3⁄4 1Z 1⁄2 2 )) mod 17 X 2 = D 2 (yi, J^2, <3⁄411, <3⁄412, <3⁄421, <3⁄422, 3⁄41, 22)
= ((<¾122<¾212 ~
Figure imgf000022_0002
+ <¾112<¾222 + 3<¾122i i ~
= ((<3⁄412 2 <3⁄421 2 ~
Figure imgf000022_0002
+ <¾11 2 <¾22 2 + 3 <¾ 12 <¾ 2 ii ~
2 2  twenty two
3< 3<¾u <¾22 22 + ^212^221^21^22 +3< 3<3⁄4u <3⁄422 22 + ^212^221^21^22 +
¾
Figure imgf000022_0003
+ ~
3⁄4
Figure imgf000022_0003
+ ~
2 2  twenty two
^212^221^22^1 ~ ¾ 11^222^22^1 ~ < <¾2 Vl + 3 <2211^212^221^2 ~ 3<2211 «222^2 ~ ^212^221^22^1 ~ 3⁄4 11^222^22^1 ~ <<3⁄42 Vl + 3 <2 2 11^212^221^2 ~ 3<2 2 11 «222^2 ~
~
Figure imgf000022_0004
~
~
Figure imgf000022_0004
~
4i¾2122b2Lyi + 2alxlallxb1yx + 2i721122b2 yi + 2allxair]yx + 2i¾1221b2ly2 + 2alxxa111blxy1 - Aalxxa1x1br]y1 - 2alxlallxyxy1 - 2α1λλαΎΏγλγ1 + 2alxxalxlyi)) mod 17 设 ?=2, 把 00,^ 2, :)分解成 2部分, 例如可以规定为: 4i¾ 21 i¾ 22 b 2L yi + 2a lxl a llx b 1 y x + 2i7 211 i¾ 22 b 2 yi + 2a llx a ir] yx + 2i¾ 12 i¾ 21 b 2l y 2 + 2a lxx a 111 b lx y 1 - Aa lxx a 1 x 1 b r ] y 1 - 2a lxl a llx y x y 1 - 2α 1λλ α ΎΏ γ λ γ 1 + 2a lxx a lxl yi)) mod 17 set = 2, to 00, ^ 2,? :) Decomposed into 2 parts, for example, can be specified as:
D(1)(j, A2, B2) = DO, A2, β2)中的两个分子多项式, D (1) (j, A 2 , B 2 ) = two molecular polynomials in DO, A 2 , β 2 ),
O(2)(y, A2, B2) = O(y, A2, β2)中的两个分母多项式。 O (2) (y, A 2 , B 2 ) = two denominator polynomials in O(y, A 2 , β 2 ).
KDCn把上述的 D(1¾, Α2, β2)发给 KDC21, 把 D(2¾, Α2, β2)发给 KDC22, 同时把 ID对于 d d2,…的映射函数也发给它们。 KDCn sends the above D (1 3⁄4, Α 2 , β 2 ) to KDC 21 and D( 2 3⁄4, Α 2 , β 2 ) to KDC 22 , and also sends the mapping function of ID to dd 2 ,... Give them.
为某个授权用户建立私钥时, KDC21、 KDC22分别先把该用户的 ID代入 映射函数: When a private key is established for an authorized user, KDC 21 and KDC 22 respectively substitute the ID of the user into the mapping function:
(b2i, b22) = (5 + 15 ID + ID2, 6 + 16 ID + ID2), (b 2 i, b 22 ) = (5 + 15 ID + ID 2 , 6 + 16 ID + ID 2 ),
211 "212 1 + llID + ID2 2 + 12ID + ID2 a 221 a 222 3 + 13ID + ID2 4 + 14ID + ID2 211 "212 1 + llID + ID 2 2 + 12ID + ID 2 a 221 a 222 3 + 13ID + ID 2 4 + 14ID + ID 2
计算出 "211, "212, "221, "222, b2 b22, 并分别代入到: Calculate "211, "212, "221, "222, b 2 b 22 and substitute them into:
<¾11, <¾12, <¾21, <¾22, 21, 22), D ( , <¾11, <¾12, <¾21, <¾22, 21, 22), 计算出 D(1)O、 D(2)O, 然后分别发送给该用户; <3⁄411, <3⁄412, <3⁄421, <3⁄422, 21, 22), D ( , <3⁄411, <3⁄412, <3⁄421, <3⁄422, 21, 22), calculate D (1) O, D (2) O And then sent to the user separately;
授权用户从 KDC21、 KDC22分别领取 D(1)0 、 D(2)0 , 然后按照规定的方 法还原为 D0 。 例如当 ID=6时, 私钥 DO 为: Authorized users receive D (1) 0 and D (2) 0 from KDC 21 and KDC 22 respectively, and then restore to D0 according to the specified method. For example, when ID=6, the private key DO is:
X = (^ι, xi) = DO) = (DjCyj, y2\ D2(y!, _½)), 其中:X = (^ι, xi) = DO) = (DjCyj, y 2 \ D 2 (y!, _1⁄2)), where:
^ , 、 2 + 12v, +6v7 , ΛΓη xx =u0l=OAyl,y2) = ; 1 ; ~ mod 17, ^ , , 2 + 12v, +6v 7 , ΛΓη x x =u 0l =OAy l ,y 2 ) = ; 1 ; ~ mod 17,
9 + 2^+^+13^+4^+6^ x =u()7=O y],y7) = L. ― ~ mod 17; 9 + 2^+^+13^+4^+6^ x =u ()7 =O y ] , y 7 ) = L . ― ~ mod 17;
9 + 2^+^+13^ + 4^ + 6^ 上述方案中:各 KDC2,并不是由于管理制度和计算能力的制约、而是由于 缺少信息, 而无法窃取到用户的私钥; 而掌握全部秘密的 KDCu平时处于关 闭封存状态, 不直接参与建立私钥。 建议 KDCu在建立私钥生成函数时, 对 有关变量 (例如 ll, «212, «221, «222, 621, 2 ) 重新命名, 可达到更好的效果。 9 + 2^+^+13^ + 4^ + 6^ In the above scheme: each KDC 2 is not restricted by the management system and computing power, but is unable to steal the user's private key due to lack of information; and the KDCu that grasps all the secrets is usually in the closed storage state and does not directly participate in the establishment. Private key. It is recommended that KDCu rename the relevant variables (such as ll, «212, «221, «222, 621, 2) when creating the private key generation function, which can achieve better results.
为了实现私钥形态的个性化, 本实施例还可以进一歩包括歩骤: 在生成私 钥的过程中, 插入随机变换 W( )以及逆 w- )。  In order to realize the personalization of the private key form, this embodiment can further include the following steps: In the process of generating the private key, the random transform W( ) and the inverse w- ) are inserted.
从数学角度对的私钥形态个性化描述如下:  The personalization of the private key form from a mathematical perspective is as follows:
在合成私钥 DO 的过程中, 插入随机变换 wo以及逆 w— :  In the process of synthesizing the private key DO, insert the random transform wo and the inverse w- :
DO) = D,(Da0)) = D.CW-^WCD^)))) = D (D,。0 ), 其中 D,fl()=W(Dfl()), D',()=D,(W-10), 把 W()、 W- )分别从 D,fl()、 D ()中分解 出来是困难的。 w()、 W^)的具体实现方法属于公知技术。 DO) = D,(D a 0)) = D.CW-^WCD^)))) = D (D, .0 ), where D, fl ()=W(D fl ()), D', ()=D, (W- 1 0), it is difficult to decompose W(), W-) from D, fl (), D (), respectively. The specific implementation methods of w(), W^) are well-known techniques.
总之,实现私钥形态个性化的基本构思是:在推导 DO 的过程中插入随机 变换, 以掩盖 DO 与 ID之间的相关性, 并把 隐藏起来; 从而使得: 对于 不同用户的私钥 D0 ,不仅其数学性质不同,而且其函数的表达形式还受到了 两种相互独立的因素一一来自 ID和随机变换一一的双重控制, 有效地提高了 抗合谋攻击能力。  In summary, the basic idea of personalizing the form of the private key is to insert a random transformation in the process of deriving the DO to cover up the correlation between the DO and the ID, and hide it; thus: For the private key D0 of different users, Not only its mathematical properties are different, but also the expression of its functions is subject to two independent factors, one from ID and random transformation, which effectively improves the ability to resist collusion.
进一歩, 本实施例还可以结合单向函数链的技术点, 即还包括设置单向函 数链 HO) , 以及单向函数链的逆函数 H—1^的歩骤; 由于在其基础上引入了单 向函数链,用于先将原始消息进行扩张,然后再压缩,并能够满足可逆的需求, 因而, 能够在具有较高安全性能的情况下适用于各种加解密和数字签名的场 合。 单向函数链有两个性质: Further, this embodiment can also combine the technical points of the one-way function chain, that is, the step of setting the one-way function chain HO) and the inverse function H- 1 ^ of the one-way function chain; A one-way function chain is used to first expand the original message, then compress it, and meet the reversible requirements. Therefore, it can be applied to various encryption and decryption and digital signature situations with high security performance. A one-way function chain has two properties:
一是复杂性: 其数学性质应理解为稠密多项式函数组:
Figure imgf000023_0001
One is complexity: its mathematical properties should be understood as a set of dense polynomial functions:
Figure imgf000023_0001
上式作为把明文变换成密文的置换方程组的一部分, 使解方程遇到巨大困难; 二是可逆性: 当 〉《时, (x1 中有一部分变元是多余的, 只需要其 中的《个变元就能恢复出 01 ..., ! )。 例如在图 5、 图 6的实施例中, 不使用 x3, 只要运用 A、 x2依次计算: w2 = x2 _ ¾( ), wl = xl - Yil{w1), 就能恢复出 实现上述性质的基本方法是: 对于 z=l, 2, ... (其顺序可任意规定), 不断 把 w//≠0, 经过单向函数的变换后, 加到 上。 仍以图 5、 图 6为例: 把 w2 经过 ¾的变换后加到 Wl, 得到 Α, 再把 经过 ¾的变换后加到 w2, 得到 x2, 依此类推, 实现多层单向函数嵌套的、 可逆的单向函数链。 The above formula is part of the permutation equations that transform plaintext into ciphertext, which makes the equations encounter great difficulties. Second, reversibility: When 〉“, (x 1 has some arguments that are superfluous, only need one of them) "A variable can recover 0 1 ..., ! ). For example, in the embodiment of FIG. 5 and FIG. 6, instead of using x 3 , as long as A and x 2 are used to calculate: w 2 = x 2 _ 3⁄4 ( ), w l = x l - Yi l {w 1 ), The basic method that can restore the above properties is: For z = l, 2, ... (the order can be arbitrarily specified), constantly Put w//≠0, after a one-way function transformation, add it. Still taking Fig. 5 and Fig. 6 as an example: After w 2 is transformed by 3⁄4 , it is added to Wl to obtain Α, and after 3⁄4 transformation, it is added to w 2 to obtain x 2 , and so on. A nested, reversible, one-way function chain of functions.
则, 本实施例中具体的编译码歩骤就可以优化为:  Then, the specific coding code step in this embodiment can be optimized as:
针对加解密的情形, 可以为: 通过单向函数链 HO)将原始消息转换为中 间结果消息 M,采用所述公钥和 ID(^),对消息 进行编码,得到编码消息 N; 以及, 采用所述私钥对该编码消息 N进行译码, 得到译码消息 , 通过单向函 数链的逆函数 H—^)将中间结果消息 转换为最终译码结果;  For the case of encryption and decryption, the original message may be converted into an intermediate result message M by using a one-way function chain (HO), and the message is encoded by using the public key and ID (^) to obtain an encoded message N; The private key decodes the encoded message N to obtain a decoded message, and converts the intermediate result message into a final decoding result by using an inverse function H-^ of the one-way function chain;
针对签名的情形, 可以为: 采用所述私钥对消息 进行编码, 得到中间 结果^通过单向函数链的逆函数 H—1^将中间结果 z转换为数字签名消息 以及, 通过单向函数链 HO)将数字签名消息 N'转换为中间结果 X, 采用所述 公钥和 ID(^), 对该中间结果 X进行译码, 得到译码消息 7 。 For the case of signature, it may be: using the private key to encode the message, and obtaining an intermediate result ^ by converting the intermediate result z into a digital signature message through the inverse function H- 1 of the one-way function chain and through the one-way function chain HO) converts the digital signature message N' into an intermediate result X, and uses the public key and ID (^) to decode the intermediate result X to obtain a decoded message 7.
下面对前述实施例与单向函数链结合的详细实现过程举例进行描述。设定 直接将 E'(x, IDM乍为公钥 (即公钥不含有其他参数), 并以 E'(x, ID)中含有有 理分式函数为例进行说明。 详细歩骤如下:  An example of a detailed implementation process of combining the foregoing embodiment with a one-way function chain will be described below. Set E' directly to E' (x, IDM is the public key (that is, the public key does not contain other parameters), and the E'(x, ID) contains the function of the fractional function as an example. The detailed steps are as follows:
第一步、 建立单向函数链 HO)  The first step is to build a one-way function chain HO)
首先, 设置密码算法的结构。 例如设 F为有限域 F> p为素数, 正整数 "'并且 w〉"'。 设
Figure imgf000024_0001
…., zn), ID=(IDi, ...,IDr), w x y z lOi 0
First, set the structure of the cryptographic algorithm. For example, let F be a finite field F> p is a prime number, a positive integer "' and w>"'. Assume
Figure imgf000024_0001
...., z n ), ID=(IDi, ...,ID r ), wxyz lOi 0
建立单向函数链: x = H(w), 其运用若干个单向函数 HO ...,¾◦的组合 运算, 把 w转换为 X, 该 HO)是一个足够复杂的、 可逆的非线性变换;  Establish a one-way function chain: x = H(w), which uses a combination of several one-way functions HO ..., 3⁄4◦ to convert w to X, which is a sufficiently complex, reversible nonlinearity Transform
建立函数 R(x): u0(x)= (uoi(x\, ... , xm\ ..., uQn{xi, ...,xm)) = R(x), 其把 x转 换为《个关于 xi, ..., 的 w元多项式; Establish the function R(x): u 0 (x)= (uoi(x\, ... , x m \ ..., u Qn {xi, ..., x m )) = R(x), Convert x to "a w polynomial about xi, ...,;
由 HO 、 推导出单向函数链的逆: w = Η"1^) , 其满足: IV = H_1(R( H(w))); From HO, derive the inverse of the one-way function chain: w = Η" 1 ^), which satisfies: IV = H _1 (R( H(w)));
把 HO)作为公开的密码算法的一部分, 把 作为私钥的一部分, 计算 H— 需要使用 R(x)。  Using HO) as part of the public cryptographic algorithm, calculate H as part of the private key - you need to use R(x).
第二步、 建立密码参数 T、 G, 并把 T、 G规定为 ID的函数, 具体歩骤 为:  The second step is to establish the password parameters T, G, and define T and G as functions of ID. The specific steps are as follows:
(1) 随机选择 个 F上的《元线性变换 T, 其中, 每个 n元线性变换 由《个 F上的关于 %的《元线性多项式组成: T = (T1; ...,Ti+1), 其中:(1) Randomly select the "metalinear transformation T" on F, where each n-ary linear transformation consists of "metalinear polynomials of % on F": T = (T 1; ..., T i+1 ), where:
Figure imgf000025_0001
Figure imgf000025_0001
βί = Ty(ori, ..., On) = bij0 + byi ax + bij2a2 + ... + bijnOn, Oj, b≡¥, l z +l, j n, O^k^n-, 然后, 推导出 T的逆函数 T1, 即分别推导出上述的 1个《元线性变换 的逆变换, 其中, 每个逆变换 IV1由《个 F上的关于 Α, ...,βη的 η元线性多项 式组成: Ίί = Ty(ori, ..., On) = bij 0 + byi a x + b ij2 a2 + ... + b ijn On, Oj, b ≡¥, lz +l, jn, O^k^n -, then, derive the inverse function T 1 of T, that is, derive the above-mentioned inverse transformation of the meta-linear transformation, wherein each inverse transformation IV 1 is from "F on F, ..., The η-element linear polynomial of β η consists of:
Τ"1 = (ΤΓ1, ...,Ts+ 1), 其中: Τ" 1 = (ΤΓ 1 , ..., T s+ 1 ), where:
Ti' = Tn ,
Figure imgf000025_0002
···, ")),
Ti' = Tn ,
Figure imgf000025_0002
···, ")),
Oj = Ty ^l, ... , A) = C≠ + Ciji x + Cy2y¾ +… + Cijn n, oc,, c≡¥, l z +l, j n, 0 "。 Oj = Ty ^l, ... , A) = C ≠ + Ciji x + Cy 2 y3⁄4 +... + C ijn n , oc,, c ≡¥, lz +l, jn, 0 ".
(2)随机选择 s个 F上的《元可逆非线性变换 G,每个 n元可逆非线性变 换 由 "个 F上的关于 %的"元函数组成:  (2) Randomly select the s F “non-reversible nonlinear transformation G”, each n-member reversible nonlinear transformation consists of “a F function on %” on the F:
G = (Gb ...,GS), 其中 G = (G b ..., G S ), where
= (Gn( ..., %), ..., Gin( ...,%)), = (G n ( ..., %), ..., G in ( ...,%)),
Figure imgf000025_0003
Figure imgf000025_0003
然后, 推导出 G的逆函数 G—1, 即分别推导出上述的 个《元可逆非线性 变换的逆变换, 其中, 每个逆变换 G 1由《个 F上的关于 , ^的 W元函数 组成: Then, the inverse function G- 1 of G is derived, which is the inverse of the above-mentioned inverse transformation of the elementary reversible nonlinear transformation, where each inverse transformation G 1 is composed of the W element on the F composition:
G"1 =
Figure imgf000025_0004
...,Ο 1), 其中:
G" 1 =
Figure imgf000025_0004
...,Ο 1 ), where:
G;1 = (Gn , ... , A), · · · , Gml(A, ···, ")), G; 1 = (Gn , ... , A), · · · , G ml (A, ···, ")),
Figure imgf000025_0005
所述的 T、 G、 G—1的具体实现方法均为公知技术。
Figure imgf000025_0005
The specific implementation methods of the T, G, and G- 1 are well-known technologies.
(3) 把1\ G中的函数中的一部分系数, 规定为 ID的映射函数, 从而使 T、 G成为 ID的函数。  (3) Specify a part of the coefficients in the function in 1\ G as the mapping function of the ID, so that T and G become functions of ID.
第三步、 把 R(x)、 T、 G合成为 E(x, ID), 建立公钥 E,(x, ID)  The third step is to synthesize R(x), T, G into E(x, ID), and establish the public key E, (x, ID)
把所述的 R(x)、 T、 G合成为:  Combine the R(x), T, G into:
E(x, ID) = Ti+1(G5(T ... G/T/ ... G2(T2(G1(T10( ))))) ···))···)))' 即把函数组《« χ)代入到 , 把1 代入到 把。代入到 T2, 把 Τ2代入到 G2, …, 把 1}代入到 G, …, 把! 代入到 Gs, 把(^代入到 Ti+1。 在合成过 程中也可以不使用线性变换 Ti+1。 最后, 把《( χ:)、 T、 G合成为 F上的非线性 变换: E(x, ID) = T i+1 (G 5 (T ... G/T/ ... G 2 (T 2 (G 1 (T 10 ( ))))))) )····)))', that is, the function group "« χ) is substituted, and 1 is substituted into the handle. Substituting into T 2 , substituting Τ 2 into G 2 , ..., substituting 1} into G, ..., put! Substituting into G s , substituting (^ into T i+1 . You can also not use linear transformation T i+1 in the synthesis process. Finally, synthesize "( χ:), T, G into a nonlinear transformation on F :
y = (yi, ...,_¾) = E(X, ID)  y = (yi, ...,_3⁄4) = E(X, ID)
= (Ei( i, ...,xm, IDi, IDr), Ew( i, ...,xm, IDb IDr)), 展开、 化简以后, = (Ei( i, ..., x m , IDi, ID r ), E w ( i, ..., x m , ID b ID r )), after expansion, simplification,
Figure imgf000026_0001
Figure imgf000026_0001
Figure imgf000026_0002
Figure imgf000026_0002
当 =0时, Ε/χ1 为多项式; 当 1时, E/A, 为有理分式; 令 E'( , ID) = ( Ει( ι, . · . , xm, IDi, ... , IDr), ... , E„{x ...,xm, IDb ... , IDr)), When =0, Ε/χ 1 is a polynomial; when 1, E/A is a rational fraction; let E'( , ID) = ( Ει( ι, . · . , x m , IDi, ... , ID r ), ... , E„{x ..., x m , ID b ... , ID r )),
E'( , ID) £ E( , ID);  E'( , ID) £ E( , ID);
把 E'(x, ID)作为全体用户共享的公钥, 公开发布。  E'(x, ID) is publicly released as a public key shared by all users.
第四步、 把!11、 G—1合成为 D0 , 建立每个用户的私钥 {DO ,R } 私钥分配中心把授权用户的 ID代入密码参数 T G1, 把 T G— 1合成 为 D0 。 该 DO可以采用各种函数表示形式: 既可用展开、 化简之后的《个 函数式来表示, 也可直接用!11、 G— 1来表示, 还可用其它函数形式来表示。 然 后把 {DO , R(x)}作为私钥, 发给授权用户秘密保存。 The fourth step, put! 11, G- 1 synthesized as D0, the establishment of each user's private key {DO, R} private key distribution center to an authorized user ID code parameter substituting TG 1, TG- 1 to synthesize D0. The DO can take a variety of function representations: it can be represented by a function or a simplification, or it can be used directly! 11 , G- 1 , can also be expressed in other functional forms. Then {DO, R(x)} is sent as a private key to the authorized user for secret preservation.
在上述合成中, ID的微小差别, 所对应的公钥和私钥将出现巨大的差别。 第五步、 进行加密与解密、 数字签名与验证 In the above synthesis, the small difference in ID will have a huge difference between the corresponding public key and private key. Step 5, encrypt and decrypt, digitally sign and verify
设经过单向函数变换以后的被签名的数据为;=(^, ...,yn 待验证的数据 为 =0Λ, ...,/„); 和 经过单向函数的数据处理; The signed data after the one-way function transformation is; = (^, ..., y n data to be verified is = 0 Λ, ..., / „); and data processing through a one-way function;
把授权用户 f的身份标识 ID(^), 代入 E'(x,ID), 推导出 E 再进行 加密或验证数字签名的数据处理。 具体地说:  Substituting the identity ID (^) of the authorized user f into E'(x, ID), deriving E and then encrypting or verifying the data processing of the digital signature. Specifically:
(1) 若《 = «', 即 E'(x,ID)=E(x,ID)时, 本发明既能实现加密, 也能实现 可恢复数据的签名, 其方法为:  (1) If " = «', that is, E'(x, ID) = E(x, ID), the present invention can implement both encryption and signature of recoverable data by:
运用公钥 E'(x, ID)进行加密或验证数字签名时,把明文 w、或数字签名 w, 转换成密文;、 或数据 其计算方法为: = E = E'(x, ID(^)) = E'(HO), ΙΌ(Κ)); 如果 则接受签名, 否则拒绝签名;  When using the public key E'(x, ID) to encrypt or verify the digital signature, the plaintext w or the digital signature w is converted into ciphertext; or the data is calculated as: = E = E'(x, ID( ^)) = E'(HO), ΙΌ(Κ)); If yes, accept the signature, otherwise reject the signature;
运用私钥 {DO ,R }进行解密或产生数字签名时, 把密文;、 或数据;, 代入私钥计算出: w = H— ) = 1^(00 );  When the private key {DO , R } is used for decryption or digital signature generation, the ciphertext; or data; is substituted into the private key to calculate: w = H— ) = 1^(00 );
(2)若n>n', 即 E'(x,ID)cE(x,ID)时, 本发明只能实现不可恢复数据的 签名, 不能实现加密, 其方法为: (2) If n >n', that is, E'(x, ID)cE(x, ID), the present invention can only implement signature of unrecoverable data, and cannot implement encryption. The method is as follows:
运用私钥 {DO , R(x;>}产生数字签名时,把数据 代入私钥计算出 w = H"1^)When using the private key {DO, R(x;>} to generate a digital signature, the data is substituted into the private key to calculate w = H" 1 ^)
=
Figure imgf000027_0001
运用公钥 E'(x, ID)验证数字签名时, 其计算方法为:
=
Figure imgf000027_0001
When using the public key E'(x, ID) to verify the digital signature, the calculation method is:
(yi, JV) = Ε'^ ) = Ε,(χ, ΙΌ(Κ)) = Ε,(ΗΟ), ΙΌ(Κ)), 如果 (^, ...,3ν) = ()Λ, ..., „,), 则接受签名, 否则拒绝签名。 由 J和 的《'个 变量相同, 可以在概率上认为它们的《个变量都相同。  (yi, JV) = Ε'^ ) = Ε, (χ, ΙΌ(Κ)) = Ε, (ΗΟ), ΙΌ(Κ)), if (^, ..., 3ν) = ()Λ, . .., „,), accept the signature, otherwise refuse to sign. By J and “the same variable, you can think of them as “variables”.
下面介绍一些上述具体实现过程中的诀窍性信息:  The following describes some of the above-mentioned specific implementation process:
优选的建立 T的方法是: 随机设置由 个 ^上《阶可逆方阵组成的方 阵组 ={ , ...,A+1}, 其逆为 ^μΛ ...,Α+r1}, 以及由 s+i个 上"阶 向量组成的向量组
Figure imgf000027_0002
The preferred method for establishing T is: randomly setting a square matrix consisting of a series of reversible square matrices = { , ..., A +1 }, the inverse of which is ^μΛ ..., Α+r 1 } And a vector group consisting of s+i upper order vectors
Figure imgf000027_0002
Figure imgf000027_0003
ι = 0, s。这种 "线性变换", 对于有理分式中多项式来说, 当分式的加法需要通分时,将使该多项式的次数增加, 应理解为一种非线性变 换。
Figure imgf000027_0003
ι = 0, s. This kind of "linear transformation", for a polynomial in a rational fraction, when the addition of fractions requires a generalization, the number of times of the polynomial will be increased, which should be understood as a nonlinear transformation.
优选的建立 G的方法是: 预先建立一个足够大的函数库; 以后在需要时, 从该库中随机抽取若干个简单函数, 按照一定规则组合成复杂的加解密函数。  The preferred method for establishing G is: pre-establishing a large enough function library; later, when needed, randomly extracting a number of simple functions from the library and combining them into complex encryption and decryption functions according to certain rules.
其中,优选的建立函数库的方法是:选择若干种不同类型的、其自变量数 目不超过《、 并对于其最后一个自变量可逆的、 ^上的多项式函数或有理分式 函数, 按其自变量数目划分成《个类 S= { S1 ...,S„}, 其中: Among them, the preferred method of building a function library is to select several different types of polynomial functions or rational fractional functions whose number of independent variables does not exceed ", and is reversible for its last independent variable, according to its The number of variables is divided into "classes" S= { S 1 ...,S„}, where:
Si = {β= ..., ), Od = G{ij)'x ( u ... , θα,β), 7 =1, 2, .. Si = {β= ..., ), Od = G {ij) ' x ( u ... , θα, β), 7 =1, 2, ..
<¾, β≡Έρ, i =1, <3⁄4, β≡Έ ρ , i =1,
上式中的 G(y)、 G^—1表示自变量数目为 ι、 在 中的编号为 j的一对互逆的函 数。 例如: 对于 z=l, 在该函数库中 Si至少可建立两条记录 (设参 :¾ h, … In the above formula G (y), G ^ - 1 represents the number of independent variables ι, j is a number in the pair of reciprocal function. For example: For z=l, at least two records can be created in the function library (set parameters : 3⁄4 h, ...
G(ii): β={ίχαι + ί2) odp-, G{u) · \ =—— Lrnodp. G(ii): β={ί χ αι + ί 2 ) odp-, G { u) · \ =—— L rnodp.
G(i2): = {^- + t2)modp , Q{n-1, , =-^-mod^; 对于 ι=2, 在函数库中 S2至少可建立 4条记录: G(i 2) : = {^- + t 2 )modp , Q {n - 1 , , =-^-mod^ ; For ι=2, at least 4 records can be created in S 2 in the function library:
β— t QT—f (Y  Β— t QT—f (Y
G(2i): β= { aia2 + ί2 λ 2+ hax) mod^, G(21) _1 : 1 ~~—mo&p. G (2 i): β= { aia 2 + ί 2 λ 2 + ha x ) mod^, G (21) _1 : 1 ~~—mo&p.
G(22): β = + 2 mod p, G。2)-1a2 = -^— i ~― mod p;G ( 22): β = + 2 mod p, G. 2) -1 : a 2 = -^— i ~― mod p;
, t、 t、a、 +t  , t, t, a, +t
G, (23): β = ίχ(Χχ "2 mod p, G, (23) mod p; G, (23): β = ίχ(Χχ "2 mod p, G, (23) mod p;
a. β  a. β
G(24): β: 0^ modp, G^)"1: 2 = tlC(l+t2 ναοάρ, 建库完成后,还要分析其每种函数的性质、其若干函数的不同组合的性质、 以及其最佳使用方式, 制定出自动生成密码算法方案的规则和策略, 并编写出 实现这些规则和策略的软件。 G (24 ): β: 0 ^ modp, G^)" 1 : 2 = tlC(l+t2 ναοάρ, after the completion of the database, the nature of each function, the nature of the different combinations of its functions, And the best way to use it, develop rules and strategies for automatically generating cryptographic algorithm schemes, and write software that implements these rules and policies.
进一步, 运用上述的函数库建立 G的方法是: 对于 z=l, s, 为每个 t 从函数库 S的《个类 s1 sn中分别随机选出一对互逆的函数: Further, the method for establishing G by using the above function library is: For z=l, s, a pair of reciprocal functions are randomly selected from each of the classes s 1 s n of the function library S for each t:
G= {G ...,GS}, 其中: Gi = (Gn(1),
Figure imgf000028_0001
G= {G ..., G S }, where: Gi = (G n(1 ),
Figure imgf000028_0001
G'l =
Figure imgf000028_0002
.··, Ginn) l),
G' l =
Figure imgf000028_0002
.··, G inn ) l ),
:«,  :«,
上式中的 0 )、 G^)-1分别表表示示其其自自变变量量数目为 ^ 并对于其第 个自变量可 0), G^)- 1 in the above equation respectively indicate that the number of its self-variable variables is ^ and for its first independent variable
-1  -1
逆、 在。、 G—1的第 z'个函数向量中的第 个函数。 这种类型的 G的优点是: 在加密过程中, 各函数之间是独立的, 后一次计算不需要引用前一次计算的结 果; 但在解密过程中, 后一次计算要引用前一次计算的结果, 使得解密函数比 加密函数复杂, BP: 第 Z层的加密函数向量 为: Reverse, in. , the first function in the z'th function vector of G- 1 . The advantages of this type of G are: In the encryption process, each function is independent, and the latter calculation does not need to refer to the result of the previous calculation; but in the decryption process, the latter calculation refers to the result of the previous calculation, making the decryption function more complicated than the encryption function. BP: The encryption function vector of the Zth layer is:
Ui2 = G/2(2)(Vn, ), Ui2 = G/2(2)(Vn, ),
Uin = GS(2)(Vn, Vi2, Vin), U in = G S (2)(Vn, V i2 , V in ),
i层的对应的解密函数向量 G 1的函数规模却发生了爆炸:The function scale of the corresponding decryption function vector G 1 of the i layer has exploded:
Figure imgf000029_0001
Figure imgf000029_0001
Vi2 G ¾a(a2)^ vn, i2) = Ga(2)-1( Gn(1) -1( n), i2), V i2 G 3⁄4a(a2)^ vn, i2 ) = Ga (2 ) -1 ( G n(1) -1 ( n ), i2 ),
Vin = Gin{n) (¼1, ^―, Uin) Vin = Gin{n) (1⁄41, ^―, U in )
= Gin(n) l{ G/i(l)
Figure imgf000029_0002
), 其他问题说明:当求有理分式的值时,可能会遇到虽然分母不是 0多项式、 但分母多项式作为函数的值为 0、从而导致加解密发生错误。虽然其概率很小, 仍应采取必要的容错或纠错措施。
= Gin(n) l { G/i(l)
Figure imgf000029_0002
), Other problems: When seeking a rational fractional value, you may encounter that although the denominator is not a polynomial, the denominator polynomial has a value of 0 as a function, resulting in an error in encryption and decryption. Although the probability is small, the necessary fault tolerance or corrective measures should be taken.
为更清楚地表述本实施例的具体实施方式, 下面描述一个小数据的例子, 如图 5、 图 6所示, 其中, 虚框 501表示采用单向函数链 x=HO)进行处理的 过程, 虚框 502表示采用公钥 E'(x)进行处理的过程; 虚框 601表示采用私钥 z = DO进行处理的过程,虚框 602表示采用逆函数 H— 及私钥的秘密参数 e3 进行处理的过程。 In order to more clearly describe the specific embodiment of the present embodiment, an example of a small data is described below, as shown in FIG. 5 and FIG. 6, wherein the virtual block 501 represents a process of processing using a one-way function chain x=HO). The dashed box 502 represents the process of processing with the public key E'(x); the dashed box 601 represents the process of processing with the private key z = DO, and the dashed box 602 represents the secret parameter e 3 with the inverse function H_ and the private key. The process of processing.
设 F为有限域 F ρ=\Ί, n=n,=2, m=3, s=\, r=l, g卩 ID = (ID); 为便 于验证,假定三个单向函数的算法相同,为 ( = ¾(» = ¾(^= modl7, 设置单向函数链 HO)的算法为:  Let F be the finite field F ρ=\Ί, n=n,=2, m=3, s=\, r=l, g卩ID = (ID); for the convenience of verification, assume the algorithm of three one-way functions The same algorithm for ( = 3⁄4(» = 3⁄4(^= modl7, setting the one-way function chain HO) is:
X\ = (w\ + Hi(w2) ) mod p = (w\ + w2 ) mod p, x2 = (w2 + H2( i) ) mod p = (w2 + X\ ) mod p = (w2 + (w\ + w2 ) ) mod p, X\ = (w\ + Hi(w 2 ) ) mod p = (w\ + w 2 ) mod p, x 2 = (w 2 + H 2 ( i) ) mod p = (w 2 + X\ ) mod p = (w 2 + (w\ + w 2 ) ) mod p,
3 3 3 3 3 3
3= H3( 2) = Xi mod p = (w2 + X\ ) mod p = (w2 + (w\ + w2 ) ) mod ρ·, 函数 R( )的算法为: ί¾ = (χι + e3 x3) mod p, UQ2 = X2, 设参数 e3=2; 由私钥分配中心随机设置有关密码参数。 设线性变换 Τ=(Τ1; Τ2), Τ! 由 Αχ, 组成, Τ2由^、 β2组成, 其中: Si = (bn,bi2)=(l,2), B2=(b2h b22)=(5 + 15 ID + ID2, 6 + 16 ID + ID2),
Figure imgf000030_0001
3= H 3 ( 2 ) = Xi mod p = (w 2 + X\ ) mod p = (w 2 + (w\ + w 2 ) ) mod ρ·, the algorithm of the function R( ) is: ί3⁄4 = (χι + e 3 x 3 ) mod p, UQ 2 = X 2 , set the parameter e 3 = 2; The password parameters are randomly set by the private key distribution center. Let linear transformation Τ = (Τ 1; Τ 2 ), Τ! Composed of Α χ , Τ 2 consists of ^, β 2 , where: Si = (bn, bi 2 ) = (l, 2), B 2 = (b 2h b 22 )=(5 + 15 ID + ID 2 , 6 + 16 ID + ID 2 ),
Figure imgf000030_0001
a 2,11 212 1 + llID + ID2 2 + 12ID + ID2 a 2,11 212 1 + llID + ID 2 2 + 12ID + ID 2
221 222 3 + 13ID + ID2 4 + 14ID + ID2 221 222 3 + 13ID + ID 2 4 + 14ID + ID 2
111 —a 2.12111 —a 2.12
^211 '212 "211"222 ¾12¾21 ¾11¾22— "212"221 ^211 '212 "211" 222 3⁄4123⁄421 3⁄4113⁄422— " 212 " 221
4— 1 4-1
^221 -111 -a 221 a 211  ^221 -111 -a 221 a 211
"211"222 ¾12¾21 ¾11¾22— "212"221 "211" 222 3⁄4123⁄421 3⁄4113⁄422— " 212 " 221
15 + 10ID + 8ID2 1 + 6ID + 9ID 15 + 10ID + 8ID 2 1 + 6ID + 9ID
1 + 2ID + ID2 1 + 2ID + ID2 1 + 2ID + ID 2 1 + 2ID + ID 2
10 + 15ID + 9ID 8 + 3ID + 8ID  10 + 15ID + 9ID 8 + 3ID + 8ID
1 + 2ID + ID2 1 + 2ID + ID 设非线性变换 G^GO, G!=(Gn,G12), 其中: 1 + 2ID + ID 2 1 + 2ID + ID Set the nonlinear transformation G^GO, G!=(Gn, G 12 ), where:
G11(1): u =— modl7, G12(2): un =— modl7 , v ^ll v ^12 G 11(1) : u =— modl7, G 12(2) : u n =— modl7 , v ^ll v ^12
v,  v,
G 11(1) 11 — mod 17, G, 12(2) " 11  G 11(1) 11 — mod 17, G, 12(2) " 11
12 mod 17 u 11 u 12  12 mod 17 u 11 u 12
并运用上述参数推导出 E(x, ID): And use the above parameters to derive E(x, ID):
¾οι = (x\ + e3 3) mod p, u02 = Xi » 3⁄4οι = (x\ + e 3 3 ) mod p, u 02 = Xi »
Vll = («111 UQI + «112^02 + ^ll) mod p,  Vll = («111 UQI + «112^02 + ^ll) mod p,
V\2 = («121 «01 + «122^02 + bn) mod p, V\2 = («121 «01 + «122^02 + b n ) mod p,
Mii = (l I ii) mod^, uxl= {vnl vxl) mod^, Mii = (l I ii) mod^, u xl = {v n lv xl ) mod^,
V21 = («211 «11 + «212^12 + ¾l) mod p, V 2 1 = («211 «11 + «212^12 + 3⁄4l) mod p,
V22 = («221 «11 + «222^12 + 22) mod ρ·, V 2 2 = («221 «11 + «222^12 + 22) mod ρ·,
代入具体的值, 推导出: E( , ID) = (Ei( i, x2, x3, ID), E2( i, x2, 3, ID)), 其中: Substitute specific values and derive: E( , ID) = (Ei( i, x 2 , x 3 , ID), E 2 ( i, x 2 , 3 , ID)), where:
J^I = EI( I, 2, , ID) = 2i J^I = EI( I, 2 , , ID) = 2 i
= ((16 + 10ID + 13ID2+ 5 j + lOID j + 9ID2 j + 2ID j2+ 7IDV+ 6 2 + 14IDx2+llID + 8 1 2 + 15ID i 2 + 16ID2 i 2+ 16x2 2+ 5IDx2 2+ 4ID 2 + 10 3 + 3ID 3 + ID + 8ID i 3 + HID2 i 3 + \6x2x3 + 13IDx2x3 + 15ID x3 + 8ID 3 2 + 11ID¾2) / (12 + \3χ + χχ + \Αχ2 + 9χχχ2 + 14χ2 2+ 9χ3+ 4χ χ3 + χ2Χ3 + 4χ3 2)) mod 17, = ((16 + 10ID + 13ID 2 + 5 j + lOID j + 9ID 2 j + 2ID j 2 + 7IDV+ 6 2 + 14IDx 2 +llID + 8 1 2 + 15ID i 2 + 16ID 2 i 2 + 16x 2 2 + 5IDx 2 2 + 4ID 2 + 10 3 + 3ID 3 + ID + 8ID i 3 + HID 2 i 3 + \6x 2 x 3 + 13IDx 2 x 3 + 15ID x 3 + 8ID 3 2 + 11ID3⁄4 2 ) / (12 + \3χ + χχ + \Αχ 2 + 9χ χ χ 2 + 14χ 2 2 + 9χ 3 + 4χ χ 3 + χ 2 Χ3 + 4χ 3 2 )) mod 17,
yi = E2( i, x2, , ID) = ν22 Yi = E 2 ( i, x 2 , , ID) = ν 22
= ((13 + 7ID + 13ID2+ lO j + 15ID i + 9ID2 j + 13 j2+ 15ID i2 + 7ID2xi2 + 14 2+ 5IDx2+llID + Πχ χ2+ 41Όχ χ2 + 16ID2 i 2+ 10x2 2+ 16IDx2 2 + 4ID 2 + 3x3+ 13ID 3+ ID + 1 3+ 9ID i 3 + HID2 i 3+ \\χ2χ3+ 8IDx2x3 + 15ID x3+ x3 2+ 9ID 3 2 + 11ID¾2) / (12 + \ χχ+ χχ + 14 2+ 9χ χ2 + Πχ2 2+ 9χ3 + 4 ι 3 + Χ2Χ3 + 4 3 )) mod 17, = ((13 + 7ID + 13ID 2 + lO j + 15ID i + 9ID 2 j + 13 j 2 + 15ID i 2 + 7ID 2 xi 2 + 14 2 + 5IDx 2 +llID + Πχ χ 2 + 41Όχ χ 2 + 16ID 2 i 2 + 10x 2 2 + 16IDx 2 2 + 4ID 2 + 3x 3 + 13ID 3 + ID + 1 3+ 9ID i 3 + HID 2 i 3 + \\χ 2 χ 3 + 8IDx 2 x 3 + 15ID x 3 + x 3 2 + 9ID 3 2 + 11ID¾ 2) / (12 + \ χ χ + χχ + 14 2 + 9χ χ 2 + Πχ 2 2 + 9χ 3 + 4 ι 3 + Χ2Χ3 + 4 3)) mod 17,
根据《=«'=2, 规定 E'(x) = E(x)。  According to "=«'=2, E'(x) = E(x) is specified.
然后, 私钥分配中心运用 ID的值, 推导出对应的解密函数, 即私钥 DO :  Then, the private key distribution center uses the value of the ID to derive the corresponding decryption function, that is, the private key DO:
«11 = (<¾ιι + C212 (yi - b22) ) mod/?, «11 = (<3⁄4ιι + C212 (yi - b 22 ) ) mod/?,
«12 = (<¾2i
Figure imgf000031_0001
+ ciri (y2 - b22) ) mod;?,
«12 = (<3⁄42i
Figure imgf000031_0001
+ c iri (y 2 - b 22 ) ) mod;?,
11 = (1 / ¾ii) mod p, 11 = (1 / 3⁄4ii) mod p,
12 = ( n I un) mod;?,  12 = ( n I un) mod;?,
«oi = (cm ( n - bn) + Cn2 (v12 - bu) ) mod p,«oi = (cm ( n - bn) + Cn2 (v 12 - b u ) ) mod p,
02 = (C121 ( n - bu) + Ci22 ( i2 - bl2) ) mod f, 02 = (C121 ( n - bu) + Ci22 ( i 2 - bl2) ) mod f,
私钥分配中心为各个授权用户建立私钥, 例如, 对于 ID=6的用户, 把 ID 的值代入有关的密码参数:  The private key distribution center establishes a private key for each authorized user. For example, for a user with ID=6, the value of the ID is substituted into the relevant password parameter:
B2 = (b2i, b22) = (5 + 15 ID + ID2, 6 + 16 ID + ID2) = (12, 2), B 2 = (b 2 i, b 22 ) = (5 + 15 ID + ID 2 , 6 + 16 ID + ID 2 ) = (12, 2),
15 + 10ID + 8ID 1 + 6ID + 9ID  15 + 10ID + 8ID 1 + 6ID + 9ID
1 + 2ID + ID2 1 + 2ID + ID2 14 15 1 + 2ID + ID 2 1 + 2ID + ID 2 14 15
10 + 15ID + 9ID 8 + 3ID + 8ID 9 13  10 + 15ID + 9ID 8 + 3ID + 8ID 9 13
1 + 2ID + ID2 1 + 2ID + ID2 然后推导出该用户的私钥 DO 为: 1 + 2ID + ID 2 1 + 2ID + ID 2 and then derive the user's private key DO as:
Z = (z\, ...,zn) = O(y) zZ = (z\, ..., z n ) = O(y) z
Figure imgf000032_0001
Figure imgf000032_0001
计算单向函数链的逆 ff1^, 需要使用私钥的秘密参数的 e3: To calculate the inverse ff 1 ^ of the one-way function chain, you need to use e 3 of the secret parameter of the private key :
x\ = {z\ - 3 ¾( )) mod p, x\ = {z\ - 3 3⁄4 ( )) mod p,
w2 = z2 - H2( i) = ( - H2(zi - e3 ¾( ))) mod p, wi = ^i - Hi(w2) = ((zi - e3 ¾( )) - Hi(z2 - H2(zi - e3 ¾( )))) mod p; w 2 = z 2 - H 2 ( i) = ( - H 2 (zi - e 3 3⁄4 ( ))) mod p, wi = ^i - Hi(w 2 ) = ((zi - e 3 3⁄4 ( )) - Hi(z 2 - H 2 (zi - e 3 3⁄4 ( )))) mod p;
虽然真实的单向函数是不可展开的, 但按照本实施例的特殊规定: Although the true one-way function is not expandable, the special provisions in accordance with this embodiment:
w2 = (z2 - (ζι - 2 3)3) mod p, w 2 = (z 2 - (ζι - 2 3 ) 3 ) mod p,
wi = (zi - 2 z2 3 - (z2 - (zi - 2 3)3)3) mod ρ·, 例如: 设明文 iv = (7, 8), x = H(w) = (9, 6, 12), 密文 j = E(x, ID) = (4, 9); z = DO = (16, 6), 恢复的明文 iv = IT1 = (7, 8), 说明上述加解密算法是正确 的。 同理可证明签名算法的正确性。 Wi = (zi - 2 z 2 3 - (z 2 - (zi - 2 3 ) 3 ) 3 ) mod ρ·, for example: Let the plain iv = (7, 8), x = H(w) = (9, 6, 12), ciphertext j = E(x, ID) = (4, 9); z = DO = (16, 6), recovered plaintext iv = IT 1 = (7, 8), indicating the above encryption and decryption The algorithm is correct. The same reason can prove the correctness of the signature algorithm.
上述小数据实施例的私钥分配,也可以采用多个私钥分配中心合成私钥的 技术点来实现: 由于 ,^中的元素是数, 22中的元素是变元, G中没有 参数, 则私钥生成函数为 The private key allocation of the above small data embodiment may also be implemented by using multiple private key distribution centers to synthesize the private key: Since the elements in ^ are numbers, 2 , the elements in β 2 are arguments, G Without parameters, the private key generation function is
Ζ = (z!, z2) = O(y, A2, B2) = (DJC , A2, B2\ O2(y, A2, B2)), 其中: z\= Di(yi, y2, «211, <¾i2, <¾2i, <¾22, ¾i, ^22) Ζ = (z!, z 2 ) = O(y, A 2 , B 2 ) = (DJC , A 2 , B 2 \ O 2 (y, A 2 , B 2 )), where: z\= Di( Yi, y2, «211, <3⁄4i2, <3⁄42i, <3⁄422, 3⁄4i, ^22)
= ((< + = ((< +
15<¾11<¾21<¾22 21 +
Figure imgf000032_0002
+ 2<221 li?212<^221^2 - 2<22112ί?22Ζ)2)/(16ί?221<^222^212 + <¾12<¾21 21 2 + <¾11<¾22 21 22 +
15<3⁄411<3⁄421<3⁄422 21 +
Figure imgf000032_0002
+ 2<2 2 1 li?212<^221^2 - 2<2211 2 ί?22Ζ)2)/(16ί?221<^222^21 2 + <3⁄412<3⁄421 21 2 + <3⁄411<3⁄422 21 22 +
16<¾11(¾12b22 2 + 2<¾2122b2Lyi + 16(¾122ib2Zyi + 16<¾11(¾22b2Zyi + \6a22ia227yi2 + 16i¾1221b2L½ + Ιό^ιι^^ι^ + 2i721112b2 y2 + «2120221^1^2 + α1λλαΎΏγλγ1 + 16<¾11(¾lzy2 2)) mod 1716<3⁄4 11( 3⁄4 12 b 22 2 + 2<3⁄4 21 <3⁄4 22 b 2L yi + 16(3⁄4 12 <3⁄4 2 ib 2Z yi + 16<3⁄4 11( 3⁄4 22 b 2Z yi + \6a 22 ia227yi 2 + 16i3⁄4 12 i3⁄4 21 b 2L 1⁄2 + Ιό^ιι^^ι^ + 2i7 211 i3⁄4 12 b 2 y 2 + «2120221^1^2 + α 1λλ α ΎΏ γ λ γ 1 + 16< 3⁄4 11( 3⁄4 lz y 2 2 )) mod 17
= D2(yi, «211, <¾12, <¾21, <¾22, ¾1, 22) = D 2 (yi, «211, <3⁄412, <3⁄421, <3⁄422, 3⁄41, 22)
+ 14<72l
Figure imgf000032_0003
+
+ 14<72l
Figure imgf000032_0003
+
2 2  twenty two
<¾11<¾22 21 22 + 16<2211«212¾2 + 14<¾12<¾21 + 3 <2211 «221^222^1 + 2<¾2122b2lyi +<¾11 <¾22 21 22 + 16 <2 2 11 «212¾2 + 14 <¾12 <¾ 21 + 3 <2 2 11« 221 ^ 222 ^ 1 + 2 <¾ 21 <¾ 22 b 2l yi +
16<¾1221b2Zyi + 16<¾11(¾22b2Zyi + + 3<¾11(¾12<¾2ΐ_½ + 14<¾ιι2<¾2 ½ + 16i¾1221b2L½ +
Figure imgf000033_0001
+
16 <¾ <¾2 ½ (¾ 12 <¾2ΐ_½ + 14 <¾ιι 2 12 <¾ 21 b 2Z yi + 16 <¾ 11 (¾ 22 b 2Z yi + + 3 <¾ 11 + 16i3⁄4 12 i3⁄4 21 b 2L 1⁄2 +
Figure imgf000033_0001
+
\6a2n lxlyi (2a221 «222^212 + 15<¾i2<¾2i 2i 22 + 15a2Ua222b2ib22 + 2a2Ua2Ub22 2 + 13i¾2122b2Lyi + 2i¾1221b2Ly2 +\6a 2 n lxl yi (2a 22 1 «222^21 2 + 15<3⁄4i2<3⁄42i 2i 22 + 15a 2U a 222 b 2 ib 22 + 2a 2U a 2U b 22 2 + 13i3⁄4 21 i3⁄4 22 b 2L yi + 2i3⁄4 12 i3⁄4 21 b 2L y 2 +
2ί¾1ΐί¾22 1_½ +
Figure imgf000033_0002
2ί7211ί¾½2)) mod 17
2ί3⁄41ΐί3⁄422 1_1⁄2 +
Figure imgf000033_0002
2ί7 211 ί3⁄4 1⁄2 2 )) mod 17
设二级私钥分配中心的数量
Figure imgf000033_0003
2部分, 例如: D(1)(j, A2, B2) = DO, A2, β2)中的两个分子多项式,
Set the number of secondary private key distribution centers
Figure imgf000033_0003
2 parts, for example: D (1) (j, A 2 , B 2 ) = two molecular polynomials in DO, A 2 , β 2 ),
O(2)(y, A2, B2) = O(y, A2, β2)中的两个分母多项式。O (2) (y, A 2 , B 2 ) = two denominator polynomials in O(y, A 2 , β 2 ).
Figure imgf000033_0004
KDC22, 同时把 ID对于 fl211,fl212,fl221,i¾22,b21,b22的映射函数, 以及 R(x), 也发给它们。
Figure imgf000033_0004
KDC 22 , at the same time, the ID is assigned to the mapping functions of fl 211 , fl 212 , fl 221 , i3⁄4 22 , b 21 , b 22 , and R(x).
为某个授权用户建立私钥时, KDC21、 KDC22分别先把该用户的 ID代入 映射函数, 计算出 fl211, «212, «221, «222, ¾1, ½的值, 再把这些值代入: When a private key is established for an authorized user, KDC 21 and KDC 22 respectively substitute the ID of the user into the mapping function, and calculate the values of fl 211 , «212, «221, «222, 3⁄41, 1⁄2, and then put these values. Substitute:
<¾11, <¾12, <¾21, <¾22, 21, 22), D ( , <¾11, <¾12, <¾21, <¾22, 21, 22), 计算出 D(1)O、 D(2)O, 然后分别发送给该用户; <3⁄411, <3⁄412, <3⁄421, <3⁄422, 21, 22), D ( , <3⁄411, <3⁄412, <3⁄421, <3⁄422, 21, 22), calculate D (1) O, D (2) O And then sent to the user separately;
授权用户从 KDC21、 KDC22分别领取 D(1)0 、 D(2)0 , 然后按照规定的方 法还原为 D0 , 即把分子多项式和分母多项式组合成有理分式。 The authorized user receives D (1) 0 and D (2) 0 from KDC 21 and KDC 22 respectively, and then restores to D0 according to the specified method, that is, the numerator polynomial and the denominator polynomial are combined into a rational fraction.
为了更清楚地描述采用单向函数链技术之后, 如何实现私钥形态的个性 化, 下面描述一个小数据的例子, 如图 7所示, 是本发明 m=12、 n=8的小数 据实施例实现私钥形态个性化的数据流向图: 在 IV1、 R—1之间插入随机线性 变换 w ), 在 IV1之间插入随机线性变换 w2o、 w^o,其具体 歩骤如下: In order to more clearly describe how to implement the personalization of the private key form after using the one-way function chain technique, an example of a small data is described below. As shown in FIG. 7, the small data implementation of m=2 and n=8 of the present invention is implemented. For example, the data flow direction of the private key form is personalized: a random linear transformation w ) is inserted between IV 1 and R- 1 , and a random linear transformation w 2 o, w^o is inserted between IV 1 , and the specific steps are as follows :
第一步, 计算: The first step is to calculate:
Figure imgf000033_0005
它们均为 8元有理分式, 其分子、 分母均 为线性多项式, 分母相同。
Figure imgf000033_0005
They are all 8-ary rational fractions, and their numerator and denominator are linear polynomials with the same denominator.
第二 -步, 依次计算  Second - step, calculated in turn
Vll = Dvii(¾'ii, . is), 其为 8元 2次有理分式; Vll = D v ii(3⁄4'ii, . is), which is an 8 yuan 2 rational fraction;
Vl2 = Dvi2(w'ii, · is, ii), 其为 9元 2次有理分〕 Vl2 = D v i 2 (w'ii, · is, ii), which is 9 yuan 2 times rational points]
Vl3 = Dvi3(w'ii, - is, vii, Yn), 其为 10元 2次有理分式; Vl3 = D v i 3 (w'ii, - is, vii, Yn), which is a 10 yuan secondary rational fraction;
Vl4 = Dvi4(¾'ii, . 18, Vll, Vl2, Vl3)' 其为 11元 2 有理分式 Vl4 = D v i4(3⁄4'ii, . 18, Vll, Vl2, Vl3)' It is 11 yuan 2 rational fraction
Vl5 = Dvi5(w'ii, - is, vii, ...,vu), 其为 12元 2汐 :有理分式; Vl5 = D v i 5 (w'ii, - is, vii, ..., v u ), which is 12 yuan 2汐: rational fraction;
Vl6 = Dvl6(M'll, · 18, ll, ...,Ϊ15), 其为 13元 2汐 :有理分式; i7=Dvi7(¾'ll, ¾'l8, Vll, ..., 16), 其为 14元 2次有理分式; i8 = Dvi8(¾'ii, ..., ¾'ΐ8, vii,…,; n), 其为 15元 2次有理分式; Vl6 = D vl 6 (M'll, · 18, ll, ..., Ϊ 15), which is 13 yuan 2 汐: rational fraction; I7=D v i7(3⁄4'll, 3⁄4'l8, Vll, ..., 16), which is a 14-bit 2-order rational fraction; i 8 = D v i 8 (3⁄4'ii, ..., 3⁄4 'ΐ8, vii,...,; n), which is a 15 yuan secondary rational fraction;
上述的 ...,ϊ17: 在推导公式时, 代入 的变元符号; 在进行解密计算 时, 代入 的值。 The above..., ϊ 17: the argument of the substitution when deriving the formula; the value substituted when performing the decryption calculation.
第三步, 计算:  The third step is to calculate:
ζ'ΓΌζΊη, ...,ν18), 1^8, 其为 8元线性多项式; ζ' Γ Ό ζΊη , ..., ν 18 ), 1^8, which is an 8-element linear polynomial;
第四步, 依次计算:  The fourth step is to calculate in order:
Xj = OXJ(z , ...,z'8), =7,8, 其为 8元线性多项式; Xj = O XJ (z , ..., z' 8 ), =7,8, which is an 8-element linear polynomial;
(x io, xii, xii) = K2( 7, x8), 其为一组单向函数的组合; (x io, xii, xii) = K 2 ( 7 , x 8 ), which is a combination of a set of one-way functions;
xj = OXJ(z , ... , ζ'8, χ xw, ii, i2), l^y 6, 其为 12元线性多项式;Xj = O XJ (z , ... , ζ ' 8 , χ x w , ii, i 2 ), l^y 6, which is a 12-ary linear polynomial;
(wu ...,w,) =
Figure imgf000034_0001
...,x8), 其为一组单向函数的组合。
(w u ..., w,) =
Figure imgf000034_0001
..., x 8 ), which is a combination of a set of one-way functions.
其中, ...,z6)作为一组中间结果隐藏在第四歩的计算过程中,可理解为私钥 中的 R(x)的参数也隐藏在个性化的私钥中, 对授权用户保密。 Where ..., z 6 ) is hidden as a set of intermediate results in the calculation process of the fourth ,, which can be understood as the parameter of R(x) in the private key is also hidden in the personalized private key, for the authorized user Confidential.
当采用 "多个私钥分配中心联合建立用户私钥"时, 应使各个二级私钥分 配中心都使用相同的 W )、
Figure imgf000034_0002
When using "multiple private key distribution centers to jointly establish user private keys", each secondary private key distribution center should use the same W),
Figure imgf000034_0002
下面对单向函数链能够为编码译码过程带来的益处进行分析,以加解密和 可恢复的签名过程为例进行说明。  The following is an analysis of the benefits of the one-way function chain for the coding and decoding process, taking the encryption and decryption and recoverable signature process as an example.
当 >«=«'时, E x) = E(x), 已知密文(或待签名的数据);, 破译明文 (或关于数据 ^的签名) w, 先要求中间结果 X, 这种情况相当于解不定方程 组:  When >«=«', E x) = E(x), known ciphertext (or data to be signed);, deciphering plaintext (or signature on data ^) w, first request intermediate result X, this kind The situation is equivalent to solving the indefinite equations:
(yi, ---,yn) = (Ei( i, ...,xm\ ...,Ew( i, ...,xm)) 其变元数量 大于方程式数量《, 符合上述方程组的 x的解很多, 表现为一个 巨大的解集。但是, 把单向函数链与上述方程组放在一起, 组成一个关于未知 元 w的联立方程组:
Figure imgf000034_0003
(yi, ---, y n ) = (Ei( i, ..., x m \ ..., E w ( i, ..., x m )) The number of arguments is greater than the number of equations, The solution of x above is a lot of solutions, which is represented by a huge solution set. However, the one-way function chain is put together with the above equations to form a simultaneous equations about the unknown element w:
Figure imgf000034_0003
其中, 单向函数链由若干个含有单向函数变换的方程式组成, 例如对于说明书 中 =3、 n=2、 只有三个单向函数 、 ¾、 ¾的情况:
Figure imgf000035_0001
Wherein, the one-way function chain consists of several equations containing one-way function transformations, for example, in the specification =3, n=2, only three one-way functions, 3⁄4, 3⁄4:
Figure imgf000035_0001
由于从 IV到 是可逆变换, 上式为置换方程组, 已知 求 IV有唯一解。 然而, 上式中的单向函数具有"以一种几乎随机的方式把比特串映射到比特串"的性 质, 即很难用一种简单的数学变换规则来描述其输入输出之间的规律性, 它等 价于稠密多项式, 把它完全展开需要占用指数级的存储空间。 因此, 在解上述 方程组时, 要把某个含有单向函数的变量代入方程, 就会遇到单向函数难以展 开的困难, 例如, 把 ^、 x2、 x3看作为 、 w2的函数, 代入 Ei、 E2, 则本领 域技术人员很快就会发现, 把上式展开为关于 Wl、 w2的多项式是不可行的。 实际上, 即使不把单向函数展开, 随着单向函数嵌套层次的增加和复杂化, 采 用如上所述的函数形式, 其函数规模也会发生组合爆炸。 Since the equation is from IV to reversible transformation, the above equation is a system of substitution equations, and it is known that IV has a unique solution. However, the one-way function in the above equation has the property of "mapping a bit string to a bit string in an almost random manner", that is, it is difficult to describe the regularity between its input and output with a simple mathematical transformation rule. It is equivalent to a dense polynomial, and it takes an exponential storage space to fully expand it. Therefore, when solving a system of equations above, it is difficult to expand a one-way function by substituting a variable containing a one-way function into the equation. For example, consider ^, x 2 , x 3 as w 2 The function, substituting Ei, E 2 , will quickly find out that it is not feasible to expand the above formula into a polynomial about Wl , w 2 . In fact, even if the one-way function is not expanded, as the nesting level of the one-way function increases and becomes complicated, the function scale of the above-mentioned function form will explode in combination.
下面从工程应用的角度, 进一歩理解密码算法的定量设计,对本发明进行 更详尽的分析。 参照图 8, 设《=«'=8, m=n, s=2:  In the following, from the perspective of engineering application, the quantitative design of the cryptographic algorithm is further understood, and the present invention is analyzed in more detail. Referring to Figure 8, let '=«'=8, m=n, s=2:
( 1 ) 根据允许的加解密出错概率, 设置足够大的 ;?。  (1) Set a sufficiently large ;? according to the allowed encryption and decryption error probability.
(2)设置合适的单向函数链, 例如其 K2部分把四个单向函数的功能合并 在一个单向函数中。 (2) Set the appropriate one-way function chain, for example, its K 2 part combines the functions of the four one-way functions into one one-way function.
(3) 设置《、 m、 T、 G应考虑以下因素:  (3) The following factors should be considered when setting ", m, T, G:
不定方程组 Ε'^Η^, ..., jv)的解集的元素数量约为 , 应大于 264。 设 3 是 E'(x)关于 X 的次数, 则一个 m 元 δ 次多项式的项的数量为 c s = 1^, 其反映了公钥的存储空间和加密速度, 应尽量小。 The number of elements of the solution set of the indefinite equations Ε'^Η^, ..., jv) is approximately, which should be greater than 2 64 . Let 3 be the number of times E'(x) about X, then the number of terms of an m-ary δ-degree polynomial is cs = 1 ^, which reflects the storage space and encryption speed of the public key, and should be as small as possible.
设 是 DO关于; 的次数, 则一个 n元 λ次多项式的项的数量为 C^+/l, 其反映了运用线性攻击法破译私钥的困难性, 应尽量大。实施线性攻击的条件 是已知函数 z = «Q = R , 能大批量地随机产生 (z、 对。 Let DO be about; the number of terms of an n-ary λ-degree polynomial is C^ +/l , which reflects the difficulty of deciphering the private key by linear attack, and should be as large as possible. The condition for implementing a linear attack is that the known function z = « Q = R can be randomly generated in large quantities (z, right.
在基于身份方式下, 设 τ是 E'(x, ID)关于 ID1 ..., ΐ 的次数, 则一个 +r 元 ό+τ次多项式的项的数量为 C + ^+T, 其反映了公钥的存储空间和加密速 度, 应尽量小。 In the identity-based mode, let τ be E'(x, ID) for the number of ID 1 ..., ΐ, then the number of terms of a +r element ό + τ degree polynomial is C + ^ +T , which reflects The storage space and encryption speed of the public key should be as small as possible.
在基于身份方式下, 为了隐藏 ID的映射函数, 可把建立 D0 的推导过程 划分成若干段: In the identity-based mode, in order to hide the mapping function of the ID, the derivation process of establishing D0 can be established. Divided into several segments:
O(y)=Ok(...Ob(Oa(y))...), O(y)=O k (...O b (O a (y))...),
并把 Dfl0, D,(), 分别展开; 由于 ID映射到 D。0, 因此该 D。0的每个 系数等价于一个关于 ID的 r元/次多项式, 该多项式的项的数量为 C + , 应 使其远大于攻击者收集大量私钥的操作能力。 And expand D fl 0, D, (), respectively; because the ID is mapped to D. 0, so the D. Each coefficient of 0 is equivalent to an r-ary/sub-polynomial with respect to the ID, and the number of terms of the polynomial is C + , which should be much larger than the attacker's ability to collect a large number of private keys.
设;?为 32比特, n=8, m=12, s=2, 为:  Assume;? Is 32 bits, n=8, m=12, s=2, is:
Gn: tin = ( nvn + ^112) mod/?,  Gn: tin = ( nvn + ^112) mod/?,
1: V = UU- l2 画 d
Figure imgf000036_0001
1: V = U U- l2 D
Figure imgf000036_0001
\≤k≤h≤j-\ k=\ \≤k≤h≤j-\ k=\
mod p, j = 2 其中, 参数 hjk、
Figure imgf000036_0002
s 为二次有理分式中的系数;
Mod p, j = 2 where parameter hjk,
Figure imgf000036_0002
s is the coefficient in the quadratic rational fraction;
G2采用如前所述的 "其非线性次数保持不变的非线性变换": G 2 uses the "non-linear transformation whose nonlinear number remains constant" as described above:
;0 + j\V2\ +… + f2 8V28 1 ;0 + j\ V 2\ +... + f 2 8 V 28 1
G2j: u2j = ~r―" - —— mod , = 1,—·,8 G 2j : u 2j = ~r―" - —— mod , = 1 , —·, 8
'200 +'201V21 + ··· + ½8V28 '200 + '201 V 21 + ··· + 1⁄28 V 28
G2 : v2j = ^ 画 d , = l,—.,8 G 2 : v 2j = ^ draw d , = l, —., 8
§200 + §201¾ +··· + ¾08W28 §200 + §2013⁄4 +··· + 3⁄408 W 28
其中, G21中的系数 gy,应理解为是关于 G2中的系数½(), ..., 88的8次函数; 设 G2是 ID的 1次函数, 则 G21是 ID的 8次函数。 Wherein, G 2 - 1 gy coefficients, the coefficient to be understood as the G 2 ½ (), ..., 88 8 linear function; G 2 is disposed linear function ID, then G 2 - 1 It is the 8th function of the ID.
上述方案的有关技术指标和加解密歩骤如下:  The relevant technical indicators and encryption and decryption steps of the above schemes are as follows:
W;¾232(i2-8)= 2i28; C^ = C¾+2=91, 即 E(x)总共有 91 X 9=819个项 ( 8 个相同的分母多项式, 应算作为 1个多项式); 但在基于身份方式下, 设 τ=1, r=A, Cm d +5Cl+T =
Figure imgf000036_0003
即 E,(x, ID)共有 455 X 9 = 4095个项。 其加 密歩骤为:
W;3⁄42 32(i2-8) = 2 i28 ; C^ = C3⁄4 +2 =91, ie E(x) has a total of 91 X 9=819 items (8 identical denominator polynomials, which should be counted as 1 polynomial ); but in the identity-based mode, let τ = 1, r = A, C m d +5 Cl + T =
Figure imgf000036_0003
That is, E, (x, ID) has a total of 455 X 9 = 4095 items. The encryption steps are:
第一步, 计算
Figure imgf000036_0004
First step, calculation
Figure imgf000036_0004
( i, ...,x,) = Kl(wl, ...,w8), 其为一组单向函数的组合; (x io, xn, X12) = K2(w7, w8), 其为一组单向函数的组合; ( i, ..., x,) = K l (w l , ..., w 8 ), which is a combination of a set of one-way functions; (x io, xn, X12) = K 2 (w 7 , w 8 ), which is a combination of a set of one-way functions;
第二步, 计算 E'(x,ID):  The second step is to calculate E'(x,ID):
yj=Ej(xu ..., 12,ID!, ...,ID4), l^y 8, 其为 16元 3次有理分式。 Yj=Ej(x u ..., 12 , ID!, ..., ID 4 ), l^y 8, which is a 16-time 3 rational fraction.
DO关于 J的次数 =255, Cn+x=C + 5 255= 509850594887712,即在已知 R(x) 的条件下进行线性攻击所需要的存储空间为: The number of DOs for J = 255, C n+x = C + 5 255 = 509850594887712, that is, the storage space required for linear attacks under the condition of known R(x) is:
(Cg 255)2 =259947629107353817789888594944 > 264; 在基于身份方式下, 假设 D。0 关于;的次数为 4, 贝 ij =4X8=32, 完成合谋攻 击需要收集的私钥数量 =C¾32=58905。 提高该指标的主要方法是增加 r。 例如, 当 r由 4增加到 10时,
Figure imgf000037_0001
= 1001, 即 E'(x,ID)的函 数规模仅由 4095个项增加到 1001 X 9=9009个项,但其抗合谋攻击的指标 却由 58905增加到。 +32 =1471442973, 增加了 24979.9倍, 相当于: 若对我 国的有 14亿人口的公民身份证公钥密码系统进行合谋攻击, 至少需要收买 14 亿 7千万个私钥, 显然失去了进行合谋攻击的意义。
(Cg 255 ) 2 =259947629107353817789888594944 > 2 64 ; In the identity-based mode, assume D. 0 The number of times is 4, Bay ij = 4X8=32, and the number of private keys that need to be collected to complete the collusion attack = C3⁄4 32 = 58905. The main way to improve this indicator is to increase r. For example, when r is increased from 4 to 10,
Figure imgf000037_0001
= 1001, that is, the function size of E'(x, ID) is only increased from 4095 items to 1001 X 9=9009 items, but its index against collusion attacks is increased from 58905. +32 =1471442973, an increase of 2,4979.9 times, which is equivalent to: If there is a conspiracy attack on the public ID cryptosystem of the national ID of 1.4 billion in China, at least 1.47 billion private keys need to be purchased, obviously losing conspiracy The meaning of the attack.
当然: 即使 D。0 关于;的次数为 4,其函数规模仍然很大。为此,优选的, 建议采用前述的 "私钥形态个性化"技术点。  Of course: even D. 0 The number of times is 4, and its function size is still large. For this reason, it is preferable to adopt the aforementioned "private key form personalization" technology point.
采用前述的优选实施例, 通过运用 ID映射的方法, 建立基于身份的工作 方式, 使得全网所有用户共用一个公钥, 为网络环境下的公钥管理带来了极大 的方便; 以及通过运用 "多个私钥分配中心合成私钥"和 "私钥形态个性化" 的方法, 提高密码系统的抗合谋攻击能力。  With the foregoing preferred embodiment, the ID mapping method is used to establish an identity-based working mode, so that all users of the entire network share a public key, which brings great convenience to the public key management in the network environment; The method of "multiple private key distribution center synthesis private key" and "private key form personalization" improves the anti-collusion attack ability of the cryptosystem.
本说明书中的各个实施例均基于同一技术构思,所以在描述时重点说明的 都是该实施例的独特之处, 各个实施例之间相同相似的部分互相参见即可。并 且, 对于系统实施例而言, 由于其基本相应于方法实施例, 所以描述的比较简 单, 相关之处参见方法实施例的部分说明即可。  The various embodiments in the present specification are based on the same technical concept, and therefore, the descriptions are all unique to the embodiments, and the same similar parts between the respective embodiments can be referred to each other. Moreover, for the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
以上对本发明所提供的一种用于编码和译码数字消息的方法和系统,进行 了详细介绍, 本文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同时, 对于 本领域的一般技术人员, 依据本发明的思想,在具体实施方式及应用范围上均 会有改变之处; 综上所述, 本说明书内容不应理解为对本发明的限制。  The method and system for encoding and decoding digital messages provided by the present invention are described in detail. The principles and implementations of the present invention are described in the following. The description of the above embodiments is only The method for understanding the present invention and its core idea; at the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in specific embodiments and application scopes; The description should not be construed as limiting the invention.

Claims

权 利 要 求 Rights request
1、 一种用于编码和译码数字消息的方法, 其特征在于, 包括:  A method for encoding and decoding a digital message, comprising:
选择正整数 w, n r, 其中, m≥n、  Select a positive integer w, n r, where m≥n,
生成一包含有 E'(x, ID)的公钥,其中,所述 E'(x, ID)为在域 F上的从 xm, IDb ...,IDr)ilJ(y!, jv)的非线性映射函数组,所述 ID = (ID1; ...,ID 为授 权用户的身份标识; Generating a public key containing E'(x, ID), wherein the E'(x, ID) is from x m , ID b ..., ID r ) ilJ (y!, on the domain F) Jv) of the non-linear mapping function group, the ID = (ID 1; ..., ID is the identity of the authorized user;
针对身份标识为 π 的授权用户, 生成一与该身份标识相对应的私钥; 采用所述公钥和 Π , 对消息 进行编码, 得到编码消息 N; 采用所述 私钥对该编码消息 N进行译码, 得到译码消息 L;  Generating a private key corresponding to the identity identifier for the authorized user whose identity is π; using the public key and Π, encoding the message to obtain the encoded message N; using the private key to perform the encoded message N Decoding to obtain a decoded message L;
和 /或, 采用所述私钥对消息 进行编码, 得到编码消息 采用所述公 钥和 ID(^), 对该编码消息 N'进行译码, 得到译码消息 7 。  And/or, encoding the message by using the private key to obtain an encoded message, using the public key and ID (^), decoding the encoded message N' to obtain a decoded message 7 .
2、 如权利要求 1所述的方法, 其特征在于, 通过以下歩骤得到公钥和私 钥:  2. The method of claim 1 wherein the public key and the private key are obtained by:
选择正整数", 其中, m≥n≥n, , 并且 w> ",;  Select a positive integer ", where m≥n≥n, and w> ",;
设置由 X到 的可逆非线性映射函数组: ,. =E(x, ID) =  Set the set of reversible nonlinear mapping functions from X to : , . =E(x, ID) =
ID1... ,IDr), ... , En(xu...,xm, IDh ... ,IDr)); ID 1 ... , ID r ), ... , E n (x u ..., x m , ID h ... , ID r )) ;
依据 E(x,ID)的逆函数, 生成私钥;  Generating a private key according to the inverse function of E(x, ID);
选取 E X, ID;>中的《'个函数作为 E' ^ ID), 得到公钥; 其中, Ε' 含有关 于 的函数: E'( , ID) = (Ει( ι, xm, IDi, IDr), En-(x xm, ^ ...,10 )。 Select "' function as E' ^ ID in EX, ID;> to get the public key; where Ε' contains the function: E'( , ID) = (Ει( ι, x m , IDi, ID r ), E n -(xx m , ^ ..., 10 ).
3、 如权利要求 1所述的方法, 其特征在于, 通过以下歩骤得到公钥和私 钥:  3. The method of claim 1, wherein the public key and the private key are obtained by the following steps:
选择正整数", 其中, m >n≥T ;  Select a positive integer "where m > n ≥ T;
设置接口函数 R O,其用于根据 :)得到"个关于 :)的函数: "0(x) = ( u0i(xi, ·· xm\ … ·, uQn(xx, ···, xm)) = R(x); Set the interface function RO, which is used to get "a function about:" according to :): " 0 (x) = ( u 0 i(xi, ·· x m \ ... ·, u Qn (xx, ···, x m )) = R(x);
选取 个域 F上的《元可逆线性变换 T = (Tb Ti+!), 其中, 每个 包括《个域 F上的关于 的 n元线性多项式; Select the meta-reversible linear transformation T = (T b T i+ !) on the domain F, where each includes the relevant n-ary linear polynomial on the domain F;
选取 S个域 F上的《元可逆非线性变换 G = (G1 其中, 每个 包括 n个域 F上的关于 的函数; Selecting the "metainvertible nonlinear transformation G = (G 1 where, each of the functions including n on the domain F);
所述 T和 /或 G中的至少一个系数为 ID的映射函数; 依据预置规则, 合成所述《«) 、 T和 G, 得到从 X、 ID到; 的非线性映 射函数组: (yi,— ., yn) =E(x, ID) = (E^,— . , xm, IDh— . JD , E^,— . , xm,
Figure imgf000039_0001
At least one of the T and/or G coefficients is a mapping function of the ID; According to the preset rules, the "«", T and G are synthesized, and the nonlinear mapping function group from X, ID to ; is obtained: (yi, — ., y n ) = E(x, ID) = (E^ , — . , x m , IDh — . JD , E^, — . , x m ,
Figure imgf000039_0001
选取 E(x, ID)中的《'个函数作为 E'(x, ID), 得到公钥; 其中, E'(x,ID)中 含有关于 (A, xm, IDb :© 的函数; E'(x, ID) = (EiC !, xm, IDb IDr), ... , Ew i, ... , xm, IDi, ... , IDr)); Select "' function as E'(x, ID) in E(x, ID) to get the public key; where E'(x, ID) contains a function for (A, x m , ID b :©) E'(x, ID) = (EiC !, x m , ID b ID r ), ... , E w i, ... , x m , IDi, ... , ID r ));
生成 T的逆函数 T1 , 生成 G的逆函数 G—1 ; 把授权用户的身份标识的值 代入 T— 1和 G— 1, 计算出与该身份标识相关的 DO ; 生成与该身份标识相对应 的私钥, 所述私钥包括 和 D0 。 Generating an inverse function T 1 of T, generating an inverse function G- 1 of G; substituting the value of the authorized user's identity into T- 1 and G- 1 , and calculating the DO associated with the identity; generating and identifying the identity Corresponding private key, the private key includes and D0.
4、 如权利要求 3所述的方法, 其特征在于, 最后一层 中的至少一个系 数为 ID的映射函数;和 /或,最后一层 中的至少一个系数为 ID的映射函数。  4. The method of claim 3, wherein at least one of the coefficients in the last layer is a mapping function of the ID; and/or at least one of the coefficients in the last layer is a mapping function of the ID.
5、 如权利要求 3所述的方法, 其特征在于,  5. The method of claim 3, wherein
还包括设置单向函数链 HO), 以及单向函数链的逆函数 H—1^的歩骤; 贝 lj, 具体的编译码歩骤优化为: It also includes setting a one-way function chain HO), and a step of the inverse function H- 1 ^ of the one-way function chain; and the specific coding code is optimized to:
通过单向函数链 HO)将原始消息转换为中间结果消息 M, 采用所述公钥 和 ID(^), 对消息 进行编码, 得到编码消息 N; 以及, 采用所述私钥对该编 码消息 N进行译码, 得到译码消息 , 通过单向函数链的逆函数 :)以及私 钥将中间结果消息 转换为最终译码结果;  Translating the original message into an intermediate result message M by using a one-way function chain HO), encoding the message by using the public key and ID (^) to obtain an encoded message N; and using the private key to encode the message N Decoding, obtaining a decoded message, converting the intermediate result message into a final decoding result by using an inverse function of the one-way function chain:) and the private key;
或者, 采用所述私钥对消息 进行编码, 得到中间结果 z, 通过单向函数 链的逆函数 H—1^以及私钥将中间结果 z转换为数字签名消息 N' ; 以及, 通过 单向函数链 HO)将数字签名消息 N'转换为中间结果 X,采用所述公钥和 ID(^), 对该中间结果 X进行译码, 得到译码消息 '。 Alternatively, the message is encoded by using the private key to obtain an intermediate result z, and the intermediate result z is converted into a digital signature message N' by the inverse function H- 1 ^ of the one-way function chain and the private key ; and, through the one-way function The chain HO) converts the digital signature message N' into an intermediate result X, and uses the public key and ID (^) to decode the intermediate result X to obtain a decoded message '.
6、 如权利要求 1所述的方法, 其特征在于, 通过以下歩骤建立私钥: 计算得到 D0 , 所述 DO 与 ID相关;  6. The method according to claim 1, wherein the private key is established by: calculating D0, wherein the DO is related to an ID;
将所述 DO 分为至少两个部分,保存在至少两个私钥分配中心,每个部分 都与 ID相关;  Dividing the DO into at least two parts, stored in at least two private key distribution centers, each part being associated with an ID;
各私钥分配中心根据授权用户的 ID计算得到私钥的一部分, 发送给该用 户;  Each private key distribution center calculates a part of the private key according to the ID of the authorized user, and sends it to the user;
该用户将私钥的各个部分合成, 计算得到私钥。  The user synthesizes the various parts of the private key and calculates the private key.
7、 如权利要求 1所述的方法, 其特征在于, 还包括:  7. The method of claim 1, further comprising:
在生成私钥的过程中, 插入随机变换 w :)以及逆 w-i ) o In the process of generating the private key, insert a random transform w :) and inverse wi ) o
8、 如权利要求 1所述的方法, 其特征在于, 8. The method of claim 1 wherein:
所述 E'(X,ID)中含有关于 (xl, ...,xm,lOu ...,ID 的有理分式函数。 The E'( X , ID) contains a rational fractional function for (xl, ..., xm , lO u ..., ID).
9、 一种用于编码和译码数字消息的系统, 其特征在于, 至少包括: 公钥生成单元,用于生成一包含有 E'(x, ID)的公钥,所述 E'(x, ID)为在域 F上的从 ...,xm, IDb lOr) \iyx, ..., j )的非线性映射函数组, 所述 ID = (ID1; ...,ID 为授权用户的身份标识; 其中, m, n r为正整数, m≥n、 A system for encoding and decoding a digital message, comprising: a public key generating unit, configured to generate a public key including E' (x, ID), the E' (x) , ID) is a set of nonlinear mapping functions from ..., x m , ID b lO r ) \iyx, ..., j ) on the domain F, the ID = (ID 1; ..., ID is the identity of the authorized user; where m, nr are positive integers, m≥n,
私钥生成单元, 用于针对身份标识为 π 的授权用户, 生成一与该身份 标识相对应的私钥;以及至少包括加解密单元和签名验证单元中的一个,其中, 所述加解密单元, 用于采用所述公钥和 Π , 对消息 进行编码, 得到 编码消息 N; 采用所述私钥对该编码消息 N进行译码, 得到译码消息 ;  a private key generating unit, configured to generate, according to an authorized user whose identity is π, a private key corresponding to the identity identifier; and at least one of an encryption and decryption unit and a signature verification unit, where the encryption and decryption unit, For encoding the message by using the public key and Π, to obtain an encoded message N; decoding the encoded message N by using the private key to obtain a decoded message;
所述签名验证单元, 用于采用所述私钥对消息 进行编码, 得到编码消 息 采用所述公钥和 ID(^), 对该编码消息 N'进行译码, 得到译码消息 '。  The signature verification unit is configured to encode the message by using the private key to obtain an encoded message, and use the public key and the ID (^) to decode the encoded message N′ to obtain a decoded message.
10、 如权利要求 9所述的系统, 其特征在于, 所述私钥生成单元进一歩包 括:  10. The system according to claim 9, wherein the private key generating unit further comprises:
至少两个私钥分配中心,所述各私钥分配中心中保存有私钥函数 D0的一 部分, 每个部分都与 ID相关; 所述各私钥分配中心用于根据授权用户的 ID 计算得到私钥的一部分, 发送给该用户;  At least two private key distribution centers, each of which has a part of a private key function D0, each part being associated with an ID; each of the private key distribution centers is configured to calculate a private number according to the ID of the authorized user Part of the key, sent to the user;
私钥合成装置, 用于将私钥的各个部分合成, 计算得到私钥。  The private key synthesizing device is configured to synthesize each part of the private key and calculate the private key.
PCT/CN2007/070266 2007-06-07 2007-07-11 Method and system for encoding and decoding the digital messages WO2008148276A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710100308.3 2007-06-07
CN 200710100308 CN101321060B (en) 2007-06-07 2007-06-07 Method and system for encoding and decoding digital message

Publications (1)

Publication Number Publication Date
WO2008148276A1 true WO2008148276A1 (en) 2008-12-11

Family

ID=40093148

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/070266 WO2008148276A1 (en) 2007-06-07 2007-07-11 Method and system for encoding and decoding the digital messages

Country Status (2)

Country Link
CN (1) CN101321060B (en)
WO (1) WO2008148276A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540673B (en) * 2009-04-24 2011-02-16 武汉大学 Public key encryption and decryption method and digital signature method thereof
US10091529B2 (en) 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
MY184224A (en) * 2010-07-09 2021-03-27 Samsung Electronics Co Ltd Method and apparatus for entropy encoding/decoding a transform coefficient
CN106878011A (en) * 2017-02-27 2017-06-20 中国银联股份有限公司 A kind of key storage method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001091367A1 (en) * 2000-05-23 2001-11-29 Mainstream Encryption A hybrid stream cipher
CN1427351A (en) * 2001-12-17 2003-07-02 北京兆日科技有限责任公司 User's identity authentication method of dynamic electron cipher equipment and its resources sharing system
WO2006046187A1 (en) * 2004-10-28 2006-05-04 Koninklijke Philips Electronics N.V. Method and system for obfuscating a cryptographic function
CN1832403A (en) * 2006-04-24 2006-09-13 北京易恒信认证科技有限公司 CPK credibility authorization system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1252790C (en) * 2002-11-19 2006-04-19 Lg飞利浦显示器(韩国)株式会社 Deflection yoke for cathode ray tube
CN1547342A (en) * 2003-12-04 2004-11-17 郑建德 Public key cryptography algorithm based on problem of classical decomposition of matrix over integral ring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001091367A1 (en) * 2000-05-23 2001-11-29 Mainstream Encryption A hybrid stream cipher
CN1427351A (en) * 2001-12-17 2003-07-02 北京兆日科技有限责任公司 User's identity authentication method of dynamic electron cipher equipment and its resources sharing system
WO2006046187A1 (en) * 2004-10-28 2006-05-04 Koninklijke Philips Electronics N.V. Method and system for obfuscating a cryptographic function
CN1832403A (en) * 2006-04-24 2006-09-13 北京易恒信认证科技有限公司 CPK credibility authorization system

Also Published As

Publication number Publication date
CN101321060B (en) 2011-06-08
CN101321060A (en) 2008-12-10

Similar Documents

Publication Publication Date Title
JP4809598B2 (en) Use of isojani in the design of cryptographic systems
CN111314089B (en) SM 2-based two-party collaborative signature method and decryption method
CN109462481B (en) Secret signcryption method based on asymmetric bilinear pairings
Wei et al. Obtain confidentiality or/and authenticity in big data by ID-based generalized signcryption
US7961876B2 (en) Method to produce new multivariate public key cryptosystems
JP4830860B2 (en) Signature device, verification device, verification device, encryption device, and decryption device
WO2009026771A1 (en) The method for negotiating the key, encrypting and decrypting the information, signing and authenticating the information
WO2005078991A1 (en) A method of multi- centric identity-based key management
CN102263638A (en) Authentication device, authentication method, program, and signature generation device
CN103444128B (en) Key PV signs
Fine et al. Aspects of nonabelian group based cryptography: a survey and open problems
CN104135473A (en) A method for realizing identity-based broadcast encryption by ciphertext-policy attribute-based encryption
WO2008148275A1 (en) Method and system for encoding and decoding the digital message
CN110851845A (en) Light-weight single-user multi-data all-homomorphic data packaging method
CN105162589A (en) Lattice-based verifiable attribute encryption method
CA2819211C (en) Data encryption
CN103988466A (en) Group encryption methods and devices
Qin et al. Simultaneous authentication and secrecy in identity-based data upload to cloud
Emmanuel et al. A note on time and space complexity of rSA and ElGamal cryptographic algorithms
Hwang et al. Universal forgery of the identity-based sequential aggregate signature scheme
WO2008148276A1 (en) Method and system for encoding and decoding the digital messages
Moldovyan et al. Bi-deniable public-encryption protocols based on standard PKI
WO2008148274A1 (en) A method and system for coding and decoding digital message
CN109787773B (en) Anti-quantum computation signcryption method and system based on private key pool and Elgamal
Sheth et al. Analysis of cryptography techniques

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07764194

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07764194

Country of ref document: EP

Kind code of ref document: A1