Non-Interactive Zero-Knowledge Proof implementation using Fiat-Shamir Heuristic and Elliptic Curve Cryptography