2012年11月6日

摘要: 函数入口参数void RSA(LL data,int mode,LL d,LL e,LL n) data为要加密或解密的数,mode为模式(1加密,0解密),{e,n}为公钥,完成加密,{d,n}为私钥,完成解密。算法流程 1.任取两个素数p,q; 2.计算n=p*q; 3.计算N=(p-1)*(q-1); 4.选取一奇数e,使得GCD(e,N)=1; 5.计算d,使得(e*d)%N=1,d的计算方法如下: 1)n1= N,n2=e,b1=0,b2=1 2)求 s 和 r,使 n1 = s×n2 + r 3)如果r≠0 则n1 =n2,n2=r,t=b2,b2=b... 阅读全文
posted @ 2012-11-06 16:59 NoSoul.Love 阅读(291) 评论(2) 推荐(0)
 
摘要: 函数入口参数void MD5(UC *data) 输入为一个任意长度的字符串,加密结果是32位的16进制数,如:MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72算法流程 1.对于输入的字符串,按位填补一个1以及若干个0使得填补后的位数为 N*512+448(按字节的话就是N*64+56),N>=0 2.再添加一个64位(8个字节)的数,该数字为原始长度,使得最后的字符串变为(N+1)*512位(既(N+1)*64字节)。 3.初始化四个32位的数,A=0x67452301;B=0xefcdab89;C=0x98badcfe; 阅读全文
posted @ 2012-11-06 13:25 NoSoul.Love 阅读(274) 评论(0) 推荐(0)