Access control inner product function encryption and decryption method, device, equipment, medium and product
By constructing an access control internal product function encryption model and embedding dual internal product predicates and function vectors, the problem of one-way access control in the existing technology is solved, and bidirectional control and privacy protection of internal product function value calculation permissions are realized.
Patent Information
- Application Number
- CN202510361080.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2045-03-26
AI Technical Summary
The prior art can only implement one-way receiver access control, and it is difficult to adapt to more complex computing permission control needs.
By building an access control internal product function encryption model, the system setting module, key generation module, encryption module and decryption module are used to generate the decrypted private key and ciphertext, and the double internal product predicates and function vectors are embedded in the decrypted private key and ciphertext to realize bidirectional access control.
It realizes two-way control of the calculation permissions of the inner product function value, improves the adaptability to the needs of more complex calculation permissions, and effectively protects the privacy of the receiver.
Smart Images

Figure CN119892501A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of inner product function calculation, and in particular to an access control inner product function encryption and decryption method, device, equipment, medium and product. Background Art
[0002] In the fields of Internet of Things, cloud computing, etc., it is necessary to perform secure calculations on the increasing amount of private data to mine the value of data, that is, to calculate it without leaking the plaintext and obtain the correct calculation results. To address this problem, inner product functional encryption (IPFE) is an effective solution in the field of inner product function calculation. The decryption private key of IPFE is related to a vector. After encrypting the plaintext vector, the ciphertext is obtained, and after decryption, an inner product function value about the plaintext vector is obtained. In addition, no other information about the plaintext vector and the vector contained in the decryption private key will be leaked. However, when the number of keys used for decryption is equal to the dimension of the plaintext vector, the attacker can completely restore the plaintext vector through the combination of multiple private keys, thereby leaking more information, which exceeds the original design goal of only calculating the inner product. Therefore, the existing technology avoids this information leakage problem by introducing an access control mechanism to ensure the confidentiality of the inner product function value.
[0003] Among the existing access control methods, attribute encryption has been widely studied for data access control in cloud environments. Existing technologies mainly focus on how to combine attribute encryption, identity encryption, proxy re-encryption and other technologies with IPFE. However, these methods can only achieve one-way access control for the recipient and cannot protect attribute privacy, making it difficult to adapt to more complex computing permission management requirements. Summary of the invention
[0004] The purpose of this application is to provide an access control inner product function encryption and decryption method, device, equipment, medium and product, which can solve the problem that the existing technology can only implement one-way recipient access control, and thus it is difficult to adapt to more complex computing authority management requirements.
[0005] To achieve the above objectives, this application provides the following solutions: In the first aspect, the present application provides an access control inner product function encryption and decryption method, the access control inner product function encryption and decryption method is to encrypt and decrypt by constructing an access control inner product function encryption model, the access control inner product function encryption model is based on a system setting module, a key generation module, an encryption module and a decryption module. The access control inner product function encryption and decryption method includes: converting the security parameter Enter the system settings module and determine the common parameters and the master private key ; The security parameter is used to characterize the security level of the cryptographic primitive; define the vector and vector is the structure of a double inner product predicate; represents a pair of vectors associated with the sender, represents a pair of vectors associated with the receiver; represents the sender predicate vector; t represents the sender attribute vector; represents the receiver attribute vector; Represents the receiver predicate vector; the public parameters , Master Private Key and three vectors Enter the key generation module to generate a decryption private key ; Among them, the decryption private key contains three vectors ; Representing and decrypting private keys Related function vector; the decryption private key Include sender predicate vector , receiver attribute vector and the decryption private key Related vectors ; The public parameters , Master Private Key and three vectors Input encryption module and according to public parameters , Master Private Key and three vectors The sender's data is encrypted to generate ciphertext; the ciphertext is the encrypted sender's data, and the ciphertext contains three vectors ; represents a vector related to the ciphertext; when the receiving party receives the ciphertext, the ciphertext, the decryption private key and the public parameter are input into the decryption module for authority matching to determine a first result; based on the first result and the decryption module, a second result is obtained; according to the first result and the second result, a vector is determined and vector The inner product function value of ; through vector and vector The inner product function value of , determine the decrypted ciphertext; the decrypted ciphertext is the data of the sender.
[0006] In a second aspect, the present application provides an access control inner product function encryption and decryption device, including: a system setting module for setting security parameters Enter the system settings module and determine the common parameters and the master private key ; The security parameters are used to characterize the security level of the cryptographic primitives; the key generation module is used to define the vector and vector is the structure of a double inner product predicate; represents a pair of vectors associated with the sender, represents a pair of vectors associated with the receiver; represents the sender predicate vector; t represents the sender attribute vector; represents the receiver attribute vector; Represents the receiver predicate vector; the public parameters , Master Private Key and three vectors Enter the key generation module to generate a decryption private key ; Among them, the decryption private key contains three vectors ; Representing and decrypting private keys Related function vector; the decryption private key Include sender predicate vector , receiver attribute vector and the decryption private key Related vectors ; Encryption module, used to convert public parameters , Master Private Key and three vectors Input encryption module and according to public parameters , Master Private Key and three vectors The sender's data is encrypted to generate ciphertext; the ciphertext is the encrypted sender's data, and the ciphertext contains three vectors ; represents a vector related to the ciphertext; a decryption module, which is used to input the ciphertext, the decryption private key and the public parameter into the decryption module for authority matching after the recipient receives the ciphertext, and determine a first result; based on the first result and the decryption module, obtain a second result; determine a vector according to the first result and the second result and vector The inner product function value of ; through vector and vector The inner product function value of , determine the decrypted ciphertext; the decrypted ciphertext is the data of the sender.
[0007] In a third aspect, the present application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the access control inner product function encryption and decryption method described above.
[0008] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the access control inner product function encryption and decryption method described above.
[0009] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements any of the access control inner product function encryption and decryption methods described above.
[0010] According to the specific embodiments provided in this application, this application discloses the following technical effects: The present application provides an access control inner product function encryption and decryption method, device, equipment, medium and product. First, the security parameter Enter the system setting module, determine the public parameters and the recipient's master private key, and vector and vector as a double inner product predicate, then taking the common parameter , Master Private Key and three vectors Enter the key generation module to generate a decryption private key , and the public parameters , Master Private Key , three vectors Input the encryption module to generate ciphertext. In this way, by embedding a part of the vector related to the receiver and the sender (i.e., the double inner product predicate) and the corresponding function vector (i.e., the function vector related to the decryption private key) in the decryption private key and the ciphertext, The double inner product predicate has a strong attribute hiding property, which effectively protects the privacy of the receiver and achieves data invisibility. It can more accurately describe the security goal of the access control inner product function encryption and decryption method, that is, only the legitimate receiver who has passed the authority matching can obtain the first result. After obtaining the first result, the correct inner product function value is determined. , and then the decrypted ciphertext is obtained. In other words, the two-way control of the inner product function value calculation authority is realized, and the adaptability to more complex calculation authority control requirements is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0012] Figure 1 A flowchart of an access control inner product function encryption and decryption method provided in an embodiment of the present application.
[0013] Figure 2 A schematic diagram of an access control function encryption and decryption model supporting double inner product predicates provided in an embodiment of the present application.
[0014] Figure 3 This is a structural block diagram of an access control inner product function encryption and decryption device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0015] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0016] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0017] Example 1: Figure 1 As shown, the present application provides an access control inner product function encryption and decryption method that supports double inner product predicates. The access control inner product function encryption and decryption method is performed by constructing an access control inner product function encryption model. The access control inner product function encryption model is constructed based on a system setting module, a key generation module, an encryption module and a decryption module. The access control inner product function encryption and decryption method includes steps 101-108.
[0018] Step 101: Set Security Parameters Enter the system settings module and determine the common parameters and the master private key ; The security parameter is used to characterize the security level of the cryptographic primitive.
[0019] In some embodiments, step 101 specifically includes: based on a random matrix , random matrix , random matrix sequence and a random matrix , choose a random vector and a random vector , determine the master private key and public parameters ; among them, among them, Represents a random matrix sequence No. elements; the common parameters Including a bilinear group; the bilinear group is ; Representation Group , and The order, , Representation Group The generator of , It's a group The generator of represents a bilinear map, ; Indicates in group China-Israel Exponential operation with base; represents transpose; represents the dimension of the vector associated with the receiver; Indicates that the prime order is The integer ring Randomly select elements from Indicates random selection; Represents an integer; , and Both said Different dimensional sizes; A random matrix of dimension 1 representing the vector associated with the receiver; The dimension of the vector associated with the receiver is A random matrix.
[0020] Step 102: Define vector and vector is the structure of a double inner product predicate; represents a pair of vectors associated with the sender, represents a pair of vectors associated with the receiver; represents the sender predicate vector; t represents the sender attribute vector; represents the receiver attribute vector; Represents the receiver predicate vector.
[0021] Step 103: Set public parameters , Master Private Key and three vectors Enter the key generation module to generate a decryption private key ; Among them, the decryption private key contains three vectors ; Representing and decrypting private keys Related function vector; the decryption private key Include sender predicate vector , receiver attribute vector and the decryption private key Related vectors .
[0022] In some embodiments, step 103 specifically includes: , Master Private Key and three vectors Enter the key generation module to calculate the decryption private key , and choose a random vector .
[0023] in, , represents the key component associated with the sender predicate vector and the receiver attribute vector, represents the key component associated with the receiver attribute vector, and Representation and vector the relevant key components; , , Represents vectors ,vector ,vector Middle elements; represents the dimension of the vector associated with the receiver; Represents the dimension of the vector associated with the sender.
[0024] Step 104: Set public parameters , Master Private Key and three vectors Input encryption module and according to public parameters , Master Private Key and three vectors The sender's data is encrypted to generate ciphertext; the ciphertext is the encrypted sender's data, and the ciphertext contains three vectors ; Represents the vector associated with the ciphertext.
[0025] In some embodiments, step 104 specifically includes: selecting a random vector , the public parameters , Master Private Key , three vectors Input encryption module, output ciphertext .in, They represent the intermediate ciphertext components used for decryption, the ciphertext components related to the sender attribute vector and the receiver predicate vector, and the ciphertext components related to the vector Related ciphertext components; ;in, , and Represents vectors ,vector and vector No. elements.
[0026] Step 105: After receiving the ciphertext, the receiver inputs the ciphertext, the decryption private key and the public parameters into a decryption module for authority matching to determine a first result.
[0027] In some embodiments, step 105 specifically includes: and vector The inner product function value of is equal to zero, and the vector and vector The inner product function value of is also equal to zero, as a condition for authority matching; based on the condition for authority matching, a first result is determined according to a preset calculation formula ; The formula for the preset operation is:
[0028] Step 106: Obtain a second result based on the first result and the decryption module.
[0029] In some embodiments, step 106 specifically includes the following.
[0030] according to , determine the second result .
[0031] Step 107: Determine the vector according to the first result and the second result and vector The inner product function value of .
[0032] Step 108: Through the vector and vector The inner product function value of , determine the decrypted ciphertext; the decrypted ciphertext is the data of the sender.
[0033] Reference Figure 2 , an access control inner product function encryption and decryption device, comprising: a system setting module 1, for setting security parameters Enter the system settings module and determine the common parameters and the master private key ; The security parameters are used to characterize the security level of the cryptographic primitives; key generation module 2, used to define vector and vector is the structure of a double inner product predicate; represents a pair of vectors associated with the sender, represents a pair of vectors associated with the receiver; represents the sender predicate vector; t represents the sender attribute vector; represents the receiver attribute vector; Represents the receiver predicate vector; the public parameters , Master Private Key and three vectors Enter the key generation module to generate a decryption private key ; Among them, the decryption private key contains three vectors ; Representing and decrypting private keys Related function vector; the decryption private key Include sender predicate vector , receiver attribute vector and the decryption private key Related vectors ; Encryption module 3, used to convert public parameters , Master Private Key and three vectors Input encryption module and according to public parameters , Master Private Key and three vectors The sender's data is encrypted to generate ciphertext; the ciphertext is the encrypted sender's data, and the ciphertext contains three vectors ; represents a vector related to the ciphertext; a decryption module 4, which is used to input the ciphertext, the decryption private key and the public parameter into the decryption module for authority matching after the recipient receives the ciphertext, and determine a first result; based on the first result and the decryption module, obtain a second result; and determine a vector according to the first result and the second result. and vector The inner product function value of ; through vector and vector The inner product function value of , determine the decrypted ciphertext; the decrypted ciphertext is the data of the sender.
[0034] This application focuses on the security requirements of data being available but invisible and controllable on-demand computing, combines the idea of bidirectional access control and the inner product function encryption and decryption scheme, and proposes an access control function encryption and decryption method that supports double inner product predicates to solve the problem of flexible and controllable permissions for on-demand secure computing.
[0035] In an exemplary embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the above method is implemented when the processor executes the computer program.
[0036] In an exemplary embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the above method when executed by a processor.
[0037] In an exemplary embodiment, a computer program product is provided, including a computer program, which implements the above method when executed by a processor.
[0038] Example 2: Reference Figure 3 First, input security parameters, and the system setting module generates a master private key and public parameters and sends them to the key generation module. Then, the key generation module uses the master private key to generate a decryption private key, and embeds a part of the double inner product predicate related to the receiver and the sender, as well as a function vector related to the decryption private key in the key generation module; secondly, the sender uses the public key to encrypt his own data, and all ciphertexts generated in the encryption module contain a part of the double inner product predicate related to the sender and the receiver, as well as a function vector related to the ciphertext. Then, after receiving the ciphertext, the receiver uses this decryption private key to decrypt the ciphertext. The decryption module contains two parts: permission matching and decryption operation execution. Only the receiver who passes the permission matching can continue to perform the decryption operation and calculate the correct inner product function value. In this way, by embedding the double inner product predicate and the corresponding function vector in the decryption key and the ciphertext at the same time, the two-way control of the calculation permission is realized. At the same time, the contained double inner product predicate has a strong attribute hiding property, which effectively protects the privacy of the receiver, realizes that the data can be calculated but not visible, and meets the needs of secure data fine-grained management and control.
[0039] The formal definition of encryption and decryption of access control functions based on supporting double inner product predicates is shown in Table 1. Table 1 is the definition table of encryption and decryption of access control functions supporting double inner product predicates. Among them, Setup is the algorithm corresponding to the system setting module (referred to as the system setting algorithm), KeyGen is the algorithm of the key generation module (Key Generation, referred to as the key generation algorithm), Enc is the algorithm of the encryption module (Encryption, referred to as the encryption algorithm), and Dec is the algorithm of the decryption module (Decryption, referred to as the decryption algorithm).
[0040] Table 1 Definition table of access control function encryption and decryption supporting double inner product predicates
[0041] Specifically, the present application uses double inner product predicate encryption to achieve fine-grained access control and conditional decryption without exposing the plaintext. Among them, the four algorithms Setup, KeyGen, Enc and Dec correspond to the following four steps respectively.
[0042] Step 1: System Setting Algorithm , including: Input security parameters , where the security parameter is also an implicit input to several other algorithms, the bilinear group ,in is the order of the group, It's a group The generator of It's a group The generator of . Bilinear map ,in, Indicates in group Perform exponential operations in Indicates in group Perform exponential operations in Indicates in group Perform a bilinear mapping operation in . Select a random matrix , random matrix , random matrix sequence and a random matrix , choose a random vector and a random vector ; Among them, the symbol Indicates that the prime order is The integer ring Randomly select elements from is an integer, The superscripts represent different dimension sizes. Output common parameters and the master private key as follows.
[0043] .
[0044] .
[0045] in, Representation Matrix The transpose of express Belongs to the collection ,here Representation Group In the exponential operation, the contents in the brackets indicate the values involved in the operation. Indicates that the exponential operation is in a loop Internal execution.
[0046] Step 2: Key Generation Algorithm , specifically including: the key generation algorithm is mainly executed by the authoritative center, and the algorithm inputs public parameters , Master Private Key and three vectors ,in, represents the sender predicate vector, represents the receiver attribute vector, Representing and decrypting private keys Related function vector. Among them, and Used to support the permission matching process. Select random vector , calculate the recipient's private key ,in, In prime order The dimension is The integer ring Randomly select elements from .
[0047] in, . represents the key component associated with the sender predicate vector and the receiver attribute vector, represents the key component associated with the receiver attribute vector, and Representation and vector Related key components.
[0048] Step 3: Encryption Algorithm , specifically including: input common parameters , Master Private Key and three vectors ,in represents the sender attribute vector, represents the receiver predicate vector, Representation and Ciphertext Related function vector, choose a random vector , output ciphertext .
[0049] in, ; , , Represents vectors ,vector ,vector Middle elements.
[0050] Step 4: Decryption Algorithm , express The inner product function value is incorrect. The correct inner product function value or incorrect inner product function value is obtained through the decryption module. Incorrect means that the recipient does not have legal authority. Specifically include: input public parameters , the recipient's private key and ciphertext ,First, the operations corresponding to the permission matching are as follows.
[0051]
[0052] When the vector and The inner product value of is equal to zero, and the vector and The inner product value of When is also equal to zero, we can get . The decryption operation is then performed as follows.
[0053]
[0054] Since the inner product function value to be calculated in the end In the group This is equivalent to solving discrete logarithms. Under certain conditions, the Baby-Step Giant-Step (BSGS) algorithm can be used to calculate the inner product function value. .
[0055] It is worth noting that the double inner product predicate structure proposed in this application includes two pairs of vectors and ,in is associated with the sender, Is associated with the receiver.
[0056] The present application has the following advantages: (1) It supports more flexible two-way computing permission control functions. Based on the designed double inner product predicate structure, it is embedded in the key generation algorithm and encryption algorithm. The double inner product predicate structure includes a pair of vectors related to the sender and a pair of vectors associated with the receiver. Bidirectional control of the inner product function computing permission is achieved. It effectively solves the problem that the existing technology can only achieve one-way access control for the receiver based on identity encryption and attribute encryption. It improves the adaptability to more complex computing permission management requirements. (2) In this application, only the legitimate receiver with permission can obtain the correct inner product function value. However, most of the existing technologies can only achieve indistinguishability security, which makes it difficult to deal with stronger adversary attacks. Therefore, the present application can support semi-adaptive simulation security. The simulation security performance more accurately describes the security goals of the access control function encryption method. (3) It has more efficient computing and storage overhead. Specifically, in practical applications, when the dimension of the predicate (attribute) vector is in the interval [1000, 10000], the computation and storage overhead of the three algorithms KeyGen, Enc and Dec increase faster, but the overall computation and storage overhead is still lower than the prior art. Compared with the prior art, the computation time and storage overhead of the present application show a more stable linear growth trend with the dimension of the predicate (attribute) vector.
[0057] In general, the clever design of embedding the double inner product predicate structure into the key and ciphertext structure, especially in the encryption method, effectively reduces the complexity brought by the double inner product predicate by utilizing the addition operation characteristics of random matrices and group exponents (that is, multiplying any elements in the same group is equal to adding the exponents. That is, following the power operation rule: multiplying the same base power, the base remains unchanged, and the exponents are added). At the same time, it ensures the bidirectional computing permission control function and stronger simulation security.
[0058] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0059] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive memory (ReRdM), magnetic random access memory (MRdM), ferroelectric random access memory (FRdM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RdM) or external cache memory, etc. By way of illustration and not limitation, RdM may be in various forms, such as static random access memory (SRdM) or dynamic random access memory (DRdM).
[0060] The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but is not limited thereto.
[0061] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0062] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. An access control inner product function encryption and decryption method, characterized in that: The access control inner product function encryption and decryption method is to encrypt and decrypt by constructing an access control inner product function encryption model, wherein the access control inner product function encryption model is constructed based on a system setting module, a key generation module, an encryption module and a decryption module, and the access control inner product function encryption and decryption method includes: The security parameters Enter the system settings module and determine the common parameters and the master private key ; The security parameter is used to characterize the security level of the cryptographic primitive; Defining vectors and vector is the structure of a double inner product predicate; represents a pair of vectors associated with the sender, represents a pair of vectors associated with the receiver; represents the sender predicate vector; t represents the sender attribute vector; represents the receiver attribute vector; represents the receiver predicate vector; The public parameters , Master Private Key and three vectors Enter the key generation module to generate a decryption private key ; Among them, the decryption private key contains three vectors ; Representing and decrypting private keys Related function vector; the decryption private key Include sender predicate vector , receiver attribute vector and the decryption private key Related vectors ; The public parameters , Master Private Key and three vectors Input encryption module and according to public parameters , Master Private Key and three vectors The sender's data is encrypted to generate ciphertext; the ciphertext is the encrypted sender's data, and the ciphertext contains three vectors ; represents the vector associated with the ciphertext; After receiving the ciphertext, the receiver inputs the ciphertext, the decryption private key and the public parameters into a decryption module for authority matching to determine a first result; Based on the first result and the decryption module, obtain a second result; According to the first result and the second result, determine the vector and vector The inner product function value of ; By vector and vector The inner product function value of , determine the decrypted ciphertext; the decrypted ciphertext is the data of the sender.
2. The access control inner product function encryption and decryption method according to claim 1 is characterized in that: The security parameters Enter the system settings module and determine the common parameters and the master private key , specifically including: Based on random matrix , random matrix , random matrix sequence and a random matrix , choose a random vector and a random vector , determine the master private key and public parameters ;in, Represents a random matrix sequence No. elements; the common parameters Including a bilinear group; the bilinear group is ; Representation Group , and The order, , Representation Group The generator of , It's a group The generator of represents a bilinear map, ; Indicates in group China-Israel Exponential operation with base; represents transpose; represents the dimension of the vector associated with the receiver; Indicates that in prime order The integer ring Randomly select elements from Indicates random selection; Represents an integer; , and Both said Different dimensional sizes; A random matrix of dimension 1 representing the vector associated with the receiver; The dimension of the vector associated with the receiver is A random matrix.
3. The access control inner product function encryption and decryption method according to claim 2 is characterized in that: The public parameters , Master Private Key and three vectors And the key generation module to generate the decryption private key , specifically including: The public parameters , Master Private Key and three vectors Enter the key generation module to calculate the decryption private key , and choose a random vector ;in, , represents the key component associated with the sender predicate vector and the receiver attribute vector, represents the key component associated with the receiver attribute vector, and Representation and vector the relevant key components; , , Represents vectors ,vector ,vector Middle elements; represents the dimension of the vector associated with the receiver; represents the dimension of the vector associated with the sender; Indicates in group China-Israel Exponential operation with base .
4. The access control inner product function encryption and decryption method according to claim 3 is characterized in that: The public parameters , Master Private Key , three vectors Input encryption module and according to public parameters , Master Private Key and three vectors Encrypt the sender's data to generate ciphertext, including: Choose a random vector , the public parameters , Master Private Key , three vectors Input encryption module, output ciphertext ;in, They represent the intermediate ciphertext components used for decryption, the ciphertext components related to the sender attribute vector and the receiver predicate vector, and the ciphertext components related to the vector Related ciphertext components; ; in, , and Represents vectors ,vector and vector Middle elements.
5. The access control inner product function encryption and decryption method according to claim 4 is characterized in that: After receiving the ciphertext, the receiver inputs the ciphertext, the decryption private key and the public parameters into the decryption module for authority matching to determine the first result, which specifically includes: Vector and vector The inner product function value of is equal to zero, and the vector and vector The inner product function value of It is also equal to zero, as a condition for permission matching; Based on the permission matching condition, the first result is determined according to the preset calculation formula ; The formula for the preset operation is: ; in, Indicates in group Perform a bilinear map operation in .
6. The access control inner product function encryption and decryption method according to claim 5, characterized in that: Based on the first result and the decryption module, a second result is obtained, which specifically includes: according to , determine the second result .
7. An access control inner product function encryption and decryption device, characterized in that: include: System settings module, used to set security parameters Enter the system settings module and determine the common parameters and the master private key ; The security parameter is used to characterize the security level of the cryptographic primitive; Key generation module, used to define vector and vector is the structure of a double inner product predicate; represents a pair of vectors associated with the sender, represents a pair of vectors associated with the receiver; represents the sender predicate vector; t represents the sender attribute vector; represents the receiver attribute vector; Represents the receiver predicate vector; the public parameters , Master Private Key and three vectors Enter the key generation module to generate a decryption private key ; Among them, the decryption private key contains three vectors ; Representing and decrypting private keys Related function vector; the decryption private key Include sender predicate vector , receiver attribute vector and the decryption private key Related vectors ; Encryption module, used to convert public parameters , Master Private Key and three vectors Input encryption module and according to public parameters , Master Private Key and three vectors The sender's data is encrypted to generate ciphertext; the ciphertext is the encrypted sender's data, and the ciphertext contains three vectors ; represents the vector associated with the ciphertext; a decryption module, configured to input the ciphertext, the decryption private key and the public parameter into the decryption module for authority matching after the receiving party receives the ciphertext, and determine a first result; obtain a second result based on the first result and the decryption module; and determine a vector according to the first result and the second result. and vector The inner product function value of ; through vector and vector The inner product function value of , determine the decrypted ciphertext; the decrypted ciphertext is the data of the sender.
8. A computer device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the access control inner product function encryption and decryption method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the access control inner product function encryption and decryption method described in any one of claims 1 to 6 is implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the access control inner product function encryption and decryption method described in any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
CN102369687A
Single-keyword searchable encryption method based on inner product predicate in cloud
CN114826575A
Information transmission method and device and related equipment
CN116506162A
Anti-leakage anonymous inner product predicate encryption method
CN117375815A
Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
US20130114810A1