📄 montgome.h
字号:
struct MontgomeryData
{
DWORD K; /* length of modulus */
DWORD M0Prime; /* -M[0]**(-1) mod 2**DIGIT_BITS */
LPDWORD M; /* modulus */
LPDWORD product; /* space for temporary product */
};
void MontgomerySetup(struct MontgomeryData *context, LPDWORD M, DWORD N);
void MontgomeryTeardown(struct MontgomeryData *context);
void MontgomeryTransform(struct MontgomeryData *context, LPDWORD X);
void MontgomeryReduce(struct MontgomeryData *context, LPDWORD T, LPDWORD X);
void MontgomeryModSquare(struct MontgomeryData *context, LPDWORD A, LPDWORD B);
void MontgomeryModMultiply(struct MontgomeryData *context, LPDWORD A, LPDWORD B, LPDWORD C);
void MontgomeryModExp(LPDWORD A, LPDWORD B, LPDWORD C, LPDWORD D, DWORD len);
void MontgomeryModRoot(LPDWORD M, LPDWORD C, LPDWORD PP, LPDWORD QQ, LPDWORD DP, LPDWORD DQ, LPDWORD CR, DWORD PSize);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -