ez_pqcrypto

Abstracts over pqcrypto. Allows selecting a post-quantum encryption algorithm by setting a single byte-sized value. Useful for multi-algorithmic or nondeterministic schemes

``` // Alice wants to share data with Bob. She first creates a PostQuantumContainer let mut alicecontainer = PostQuantumContainer::newalice(algorithmdictionary::BABYBEAR); // Then, alice sender her public key to Bob. She must also send the byte value of algorithmdictionary::BABYBEAR to him let alicepublickey = alicecontainer.getpublickey(); let algorithmbytevalue = algorithmdictionary::BABYBEAR; // // Then, Bob gets the public key. To process it, he must create a PostQuantumContainer for himself let bobcontainer = PostQuantumContainer::newbob(algorithmbytevalue, alicepublickey); // Internally, this computes the CipherText. The next step is to send this CipherText back over to alice let bobciphertext = bobcontainer.getciphertext(); // // Next, alice received Bob's ciphertext. She must now run an update on her internal data in order to get the shared secret alicecontainer.aliceonreceiveciphertext(bobciphertext);

asserteq!(alicecontainer.getsharedsecret(), bobcontainer.getshared_secret()); ```