FPGA based unified architecture for public key and private key cryptosystems