Certificateless cryptography Implementation Hello guys I am trying to implement Certificateless Cryptography algorithm with reference to this base paper. Right now I am trying to implement the code in java. There are some points specified in PDF which I didn't understood. I need some help to understand how should I implement them.

The points are as follows (kindly correct me if I misunderstood any point):


  
  Pick a generator of $g$ of $Z_p^*$ with order $q$. -> for this step I just followed this link as reference and calculated $g$ as $g^{(p−1)/2}\bmod p=1$
  where $g$ is prime number.
  Choose cryptographic hash in the paper they have specified that they had used SHA-1 to generate hash. I can generate the hash values
  but I am not able to reproduce the hash functions given in base paper,
  does $(0,1)^*$ is used to represent binary.
  Hash usually generates hexadecimal values do I need to convert them into decimal for Raise operation i.e. power
  Does the hash needs to be of fixed size or not.
  Sorry to say but in summary I didn't understood the encryption part of this paper. I know stackexchange is not made to explain how it works
  but I just want a proper guide line so that I can implement the
  application.
As far I understood the paper (very briefly) it looks like it's talking about the default asymmetric encryption without the CA (certificate authorities). However - it seems there's the SEM part of the system which seems to know the private keys (???) and acts as the revocation authority.

I believe you can use the default Java crypto API without needing to implement it yourself. In fact I'd discourage you to do that until you REALLY know what are you doing, how/what to properly encrypt with the public key, etc. For the start - I'd advice to learn something about the cryptography elements and implementations, what you see in the papers are mathematical models of common crypto elements. 

As it goes for your questions:


  Pick a generator of g of Z∗p with order q. -> for this step I just
  followed this link as reference and calculated g as g(p−1)/2modp=1
  where g is prime number.


It means to choose you keysize (so - e.g. 2048 bit keys) and generate a private key (p, q) and public key (p*q). Using a KeyPairGenerator should be effective.


  Choose cryptographic hash in the paper they have specified that they
  had used SHA-1 to generate hash. I can generate the hash values but I
  am not able to reproduce the hash functions given in base paper, does 
  (0,1)∗ is used to represent binary.


Any reasonable hash function will do - so lets assume SHA-1. All numbers are binary for the computer, its only their 'human' representation how you can display them (decimal, hex, ..)


  Hash usually generates hexadecimal values do I need to convert them
  into decimal for Raise operation i.e. power


Hash returns a bit array (byte[]), you can use the BigInteger class to raise it to certain power. Don't forget all operations are under the discrete group  (so you do ($g^a$ mod p). About the steps described in the paper - you need to 'sign' the hash. And after the decryption, the signature is compared with a newly computed signature so data integrity is ensured.

As for the topic - I'd advice to spend some time understanding the default cryptography and asymmetric encryption (for this case) and usage practices and it will be much easier for you to follow the paper. The problem with the cryptography is that something is misunderstood or neglected, it will completely break the security. 

In all cases - have fun :)