diff --git a/dh.h b/dh.h index fc23e9fb..64cb811b 100644 --- a/dh.h +++ b/dh.h @@ -9,6 +9,7 @@ #include "cryptlib.h" #include "gfpcrypt.h" +#include "algebra.h" NAMESPACE_BEGIN(CryptoPP) diff --git a/ec2n.h b/ec2n.h index 826b2e43..f89fd7bd 100644 --- a/ec2n.h +++ b/ec2n.h @@ -11,6 +11,7 @@ #include "cryptlib.h" #include "gf2n.h" #include "integer.h" +#include "algebra.h" #include "eprecomp.h" #include "smartptr.h" #include "pubkey.h" diff --git a/ecp.h b/ecp.h index 6c3b44dc..29d40329 100644 --- a/ecp.h +++ b/ecp.h @@ -8,6 +8,7 @@ #include "cryptlib.h" #include "integer.h" +#include "algebra.h" #include "modarith.h" #include "eprecomp.h" #include "smartptr.h" diff --git a/eprecomp.cpp b/eprecomp.cpp index ad6ea891..5161290a 100644 --- a/eprecomp.cpp +++ b/eprecomp.cpp @@ -6,6 +6,7 @@ #include "eprecomp.h" #include "integer.h" +#include "algebra.h" #include "asn.h" NAMESPACE_BEGIN(CryptoPP) diff --git a/luc.h b/luc.h index bfd37597..bd04dee5 100644 --- a/luc.h +++ b/luc.h @@ -7,6 +7,7 @@ #include "cryptlib.h" #include "gfpcrypt.h" #include "integer.h" +#include "algebra.h" #include "secblock.h" #if CRYPTOPP_MSC_VERSION diff --git a/modexppc.h b/modexppc.h index ebfcf6f0..a1a0a9c7 100644 --- a/modexppc.h +++ b/modexppc.h @@ -4,6 +4,7 @@ #include "cryptlib.h" #include "modarith.h" #include "integer.h" +#include "algebra.h" #include "eprecomp.h" #include "smartptr.h" #include "pubkey.h" diff --git a/mqv.h b/mqv.h index 5d30de24..aa5ba8f6 100644 --- a/mqv.h +++ b/mqv.h @@ -10,6 +10,7 @@ #include "gfpcrypt.h" #include "modarith.h" #include "integer.h" +#include "algebra.h" #include "misc.h" NAMESPACE_BEGIN(CryptoPP) diff --git a/pubkey.h b/pubkey.h index 4b6f28a3..8cdabe56 100644 --- a/pubkey.h +++ b/pubkey.h @@ -43,6 +43,7 @@ #include "cryptlib.h" #include "integer.h" +#include "algebra.h" #include "modarith.h" #include "filters.h" #include "eprecomp.h" diff --git a/xtr.cpp b/xtr.cpp index 459f8ffe..9819b81d 100644 --- a/xtr.cpp +++ b/xtr.cpp @@ -5,6 +5,7 @@ #include "xtr.h" #include "nbtheory.h" #include "integer.h" +#include "algebra.h" #include "modarith.h" #include "algebra.cpp" diff --git a/xtr.h b/xtr.h index f520cf5e..d38bae95 100644 --- a/xtr.h +++ b/xtr.h @@ -1,17 +1,19 @@ #ifndef CRYPTOPP_XTR_H #define CRYPTOPP_XTR_H -/** \file - "The XTR public key system" by Arjen K. Lenstra and Eric R. Verheul -*/ +//! \file xtr.h +//! \brief The XTR public key system +//! \details The XTR public key system by Arjen K. Lenstra and Eric R. Verheul #include "cryptlib.h" #include "modarith.h" #include "integer.h" +#include "algebra.h" NAMESPACE_BEGIN(CryptoPP) -//! an element of GF(p^2) +//! \class GFP2Element +//! \brief an element of GF(p^2) class GFP2Element { public: @@ -40,7 +42,8 @@ public: Integer c1, c2; }; -//! GF(p^2), optimal normal basis +//! \class GFP2_ONB +//! \brief GF(p^2), optimal normal basis template class GFP2_ONB : public AbstractRing { @@ -208,6 +211,7 @@ protected: mutable Integer t; }; +//! \brief Creates primes p,q and generator g for XTR void XTR_FindPrimesAndGenerator(RandomNumberGenerator &rng, Integer &p, Integer &q, GFP2Element &g, unsigned int pbits, unsigned int qbits); GFP2Element XTR_Exponentiate(const GFP2Element &b, const Integer &e, const Integer &p);