没有合适的资源?快使用搜索试试~ 我知道了~
首页SMS4C++实现/实验报告
资源详情
资源评论
资源推荐
中国商用加密标准 SMS4 分析实验报告
一、概况
二、SMS4 与 DES、AES 比较
三、意义
四、实现
1. 密钥扩展
2. S 盒替换
3. L 变换
4. 轮函数 F
5. 加密算法
6. 解密算法
五、分析
1.输入改变一位,输出改变位数
2.S 变换和 L 变换输入改变一位,输出改变位数
3.S 盒连续变换使输入等于输出的轮数
附 1:实现代码
附 2:运行截图
一、概况
商用密码是指对不涉及国家秘密内容的信息进行加密保护或者安全认证所使
用的密码技术和密码产品。
商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏
感性的内部信息、行政事务信息、经济信息等进行加密保护。
1972 年美国公布了第一个商用密码 DES。而 2006 年 2 月公布的用于无线局
域网加密的 SMS4 是我国公布的第一个商用密码。
SMS4 是一个分组对称密码算法。分组长度与密钥长度均为 128 位。数据处
理单位主要为字节(8 位)和字(32 位)。包括非线性变换 S 和线性变换 L,经
过 32 轮迭代结果为 128 位密文。其中 S 盒可替换,是一种灵活的、相对稳定的密
码算法。
二、SMS4 与 DES、AES 比较
SMS4、DES 与 AES 均为已公开的分组对称商用密码,均使用异或,置换,
代换,移位操作四种基本运算。均包括线性和非线性变换。
DES:分组长度为 64 位,密钥长度为 64 位(放弃其中八位用作奇偶校验),
16 轮变换,输出 64 位密文。有 8 个 4 x 16 位 S 盒。从实际出发仍认为其安全性足
够,但现在一般更多的使用 AES。
AES:分组长度为 128~256 位,密钥长度为 128、192 或 256 位,10~14 轮变
换,输出与明文对应长度的密文。有 16 x 16 位的 S 盒和基于 16 x 16 位的 E、F 表
的混合列操作。
SMS4:分组长度为 128 位,密钥长度为 128 位,32 轮变换,输出 128 位密文。
有 16 x 16 位 S 盒。
三、意义
随着信息时代的到来,信息显得越来越重要,甚至成为一种战略物资。所以
信息的安全也越来越重要。而密码算法则是信息安全的核心。
SMS4 的公布改变了长期以来不公布密码算法只提供密码芯片的局面。打破
了外国对商业密码的垄断,使得用户不再需要面对要达到加密要求就必须向外国
管理者缴纳使用费的情况。也在最大程度上避免了因使用外国密码算法而被掌握
陷门的风险。
同时,SMS4 也标志着我国密码体制与国际接轨,有利于我国密码管理的科
学化,促进我国商用密码算法的发展。
四、实现
1.密钥扩展
使用到 4 个常数 FK0~3 和 32 个固定参数 CK0~31,定义 K0~3 为 FK 与密
钥的异或值。子密钥 IKi 等于 Ki+4 等于 Ki+1~3 与 CKi 的 T'变换与 Ki 的异
或值。
2.S 盒替换
使用 16 x 16 位的 S 盒,以输入高位为行号、低位为列号取对应表中数值
作为输出。
3.L 变换
以输入与其循环左移 2,10,18,24 次的值的异或值作为输出。(密钥
扩展里用到的 L'变换的左移次数为 13,23 次)
4.轮函数 F
四个 S 盒并行替换后做 L 变换称作 T 变换。
F 函数的输出为输入数据 X1~3 与子密钥 IK 的异或值的 T 变换得到的值
再与输入数据 X0 的异或值。
5.加密算法
明文作为第一轮 F 的输入,之后的输入为前一轮输入的后三项与前一轮
F 变换的结果,子密钥为 IK0~31。
32 轮变换后,最后四轮的输出分别作为密文的第 4 到第 1 项。
6.解密算法
解密算法与加密相同,但子密钥的使用顺序为 IK31~0。
五、分析
1.输入改变一位,输出改变位数
每次测试先随机产生原始输入,之后每次随机改变一位,与前一次输出
比较改变位数。每次测试做 1000 次改变,取平均数。
见图(四)。
多次统计取平均结果为:63.63 位
2.S 变换和 L 变换输入改变一位,输出改变位数
每次测试先随机产生原始输入,之后每次随机改变一位,与前一次输出
比较改变位数。每次测试做 1000 次改变,取平均数。
见图(三)。
多次统计取平均结果为:
S:3.98 位
L:5 位
3.S 盒连续变换使输入等于输出的轮数
S 盒公有 256 种输入,对每个输入做连续 S 变换,直到输出与输入相同。
对于每个 S 盒结果为定值。
部分见图(四)。
对于附 1 中的代码实现时所用 S 盒的计算结果为:
(XX:Y XX=输入 Y=S 盒替换次数)
剩余19页未读,继续阅读
不能说先森
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1