密码学通过C++实现
谁能帮我解读一下下面的一段程序么。谢谢哈、
#include "BigInt.h"
#include <stdio.h>
int main(int argc, char* argv[])
{
CBigInt m,e,n,d,c,m1;
int i;
m.m_nLength=4;
m.m_ulValue[3]=0x0;
m.m_ulValue[2]=0x0;
m.m_ulValue[1]=0x0;
m.m_ulValue[0]=0x45e;
printf("The initial plainttext m is:\n");
for(i=BI_MAXLEN-5;i>=0;i--)
printf("%x\n",m.m_ulValue[i]);
e.m_nLength=1;
e.m_ulValue[0]=0x34703;
n.m_nLength=4;
n.m_ulValue[3]=0x78CDED41;
n.m_ulValue[2]=0xF71A0BF9;
n.m_ulValue[1]=0xA1F36E0A;
n.m_ulValue[0]=0x60F3EE89;
c.Mov(m.ModExp(e,n));
printf("The ciphertext encrypted c is:\n");
for(i=BI_MAXLEN-5;i>=0;i--)
printf("%x\n",c.m_ulValue[i]);
d.m_nLength=4;
d.m_ulValue[3]=0x4C9327F3;
d.m_ulValue[2]=0x70B028FD;
d.m_ulValue[1]=0x08D56387;
d.m_ulValue[0]=0xFCC6161B;
m1.Mov(c.ModExp(d,n));
printf("The plainttext decrypted m1 is:\n");
for(i=BI_MAXLEN-5;i>=0;i--)
printf("%x\n",m1.m_ulValue[i]);
return 0;
}