eprecomp.h
来自「C++实现的数字签名DSA算法」· C头文件 代码 · 共 42 行
H
42 行
#ifndef CRYPTOPP_EPRECOMP_H
#define CRYPTOPP_EPRECOMP_H
#include "integer.h"
#include "algebra.h"
#include <vector>
NAMESPACE_BEGIN(CryptoPP)
/**
Please do not directly use the following class. It should be
considered a private class for the library. The following
classes are public and use ExponentiationPrecomputation internally. <br><br>
ModExpPrecomputation; <br>
EcPrecomputation<EC2N>; <br>
EcPrecomputation<ECP>;
*/
template <class T> class ExponentiationPrecomputation
{
public:
typedef T Element;
typedef AbstractGroup<T> Group;
ExponentiationPrecomputation() : m_group(NULL) {}
void SetGroupAndBase(const Group &group, const Element &base);
void Precompute(unsigned int maxExpBits, unsigned int storage);
void PrepareCascade(std::vector<BaseAndExponent<Element> > &eb, const Integer &exponent) const;
Element Exponentiate(const Integer &exponent) const;
Element CascadeExponentiate(const Integer &exponent, const ExponentiationPrecomputation<T> &pc2, const Integer &exponent2) const;
const Group *m_group;
unsigned int m_windowSize;
Integer m_exponentBase; // what base to represent the exponent in
std::vector<Element> m_bases; // precalculated bases
};
NAMESPACE_END
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?