gf2_32.h
来自「lots Elliptic curve cryptography codes. 」· C头文件 代码 · 共 67 行
H
67 行
#ifndef CRYPTOPP_GF2_32_H#define CRYPTOPP_GF2_32_H#include "cryptlib.h"NAMESPACE_BEGIN(CryptoPP)//! GF(2^32) with polynomial basisclass GF2_32{public: typedef word32 Element; typedef int RandomizationParameter; GF2_32(word32 modulus=0x0000008D) : m_modulus(modulus) {} Element RandomElement(RandomNumberGenerator &rng, int ignored = 0) const {return rng.GenerateWord32();} bool Equal(Element a, Element b) const {return a==b;} Element Identity() const {return 0;} Element Add(Element a, Element b) const {return a^b;} Element& Accumulate(Element &a, Element b) const {return a^=b;} Element Inverse(Element a) const {return a;} Element Subtract(Element a, Element b) const {return a^b;} Element& Reduce(Element &a, Element b) const {return a^=b;} Element Double(Element a) const {return 0;} Element MultiplicativeIdentity() const {return 1;} Element Multiply(Element a, Element b) const; Element Square(Element a) const {return Multiply(a, a);} bool IsUnit(Element a) const {return a != 0;} Element MultiplicativeInverse(Element a) const; Element Divide(Element a, Element b) const {return Multiply(a, MultiplicativeInverse(b));}private: word32 m_modulus;};NAMESPACE_END#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?