CryptoGroups
Cryptographic groups are a fundamental building block for digital signatures, key exhange algorithm, assymetric encryption and many other exciting algorithms of practical importance.
ToDo

Import and fix tests

Add a
spec
function with which specs can be retrieved asspec(:P_192)
,spec(:OakleyV1)
orspec(:B_163, :PB)
. 
Introuce abstract type
Spec

Rename
crs
torand
and inShuffleProofs
,gen_verificatum_prg
. 
Rename
solidify
asspecialize

Rename
incurve
tooncurve

According to https://safecurves.cr.yp.to/complete.html
... the standard Weierstrass addition formulas fail if Q happens to match P. This will not be caught by random tests.
as well as identical points can not be summed. Could be partially addressed at the higher level of ECGroup
.
> An implementor can stop a smallsubgroup attack by rejecting any Q for which hQ = 0
This may be addressed at constructor level, but requires to know the cofactor.
 Adding accessor methods to
AffinePoint
as_a
and_b
and acessor methods to curvesa
andb
 Implement independent basis generation for elliptic curves
 Add a square root function for elliptic curves (Imported from CryptoUtils)
 Make a prg iterator for numbers
 Fix the
UndefVarError(:P)
in the show method  Add point, field, integer conversions as specified in X9.62 section 4.3
 Specify cofactors in the elliptic curve specs and encode cofactor assertions in
ECPoint
 Does order needs to be computed from
n
by divifing with cofactorh
?  Add some docs
 Consider better alternatives for internal data representation of
F2GNB
andF2PB
to improve performance.