# How to generate a bilinear group of prime order p for key generation

I am trying to implement an IEEE Paper In Cryptography. I read many reference regarding an RSA key generation. But i am confused with above statement. Please someone explain me What it says with example.

EDIT *

I am trying to implement key generation from the paper Key-Aggregate Cryptosystem for Scalable Data Sharing in Cloud Storage. In the paper, the first step in key generation is a setup phase state as follows SETUP(1^λ) : Randomly pick a bilinear group G of prime order p where , a generator gϵG ...

In the definition I understand what is meant by bilinear, prime order and generator. But what is that parameter λ and what should its value be?

*Edit was added for clarification purposes (copy-and-paste from this dupe by same user).

• @fgrieu : Sorry, thats my mistake. Actually i am trying to do this paper as part of my academic project for completion of my graduation, Please can you give me some thread to do that or some explanations? – John Mathew Nov 24 '15 at 5:04
• At least can you please give me suggestion about how to generate public system parameters that explaining in setup phase (section 4.1) @fgrieu – John Mathew Nov 24 '15 at 5:10
• For what its worth: follow-ups to this paper include this, this, this, this, this. There is also a variant of the paper, used in the original question's bitmap. – fgrieu Dec 7 '15 at 10:15
• One of the reference you mentioned uses AES for implementation. How it will be suitable under public/secret encryption? @fgrieu .you people got the solution? still i am in stuck :( :( :( – John Mathew Dec 7 '15 at 11:25
• the last reference you mentioned is the exact paper i am trying to implement @fgrieu – John Mathew Dec 7 '15 at 11:27

## 1 Answer

Bilinear group in question is expected to be strong enough, and this depends on group order $p$. Namely, group order should be large enough. So, $\lambda$ is order size in bits. That is, size of the binary representation of order. Order of the group, or maybe just size of the order should be known before generating the group. Notation $1^{\lambda}$ is there to say SETUP() accepts a bitstring of size $\lambda$.

• So may λ can be 512,1024, or more strong. Am i correct?? @Vadym Fedyukovych – John Mathew Dec 2 '15 at 4:51
• For a multiplicative group, group order could be 200 bits long and modulus could be 1500 bits. For this particular bilinear group please double-check your source. @John Mathew – Vadym Fedyukovych Dec 2 '15 at 23:36
• I think the key generation process is something like ElGamal Encryption. Am i right?@fgrieu – John Mathew Dec 3 '15 at 7:12
• Map $e(,)$ is the core of the whole scheme. Maybe an introductory review paper would help. This will take time. Please consider to take a look at crypto.stanford.edu/pbc/thesis.pdf. Sign $^$ is power-to, since $e(g,g)$ is a generator of $\mathbb G_T$. @John Mathew – Vadym Fedyukovych Dec 3 '15 at 12:14
• @Vadym Fedyukovych: I see. Your suggestion to use PBC seems good in the situation. I have read the paper more, and section 5.2 does contain a reference to PBC, and tells the parameters used in the implementation. – fgrieu Dec 7 '15 at 10:20