This class represents a Public Key suitable for the Damgard-Jurik Encryption Scheme. Although the constructor is public, it should only be instantiated by the
Encryption Scheme itself via the generateKey function.
Cryptography and Computer Security Research Group Department of Computer Science Bar-Ilan University (Yael Ejgenberg)
This function is used when an Damgard Jurik Public Key needs to be sent via a Channel or any other means of sending data (including serialization).
It retrieves all the data needed to reconstruct this Public Key at a later time and/or in a different VM.
It puts all the data in an instance of the relevant class that implements the KeySendableData interface.
In order to deserialize this into a DamgardJurikPublicKey all you need to do is cast the serialized object with (DamgardJurikPublicKey)