each configuration (x64 and win32) needs a different mirdef file.
For that reason, each configuration directory contains the corresponding mirdef file and it has been deleted from the main Miracl directory.
Added initialization of the randomness source in the beginning of the sender and receiver execution.
Deleted unnecessary printing.
Added the phrase "#pragma once"  to cause the included .h files to be included only once.
Added references to the pseudocodes document.
Added the option that the user determines which SecureRandom object to
use. 
This is done by adding constructors that accept a SecureRandom object
along with the other parameters.
The random object is kept by the dlog group and used when needed.
Deleted two unused native functions.
Fixed bug in the encode byte array to GroupElement function. 
The given byte array is used to generate an element. The generated
element is always a valid element and thus, there is no reason to check
it again. 
Changed the boolean indicates whether check the element to false.
Changed the data structure of aes member to AES instead of
PseudorandomFunction.
Deleted the commented printing.
Added implementation of Serializable interface. 
We need to provide a way to send commitment messages and decommitment
messages via channel, without necessarily knowing the specific type. To
enable that, the interface should implement serialization.
Added the verifyDecommitment function.
This function gets a pair of commitment and decommitment messages and
verifies them. It should replace the calling of receiveCommitment and
receiveDecommitment functions. The purpose is to enable sending many
commitment and decommitment messages together and then verify each pair
of them.
Deleted unnecessary comment.
1. Added the implementation of generateCommitmentMsg and
generateDecommitmentMsg. Now the commit and the decommit functions call
the corresponding function and them send the returned message.
2. In generateCommitmentMsg - call the elGamal's encrypt function that
gets a specific random instead of the encryptWithSpecificRandomValue
function, which has been deleted.
Added a generateCommitmentMsg function that checks the type of the given
commitValue and calls the super implementation of the function.
1. Changed the name of processDecommitment to verifyDecommitment.
2. verifyDecommitment function - added a check of the input types.
3. verifyDecommitment function - get the commitment message as argument
instead of getting it from the map.
1. Deleted the processDecommitment function, use verifyDecommitment
instead.
2. receiveDecommitment function - before calling verifyDecommitment, get
the commitment message from the map (using the id) and send it the the
verifyDecommitment.
1. Changed the default hash function from BC implementation to OpenSSL
implementation.
2. added implementations of generateCommitmentMsg,
generateDecommitmentMsg (committer) and verifyDecommitment (receiver)
functions.
Deleted the functions sampleRandomCommitValue, generateCommitValue,
generateBytesFromCommitValue. These function have the same
implementation in the super classes thus, they shouldn't be here too.
1. Changed the Default hash function to use openSSL implementation
instead of BC.
2. Added implementation of verifyDecommitment.
3. Changed the value in the map from byte[] to
CmtSimpleHashCommitmentMessage. This is because the receiveDecommitemnt
shout get the commitment message from the map and send it to the
verifyDecommitment function as a commitment message and not as a byte
array.