Software implementation of attribute encryption algorithm based on key policy (Kpabe)Aminadab
Requirements
- The software realization of attribute encryption algorithm based on key policy; Kpabe
- Duration:3 days;
- Note The amount of code 30%;
4. Process:
Setting this is a random algorithm, except for hidden security parameters that are not entered. The output exposes the parameter pk and a master key MK.
Encryption this is a random algorithm, input a message m, a set of properties γ, public parameter PK. Output ciphertext E.
Key generation This is a random algorithm, enter an access structure a, master key Mk, open parameter PK. Outputs a decryption key D.
Decryption algorithm input: Based on the attribute group Gamma encryption of ciphertext e, corresponding to access to structure a 's decryption key D, exposing the parameter pk.
If Γ∈A outputs X message M.
5. provide the following algorithm, but do not require certain according to this algorithm;
Algorithm
is the prime order p a bilinear group, set G Yes G1 generation. In addition, the establishment of E : G1  x G1  →  G2 " represents bilinear mapping. Security parameters k determines the size of the group. We also defined the Lagrange coefficients for I  ∈  Span style= "FONT-FAMILY:CALIBRI;" >ZP and a set of Zp Element: We associate each attribute with a unique element in. Our construction is as follows.
Set the domain that defines the attribute U = {1, 2, ..., n}. For each attribute i ∈ U, Select a number evenly randomly from the ZP. Finally, choose Y from Zp evenly and randomly. The published public parameter PK is
Master key MK is:
Encryption (M,Γ,PK) selects a random value based on the gamma of a set of properties s ∈ Zp, encrypting a message M ∈ G2. and release ciphertext :
Key generation (T, MK) the algorithm outputs a key that enables the user to decrypt an encrypted message based on a set of attribute gamma, if and only if T (gamma) = 1. The algorithm is performed as follows. First select a polynomial for each node x(including the leaves) in the tree T. These polynomial are selected in the top-down mode in the following way, starting with the root node R.
For each node in the tree x, set the degree of the polynomial qx to one less than the threshold kx, i.e.
Now, for the root node R, the polynomial of theset and other points is completely randomly defined. For any other node x, set and select a completely random definition of other points.
Once the polynomial is determined, for each leaf node x, we give the following secret value to the user:
The collection of the above secret values is the decryption key D.
Decryption (E,D) We specify our decryption process as a recursive algorithm. For illustrative purposes, we present the simplest form of decryption algorithms and discuss potential performance improvements in the next section. Let's first define a recursive algorithm:
Decryptnode (e,d, X), as the ciphertext of the input, the private key D(we assume that the access tree T is embedded in the private key), the node x in the tree. It outputs A set of elements of G2 or ⊥.
Set i = ATT (x). If node x is a leaf node, then:
We now consider that when x is a recursive condition without a leaf node. The algorithm decryptnode(E,D,X) is as follows: For all nodes ? is x 's child, it calls Decryptnode (e,d, X) and saves the output as Fz.
Assume that SX is a sub-node Zof a set of arbitrary KX sizes, so that Fz is not equal to ⊥. If no such setting exists, then the node does not satisfy the condition, and the function returns ⊥.
Otherwise, the calculation:
and returns the result.
Now that we have defined the function decryption node, the decryption algorithm simply calls the function at the root of the tree. We observe that when and only if the ciphertext satisfies the tree, Decryptnode (e,d, r) =. before
This decryption algorithm simply divides the Ys and restores the message M.
Software implementation of attribute encryption algorithm based on key policy.