Move classes and improve namespace hierarchy
Remove Sha1 dependency, rework code accordingly
Add interfaces for ElGamal classes