Info Security
lishuhuakai
这个作者很懒,什么都没留下…
展开
-
信息安全——MD5的实现
1.问题描述 MD5以512比特一块的方式处理输入的消息文本,每个块又划分为十六个32比特的子块。算法的输出由四个32比特的块组成,将它们级联成一个128比特的Hash值。①首先填充消息使填充后的长度恰好为一个比512的倍数小64的数。填充方法是附一个“1”在消息后面,再补多个“0”。然后,在其后附上64比特的消息长度(填充前)的二进制表示。算法中使用了四个32比特的变量A、B、C、D原创 2013-06-16 12:20:15 · 2927 阅读 · 0 评论 -
信息安全——大整数包的设计!
大整数运算包的设计与实现1.问题描述大整数运算是现代密码学算法实现的基础,重要性不言而喻。大整数我们指的是二进制位512、1024和2048的数,一般的语言不支持。2.基本要求以类库头文件的形式实现。3.实现提示 在选择了大整数的存储结构之后,主要实现以下运算:① 模加;② 模减;③ 模乘;④ 模整除;⑤ 模取余。这五种原创 2013-06-13 11:08:40 · 4196 阅读 · 3 评论 -
信息安全——RSA密码系统的实现
RSA密码系统的实现1.问题描述RSA密码系统可具体描述为:取两个大素数p和q,令n=pq,N=(p-1)(q-1),随机选择整数d,满足gcd(d,N)=1,ed=1 modN。公开密钥:k1=(n,e)私有密钥:k2=(p,q,d)加密算法:对于待加密消息m,其对应的密文为c=E(m)=me(modn) 解密算法:D(c)=cd(modn)2.基本要求原创 2013-06-16 10:51:57 · 5957 阅读 · 0 评论 -
信息安全——ELGamal数字签名方案的实现
ELGamal数字签名方案的实现1. 问题描述为简化问题,我们取p=19,g=2,私钥x=9,则公钥y=29 mod 19=18。消息m的ELGamal签名为(r,s),其中r=gk mod p,s=(h(m)-xr)k-1 mod (p-1)2.基本要求 考虑p取大素数的情况。3. 实现提示① 模n求逆a-1modn运算。② 模n的大数幂乘运算原创 2013-06-18 09:54:41 · 9544 阅读 · 3 评论 -
关于大整数包的设计!
C/C++中的int类型能表示的范围是-2E31-2E31–1。unsigned类型能表示的范围是0-2E32–1,即 0-4294967295。所以,int和unsigned类型变量,都不能保存超过10位的整数。有时我们需要参与运算的数,可能会远远不止10 位,例如,可能需要保留小数点后面100位(比如求π的值),那么,即便使用能表示很大数值范围的double变量,但是由于double变量只有6原创 2013-05-25 00:17:48 · 5906 阅读 · 3 评论