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 + -
显示快捷键?