预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目录目录一、我国的密码分级: ①核心密码: 用于保护党、政、军的核心机密。 ②普通密码: 用于保护国家和事企业单位的低于核心机密而高于商业机密的密码信息。 ③商用密码: 用于保护国家和事企业单位的非机密的敏感信息。 ④个人密码: 用于保护个人的隐私信息。 前三种密码均由国家密码管理局统一管理。二、我国商的业密码政策 ①统一领导: 国家密码管理局统一领导。 ②集中管理: 国家密码管理局办公室集中管理。 ③定点研制: 研制只允许定点单位进行。 ④专控经营: 经许可的单位才能经营。 ⑤满足使用: 国内各单位都可申请使用。一、我国商用密码概况 ⑴密码的公开设计原则 密码的安全应仅依赖于对密钥的保密,不依赖于对算法的保密。 ⑵公开设计原则并不要求使用时公开所有的密码算法 核心密码不能公布算法; 核心密码的设计也要遵循公开设计原则。 ⑶商用密码应当公开算法 ①美国DES开创了公开商用密码算法的先例; ②美国经历DES(公开)→EES(保密)→AES(公开)。 ③欧洲也公布商用密码算法⑷我国的商用密码概况 ●我国在密码技术方面具有优势: 密码理论、密码分析 ●长期以来不公开密码算法,只提供密码芯片 少数专家设计,难免有疏漏; 难于标准化,不利于推广应用。 ●2006年2月我国公布了部分商用密码算法; ☆商用密码管理更科学化、与国际接轨; ☆将促进我国商用密码的发展。二、SMS4密码概况 ①分组密码: 数据分组长度=128位、密钥长度=128位 数据处理单位:字节(8位),字(32位) ②密码算法结构: 基本轮函数加迭代 对合运算:解密算法与加密算法相同 二、SMS4密码概况 ②密码算法结构: 三、SMS4密码算法 1、基本运算: ①模2加:⊕,32比特异或运算 ②循环移位:<<<i,把32位字循环左移i位 2、基本密码部件: ①非线性字节变换部件S盒: ☆8位输入、8位输出。 ☆本质上,8位的非线性置换。 ☆设输入位a,输出位b,表示为: b=S_Box(a) S盒中数据为16进制数☆S盒的置换规则: 以输入的前半字节为行号,后半字节为列号,行列交叉点处的数据即为输出。 举例:设输入为“ef”,则行号为e,列号为f,于是S盒的输出值为表中第e行和第f列交叉点的值, Sbox(‘ef’)=‘84’。 ②非线性字变换:32位字的非线性变换 ▼4个S盒并行置换; ▼设输入字A=(a0,a1,a2,a3),输出字B=(b0,b1,b2,b3), B=(A)=(S_box(a0),S_box(a1),S_box(a2),S_box(a3)) ②非线性变换:32位字的非线性变换 输入字A 非线性 变换 输出字B③字线性部件L变换: ☆32位输入、32位输出。 ☆设输入位B,输出位C,表为: C=L(B) ☆运算规则: C=L(B) =B⊕(B<<<2)⊕(B<<<10)⊕(B<<<18)⊕(B<<<24) ④字合成变换T: ☆由非线性变换τ和线性变换L复合而成; ☆T(X)=L(τ(X))。先S盒变换,再L变换。 3、轮函数F: ☆输入数据:(X0,X1,X2,X3),128位,四个32位字。 ☆输入轮密钥:rk,32位字。 ☆输出数据:32位字。 ☆轮函数F: F(X0,X1,X2,X3,rk) =X0⊕T(X1⊕X2⊕X3⊕rk)3、轮函数F: 2101824 4、加密算法: 输入明文:(X0,X1,X2,X3),128位,四个字。 输入轮密钥:rki,i=0,1,…,31,32个字。 输出密文:(Y0,Y1,Y2,Y3),128位,四个字。 算法结构:轮函数的32轮迭代,每轮使用一个轮密钥。 加密算法: Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki) =Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki),i=0,1…31 (Y0,Y1,Y2,Y3)=(X35,X34,X33,X32) 4、加密算法: 5、解密算法: 输入密文:(X0,X1,X2,X3) 输入轮密钥:rki,i=31,30,…,1,0 输出明文:(Y0,Y1,Y2,Y3) 算法:轮函数的32轮迭代,每轮使用一个轮密钥。 解密算法: Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki) =Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki),i=31,…1,0 (Y0,Y1,Y2,Y3)=(X35,X34,X33,X32) 6、密钥扩展算法: ①常数FK 在密钥扩展中使用一些常数 FK0=(A3B1BAC6),FK1=(56AA3350),FK2=(677D9197),FK3=(B27022DC)。6、密钥扩展算法: ②固定参数CK 32个固定参数Cki,i=0