Non Interactive Zero Knowledge Proof Algorithm