Software implementation of attribute encryption algorithm based on key policy 1200

Source: Internet
Author: User

Software implementation of attribute encryption algorithm based on key policy (Kpabe)Aminadab

Requirements

    1. The software realization of attribute encryption algorithm based on key policy; Kpabe
    2. Duration:3 days;
    3. 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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.