当前位置:首页 » 密码管理 » 分组密码如何算

分组密码如何算

发布时间: 2022-10-31 09:43:53

㈠ 请简述什么是序列密码与分组密码,它们的区别是什么

序列密码(Stream Cipher):
又称流密码,将明文消息按字符逐位进行加密
分组密码(Block Cipher):
在分组密码中将明文消息分组(每组有多个字符),逐组进行加密。

㈡ 什么是分组密码和序列密码

  1. 分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。

  2. 序列密码也称为流密码(Stream Cipher),它是对称密码算法的一种。序列密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。 1949年Shannon证明了只有一次一密的密码体制是绝对安全的,这给序列密码技术的研究以强大的支持,序列密码方案的发展是模仿一次一密系统的尝试,或者说“一次一密”的密码方案是序列密码的雏形。如果序列密码所使用的是真正随机方式的、与消息流长度相同的密钥流,则此时的序列密码就是一次一密的密码体制。若能以一种方式产生一随机序列(密钥流),这一序列由密钥所确定,则利用这样的序列就可以进行加密,即将密钥、明文表示成连续的符号或二进制,对应地进行加密,加解密时一次处理明文中的一个或几个比特。

㈢ 什么是分组密码及密码分析啊

美国早在1977年就制定了自己的数据加密标准:DES。随着DES的出现,人们对分组密码展开了深入的研究和讨论。出现了各种各样的分组密码。用抽象的观点来看,分组密码就是一种满足下列条件的映射E:Fm2×SK→Fm2对每个k∈SK,E(.,k是从Fm2到Fm2的一个置换。可见,设计分组密码的问题在于找到一种算法,能在密钥控制下从一个足够大且足够“好”的置换子集合中,简单而迅速地选出一个置换。一个好的分组密码应该是既难破译又容易实现,即加密函数E(.,k)和解密函数D(.,k)都必须容易计算,但是至少要从方程y=E(x,k)或x=D(y,k)中求出密钥k应该是一个困难问题。 在分组密码设计技术发展的同时,分组密码分析技术也得到了空前的发展。已有很多分组密码分析技术,如强力攻击(包括穷尽密钥搜索攻击、字典攻击、查表攻击、时间—存储权衡攻击)、差分密码分析、差分密码分析的推广(包括截段差分密码分析、高阶差分密码分析、不可能差分密码分析)、线性密码分析、线性密码分析的推广(包括多重线性密码分析、非线性密码分析、划分密码分析)、差分—线性密码分析、插值攻击、密钥相关攻击、能量分析、错误攻击、定时攻击等等。

㈣ 分组密码的算法要求

分组密码算法实际上就是密钥控制下,通过某个置换来实现对明文分组的加密变换。为了保证密码算法的安全强度,对密码算法的要求如下。 加密速度慢,错误扩散和传播。
分组密码将定长的明文块转换成等长的密文,这一过程在秘钥的控制之下。使用逆向变换和同一密钥来实现解密。对于当前的许多分组密码,分组大小是 64 位,但这很可能会增加。
明文消息通常要比特定的分组大小长得多,而且使用不同的技术或操作方式。这样的方式示例有:电子编码本(ECB)、密码分组链接(CBC)或密码反馈(CFB)。ECB 使用同一个密钥简单地将每个明文块一个接一个地进行加密;在 CBC 方式中,每个明文块在加密前先与前一密文块进行“异或”运算,从而增加了复杂程度,可以使某些攻击更难以实施。 “输出反馈”方式(OFB)类似 CBC 方式,但是进行“异或”的量是独立生成的。 CBC 受到广泛使用,例如在 DES(qv)实现中,而且在有关密码术的技术性方面的相应书籍中深入讨论了各种方式。请注意:您自己建立的 密码系统的普遍弱点就是以简单的形式来使用某些公开的算法,而不是以提供了额外保护的特定方式使用。
迭代的分组密码是那些其加密过程有多次循环的密码,因此提高了安全性。在每个循环中,可以通过使用特殊的函数从初始秘钥派生出的子密钥来应用适当的变换。该附加的计算需求必然会影响可以管理加密的速度,因此在安全性需要和执行速度之间存在着一种平衡。天下没有免费的午餐,密码术也是如此;与其它地方一样,应用适当方法的技巧中有一部分是源于对需要进行的权衡以及它们与需求平衡的关系如何的理解。
分组密码包括DES、IDEA、SAFER、Blowfish和 Skipjack — 最后一个是“美国国家安全局(US National Security Agency,NSA)”限制器芯片中使用的算法。

㈤ 分组密码的五种工作模式

常见的分组密码工作模式有ECB、CBC、CFB、OFB、CTR五种,下面通过流程图分别展示了5大模式的分组密码工作加解密的流程。

ECB(Electronic Codebook, 电子密码本)模式是最简单的加密模式,明文消息被分成固定大小的块(分组),并且每个块被单独加密。
每个块的加密和解密都是独立的,且使用相同的方法进行加密,所以可以进行并行计算,但是这种方法一旦有一个块被破解,使用相同的方法可以解密所有的明文数据,安全性比较差。
适用于数据较少的情形,加密前需要把明文数据填充到块大小的整倍数。

CBC(Cipher Block Chaining, 密码块链)模式中每一个分组要先和前一个分组加密后的数据进行XOR异或操作,然后再进行加密。
这样每个密文块依赖该块之前的所有明文块,为了保持每条消息都具有唯一性,第一个数据块进行加密之前需要用初始化向量IV进行异或操作。
CBC模式是一种最常用的加密模式,它主要缺点是加密是连续的,不能并行处理,并且与ECB一样消息块必须填充到块大小的整倍数。

CFB(Cipher Feedback, 密码反馈)模式和CBC模式比较相似,前一个分组的密文加密后和当前分组的明文XOR异或操作生成当前分组的密文。CFB模式的解密和CBC模式的加密在流程上其实是非常相似的。

OFB(Output Feedback, 输出反馈)模式将分组密码转换为同步流密码,也就是说可以根据明文长度先独立生成相应长度的流密码。通过流程图可以看出,OFB和CFB非常相似,CFB是前一个分组的密文加密后XOR当前分组明文,OFB是前一个分组与前一个明文块异或之前的流密码XOR当前分组明文。由于异或操作的对称性,OFB模式的解密和加密完全一样的流程。

CTR(Counter, 计数器)模式与OFB模式一样,计数器模式将分组密码转换为流密码。它通过加密“计数器”的连续值来产生下一个密钥流块,

转自 https://blog.csdn.net/shaosunrise/article/details/80035297

㈥ 什么是分组密码和序列密码

一般分组密码是文件中的数字

序列密码就是光盘的密码

分组密码与流密码的不同之处在于输出的每一位数字不是只与相应时刻输入的明文数字有关,而是与一组长为m的明文数字

㈦ 密码学笔记

别人用A的公钥加密传输的信息,只有A的私钥可以解密。保证了传输的信息的安全性。

A用A的私钥加密的信息,别人用A的公钥才可以解密。可以证明这个信息一定是A传输而来的。

共享秘钥(对称加密):速度快,但无法保证客户端与服务器之间传输时秘钥的安全性。

和公开密钥(非对称加密):安全,速度慢。

一、客户端请求SSL(安全套接层)通信,报文中包含自己支持的SSL版本、加密算法等。

二、服务器应答,附带自己的公钥证书,协商定好的SSL版本、加密组件。

三、客户端根据自己本地的收信任的CA公钥,解封服务器公钥证书,得到服务器公钥。客户端生成一个随机码序列,用服务器公钥加密后,发回服务器。

四、服务器用私钥解密后,再加密将字符串传回客户端。

五、客户端确认服务器身份后,生成对称加密算法和共享秘钥,使用服务器公钥加密后,传给服务器。

六、此后,双方使用对称加密算法加密数据,进行传输。

上面过程中,一二用于获得合法的服务器公钥,三四用于确认服务器是否为真正私钥持有者(因为,服务器公钥谁都可以得到)。

使用与明文比特序列一样长的,真正的随机数序列,进行加密,绝对安全,因为穷举破译后能得到整个秘钥空间,毫无意义。

以分组为单位进行处理的密码算法称为 分组密码。

采用 Feistel网络。

以 64 bit 为一个加密单位,首先分成两部分,各32 bit 。

加密过程持续数轮,每轮中,使用子秘钥与右侧数据经过轮函数生成一个序列,然后与左侧做 XOR 。

每轮结束后,左右两侧交换。

加解密结构相同,轮数任意,函数任意。

使用秘钥1、2、3对明文进行加密、解密、加密三个过程,称为三重DES。

解密过程是为了兼容老版DES,如果1、2、3秘钥相同,则成为了普通DES。

1、3秘钥相同,2不同时,称为DES-EDE2 。

1、2、3秘钥不同,称为DES-EDE3 。

采用的是 Rijndael 算法,SPN结构。

输入分组为 128bit(16字节),秘钥长度可以以 32bit 为单位,在128~256bit之间选择。

该算法由多轮构成,10~14轮。

一轮中:

SubBytes,按字节,将输入分开,以每个字节为索引,查表找值,替换。

ShiftRows(平移行),按字节,打乱上面的输出。

MixColumns (混合列),按4个字节,比特运算。

与轮秘钥进行 XOR 。

分组密码:每次处理,特定长度的一块数据。

流密码:对数据流,连续处理,需要保持内部状态,记录进度。

明文分组加密后,直接成为,密文分组。

特点:攻击者无需破译,即可操纵明文。

明文分组,与前一个密文分组XOR,加密得到自己的密文分组。

第一个分组的前一个密文分组,由 初始化向量(随机比特序列) 代替。

加密时,需要从头开始。因为需要与密文分组做 XOR 。

解密时,对密文分组解密,直接与密文分组 XOR 即可。

同样的明文分组,密文值可以不相等。

密文分组可以损坏,影响部分。

密文分组比特缺失,影响全部。

前一个密文分组,通过加密算法得到一个比特序列,称为 密钥流 。

明文分组,与密钥流 XOR,得到自己的密文分组。

解密时,加密算法对密文分组进行加密,得到密钥流,与密文 XOR 可得到明文。

重复攻击:假设秘钥相同。发送 4 个分组,攻击者保存了后面3个。转天,你又发送了 4 个分组,攻击者将你后面三个替换,接收方解密后,只有 2 号分组有错。

对于每个分组,初始化向量加密后,得到密钥流。明文与密钥流 XOR 后,得到密文。

速度快,密钥流可以提前生成,或者,生成秘钥过程可以和 XOR 运算并行。

对每个计数器加密得到密钥流。密钥流与明文分组 XOR ,得到密文分组。

计数器生成的数,由 一个随机序列 nonce + 从1开始的递增数字 组成。

对每个分组,计数器递增后,加密,得到密钥流。

能够以任意顺序处理分组,因为加密时需要的初始数字序列能够计算出来。

为了确保安全,有地理局限,与不同的人通信需要不同密钥,共享繁琐。

每个员工有自己的密钥,密钥分配中心使用个人密钥,包裹临时会话密钥,分配给各个员工使用。

密文=明文的E次方 MOD N

E 和 N 是RSA加密用的密钥,也就是说,E 和 N 的组合就是公钥。

明文=密文的D次方 MOD N

D 和 N 的组合就是私钥。

寻两个很大的质数 p 和 q,相乘得到 N

L为 p-1 和 q-1 的最小公倍数

随机数生成器,不停地生成数字,直到满足如下条件:

1 < E < L

E 和 L 的最大公约数为 1

根据 E ,计算 D

1 < E < L

E × D MOD L = 1

保证 E 与 L 互质,则 D 一定存在。

求对数很容易,求 离散对数 很困难

对一个大数字进行质因数分解,人类未找到高效算法

利用了 MOD N下,求离散对数的困难度

加密后,密文长度翻倍

利用了 MOD N下,求平方根的困难度

密码实现通过 对椭圆曲线上的特定点进行特殊乘法。

利用了该种乘法的逆运算非常困难这一特性

单向散列函数 又称为,消息摘要函数、哈希函数、杂凑函数

输入的消息 又称为,原像

散列值 又称为,消息摘要、指纹

完整性 又称为,一致性

根据任意消息,计算出的散列值长度,固定

用时短

消息不同,散列值不同

具备单向性

MD是消息摘要的意思

可以产生 128bit 的散列值,但它们的抗碰撞性已被攻破

SHA-1散列值长度为 160bit,强碰撞性已被攻破

其余的统称为 SHA-2,散列值长度为各自后面的数字

欧盟版本

第三代 SHA

消息上限 2^64 bit。

消息长度需要是 512bit 的整数倍。这样的 512比特 称为一个输入分组。

过程:

消息末尾添加 1

然后添加 0,直到最后一个分组的 448比特 的位置

最后 64比特 需要保存原是消息的长度

对每个分组计算 80 个 32bit 的值。

过程:

将 512bit 分成 32bit × 16组,称为 W0~W15

从15组中按规律取4组,进行 XOR 运算,结果循环左移 1 位,得到另外一组。如此反复,得到总共 80 组。

ABCDE 五个 32bit 的缓冲区,保存了 160bit 的消息内部状态。

内部状态与每个 512bit 的输入分组混合,一共 80 个步骤。

最终得到 160bit 的最终内部状态。

暴力破解:暴力寻找与 1亿元合同 散列值相同的文件

生日攻击:准备两份 散列值相同的 1亿元合同

可以辨别 篡改,无法辨别 伪装,因此还需要 认证技术

认证技术包括 消息验证码 和 数字签名

消息验证码:可以向通信对象保证消息不被篡改

数字签名:可以向任何人保证通信对象不被篡改

message authentication code,简称 MAC。

相当于 使用共享密钥的单向散列函数

SWIFT:负责银行间的交易,公钥密码使用前,都是人工配送密钥的。

IPsec:对IP协议增加安全性,采用的是消息认证码

SSL/TLS:网上购物等场景中所用协议。

过程:

密钥填充 至单向散列函数要求的输入分组大小

填充后的密钥 与 ipad(16进制的36不断循环)XOR,得到ipadkey

与 消息 组合,计算散列值

填充后的密钥 与 opad(16进制的5C不断循环)XOR,得到opadkey

与 上面得到的散列值 组合,计算新的散列值,为最终的MAC值

对第三方证明

防止否认

因为知晓密钥的只有两个当事人,第三者无法确定能拿到合法的密钥,无法自己计算合法MAC值

RSA:利用质因数分解难度的那个

ElGamal:利用求离散对数的困难度的那个,数字签名有漏洞,现仅用于公钥密码

DSA:Schnorr算法与ElGamal方式的变体,只能用于数字签名

Rabin:利用了求MOD N中平方根的困难度,可用于数字签名和公钥密码

例如,verisign公司的认证业务分为三个等级,等级越高,越严格

ITU 国际电信联盟和 ISO 国际标准化组织制定的 X.509 规范如下

大体包含以下内容:

签名前的证书——签名对象的各种消息

数字签名算法——签名时所用的算法

数字签名——得到的数字签名

PKI :为了能有效使用公钥而制定的一系列规范和规格

PKI 的组成要素如下

两种方法:一种是由认证机构生成,一种是由 PKI 用户自行生成

认证机构有一个 CRL(认证作废清单),具有数字签名,记载了已经作废的证书的编号。

认证时,从上(根证书)往下

对于密钥,关键的是 密钥空间的大小

DES 的密钥 实质长度(即,除去校验错误的比特后的长度)7字节

DES-EDE2 的实质长度 14字节,DES-EDE3 的实质长度 21字节

AES 的密钥长度可以从 128、192 和 256bit 当中选

会话密钥:每次通信中,仅使用一次的密钥

主密钥:一直被重复使用的密钥

CEK:Contents Encrypting Key

KEK: Key Encrypting Key

各个步骤中的密钥管理方法

两种方法:

用随机数生成密钥:使用具备不可预测性的伪随机数生成器生成随机数

用口令生成密钥:一般使用,口令 + 一串称为 salt 的随机数,得到他们的散列值作为密钥(这种方法称为:基于口令的密码)

事先共享

秘钥分配中心

使用公钥密钥

Diffie-Hellman 密钥交换

密钥更新:一种提高通信机密性的技术

原理:

使用 共享密钥 进行通信时,定期改变密钥。

双方使用同样的方法,对当前密钥求 散列值,并作为下一个密钥

优点:

后向安全:防止破译过去的内容

对密钥进行加密,然后保存

意义:

同时对多个密钥进行加密,可以减少保存密钥的数量

步骤:

P 为非常大的质数,G 为 P 的 生成元

目的为,将 随机数 A 的信息 含蓄地发给了 B

目的为,将 随机数 B 的信息 含蓄地发给了 A

计算方法:密钥 = (G ^ B MOD P) ^ A MOD P = G^(A × B) MOD P

计算方法:密钥 = (G ^ A MOD P) ^ B MOD P = G^(A × B) MOD P

对于一个质数 P ,只有它的生成元在进行 G ^ x MOD P 时,结果能够覆盖 0 ~ P-1 的所有数字

用途:用于安全的保存密钥

由来:

一 生成会话密钥 CEK ,加密消息

二 需要保密 会话密钥CEK,使用 密钥加密密钥KEK 对会话密钥进行保密

三 现在需要保密 KEK 这个密钥,选择使用口令生成这个 KEK

保密的问题最终都归结为了 安全保存密钥,然而我们记不住密钥。

于是,选择单向散列函数对口令生成散列值,作为密钥。

这个密钥无需保存,我们可以通过口令随时求得,口令也无法被反向推出,且口令方便记忆。

顺带,为了防止字典攻击,生成口令散列值时,需要使用 口令 + salt(随机数序列)

事先 已准备好 候选列表 的攻击方法

随机性

不可预测性

不可重见性

这三个性质,越往下越严格。分别称为:

弱伪随机数(不可用于密码学)

强伪随机数

真随机数

伪随机数生成器是公开的,种子是保密的。

确保种子的不可预测性,更加容易些。

种子是用来对伪随机数生成器的 内部状态进行初始化

R1 = (A × R0 + C) MOD M

数据有限,不能用于密码学

单向散列函数的单向性是支撑伪随机数序列不可预测性的基础

利用 AES 等对称密钥对内部状态进行加密

从当前时间开始,利用加密算法 求得加密后的时间的掩码 (因为密钥未知,别人无法推测出掩码信息)

与内部状态 XOR,加密后输出, 得到伪随机数序列

对伪随机数序列加密后,作为 下一个内部状态

针对极端情况的密码软件,具有全部功能。

TLS 由 TLS 记录协议 和 TLS 握手协议 叠加而成。

负责消息的 加密、压缩 和 认证

商定 客户端和服务器 所用的加密算法和密钥

负责 传递 变更密码的信号

发生错误时 通知对方

传输数据

㈧ 密码技术的分组密码

分组密码取用明文的一个区块和钥匙,输出相同大小的密文区块。由于信息通常比单一区块还长,因此有了各种方式将连续的区块编织在一起。 DES和AES是美国联邦政府核定的分组密码标准(AES将取代DES)。尽管将从标准上废除,DES依然很流行(triple-DES变形仍然相当安全),被使用在非常多的应用上,从自动交易机、电子邮件到远端存取。也有许多其他的区块加密被发明、释出,品质与应用上各有不同,其中不乏被破解者。

㈨ 分组密码DES

DES是分组密码,分组密码将消息进行等长分组,使用同一密钥对每个分组进行加密。

1.给定一个明文m,首先通过一个固定的初始置换ip得到m0,然后将m0分为左右两部分,即m0=L0+R0,分别为m0的左右两部分,均为32位。ip置换的作用是使打乱原来的顺序。

2.使用密钥对R0和L0进行16轮迭代运算,运算规则:

3.DES的核心是非线性函数f,函数的输入有两个变量,一个是32bit的Ri-1,另一个是48bit的ki-1,输出的结果为32bit。

5.将上步得到的8个6bit的串,分别作为S盒的输入,每个S盒都将6bit的消息映射成一个4bit的消息,X1X6转换成十进制,对应表中的行号,X2X3X4X5转换成十进制,对应于表中的列号,通过对比S盒返回一个数字,将数字转换为四个二进制表示的数。

6.运行完8个S盒后,返回32bit的串,再将这32bit使用P置换,即可得到f函数的输出。
7.最后一轮迭代,左右两个32bit并不叫唤,再对R16L16进行ip逆置换,即可得到密文c。

㈩ 科普:国产密码算法


密码学(cryptography): 通过将信息编码使其不可读,从而达到安全性。

算法 :取一个输入文本,产生一个输出文本。

加密算法 :发送方进行加密的算法。

解密算法 :接收方进行解密的算法。

对称密钥加密 (Symmetric Key Cryptography):加密与解密使用相同密钥。

非对称密钥加密 (Asymmetric Key Cryptography):加密与解密使用不同密钥。

密钥对 :在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。

公钥 :公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。

私钥 :如上,用来解密公钥加密的数据。

摘要 :对需要传输的文本,做一个HASH计算。

签名 :使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。

密码协议是指两个或两个以上的参与者为了达到某种特定目的而采取的一系列步骤。规定了一系列有序执行的步骤,必须依次执行。必须有两个或两个以上的参与者,有明确的目的。参与者都必须了解、同意并遵循这些步骤。

常见的密码协议包括IPSEC VPN 协议、SSL VPN 协议、密钥交换协议等。

密码是指描述密码处理过程的一组运算规则或规程,一般是指基于复杂数学问题设计的一组运算,其基本原理基于数学难题、可证明计算、计算复杂度等。主要包括:对称密码、公钥密码、杂凑算法、随机数生成。

在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的,加密和解密都是使用同一个密钥,不区分公钥和私钥。

通信双方采用相同的密钥来加解密会话内容,即一段待加密内容,经过同一个密钥的两次对称加密后,与原来的结果一样,具有加解密速度快和安全强度高的优点。

国际算法:DES、AES。

国产算法:SM1、SM4、SM7。

非对称加解密算法又称为 公钥密码 ,其密钥是成对出现的。双方通信时,首先要将密钥对中的一个密钥传给对方,这个密钥可以在不安全的信道中传输;传输数据时,先使用自己持有的密钥做加密,对方用自己传输过去的密钥解密。

国际算法:RSA

国产算法:SM2

优点:

密钥分发数目与参与者数目相同,在有大量参与者的情况下易于密钥管理。

支持数字签名和不可否认性。

无需事先与对方建立关系,交换密钥。

缺点:

速度相对较慢。

可能比同等强度的对称密码算法慢10倍到100倍。

加密后,密文变长。

密码杂凑算法 :又称为散列算法或哈希函数,一种单向函数,要由散列函数输出的结果,回推输入的资料是什么,是非常困难的。

散列函数的输出结果,被称为讯息摘要(message digest)或是 摘要(digest) ,也被称为 数字指纹

杂凑函数用于验证消息的完整性, 在数字签名中,非对称算法对数据签名的速度较慢,一般会先将消息进行杂凑运算,生成较短的固定长度的摘要值。然后对摘要值进行签名,会大大提高计算效率 。

国际算法:MD5、SHA1、SHA2、SHA3

国产算法:SM3

2009年国家密码管理局发布的《信息安全等级保护商用密码技术实施要求》中明确规定,一、二、三、四级信息系统应使用商用密码技术来实施等级保护的基本要求和应用要求,一到四级的密码配用策略要求采用国家密码管理部门批准使用的算法。

2010年年底,国家密码管理局公开了SM2、SM3等国产密码算法。

2011年2月28日,国家密码管理局印发的【2011】145号文中明确指出,1024位RSA算法正在面临日益严重的安全威胁,并要求各相关企业在2012年6月30日前必须使用SM2密码算法

国家密码管理局在《关于做好公钥密码算法升级工作的函》中要求2011年7月1日以后建立并使用公钥密码的信息系统,应使用SM2算法;已经建设完成的系统,应尽快进行系统升级,使用SM2算法。

2014年底,国家密码管理局启动《重要信息系统密码应用推进总体研究课题》,确定十三五密码 科技 专项。

2017年11月底,国家密码管理局下发了《政务云密码支撑方案及应用方案设计要点》。

2017年国家密码管理局发布了42项金融和重要领域国产密码应用试点任务。

2018年,中共中央办公厅、国务院办公厅印发《金融和重要领域密码应用与创新发展工作规划(2018-2022年)。

2018年,为指导当时即将启动的商用密码应用安全性评估试点工作,国家密码管理局发布了密码行业标准GM/T0054-2018《信息系统密码应用 基本要求》。

2021年3月,国家市场监管总局、国家标准化管理委员会发布公告,正式发布国家标准GB/T39786-2021《信息安全技术信息系统密码应用基本要求》,该标准于2021年10月1日起实施。

SM1 算法是分组密码算法,分组长度为 128 位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP核的形式存在于芯片中。

算法集成于加密芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括政务通、警务通等重要领域)。

SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,是一种基于ECC算法的 非对称密钥算法, 其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。

包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现 数字签名密钥协商 数据加密 等功能。

SM3杂凑算法是我国自主设计的密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,安全性要远高于MD5算法和SHA-1算法。

适用于商用密码应用中的 数字签名 验证消息认证码的生成与验证 以及 随机数 的生成,可满足多种密码应用的安全需求。

SM4 分组密码算法 是我国自主设计的分组对称密码算法,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。

用于实现数据的加密/解密运算,以保证数据和信息的机密性。软件和硬件加密卡均可实现此算法。


商用密码技术框架包括 密码资源、密码支撑、密码服务、密码应用 等四个层次,以及提供管理服务的密码管理基础设施。

密码资源层: 主要是提供基础性的密码算法资源。

密码支撑层: 主要提供密码资源调用,由安全芯片、密码模块、智能IC卡、密码卡、服务器密码机、签名验签服务器、IPSCE/SSL VPN 等商密产品组成。

密码服务层: 提供密码应用接口,分为对称和公钥密码服务以及其他三大类。

密码应用层: 调用密码服务层提供的密码应用程序接口,实现数据的加解密、数字签名验签等服务。如应用 于 安全邮件、电子印章系统、安全公文传输、移动办公平台、可信时间戳等系统。

密码管理基础设施: 独立组件,为以上四层提供运维管理、信任管理、设备管理、密钥管理等功能。


完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统(KMC)、证书作废系统(CRL)、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。

CA 系统:Ca系统整个PKI的核心,负责证书的签发。CA首先产生自身的私钥和公钥(密钥长度至少为1024位),然后生成数字证书,并且将数字证书传输给安全服务器。、CA还负责为操作员、安全服务器以及注册机构服务器生成数字证书。安全服务器的数字证书和私钥也需要传输给安全服务器。

CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件,出于安全的考虑,应将CA服务器与其他服务器隔离,任何通信采用人工干预的方式,确保认证中心的安全。


(1)甲使用乙的公钥对明文进行加密,生成密文信息。

(2)甲使用HASH算法对明文进行HASH运算,生成数字指纹。

(3)甲使用自己的私钥对数字指纹进行加密,生成数字签名。

(4)甲将密文信息和数字签名一起发送给乙。

(5)乙使用甲的公钥对数字签名进行解密,得到数字指纹。

(6)乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。

(7)乙使用HASH算法对还原出的明文用与甲所使用的相同HASH算法进行HASH运算,生成数字指纹。然后乙将生成的数字指纹与从甲得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。


SSL 协议建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装,压缩,加密等基本功能。

即可以协商加密算法实现加密传输,防止数据防窃听和修改,还可以实现对端设备身份验证、在这个过程中,使用国密算法进行加密、签名证书进行身份验证、加密证书用于密钥交换

SSL协商过程:

(1)客户端发出会话请求。

(2)服务端发送X.509证书(包含服务端的公钥)。

(3)客户端用已知Ca列表认证证书。

(4)客户端生成随机对称密钥,并利用服务端的公钥进行加密。

(5)双方协商完毕对称密钥,随后用其加密会话期间的用户最终数据。

利用SSL卸载技术及负载均衡机制,在保障通讯数据安全传输的同时,减少后台应用服务器的性能消耗,并实现服务器集群的冗余高可用,大幅度提升整个业务应用系统的安全性和稳定性。此外,借助多重性能优化技术更可缩短了业务访问的响应等待时间,明显提升用户的业务体验。


基于 数字证书 实现终端身份认证,给予密码运算实现本地数据的加密存储,数字证书硬件存储和密码运算由移动终端内置的密码部件提供。

移动应用管理系统服务器采用签名证书对移动应用软件安装包进行签名,移动应用管理系统客户端对签名信息进行验签,保障移动应用软件安装包的真实性和完整性。

移动办公应用系统采用签名证书对关键访问请求进行签名验证。

采用加密证书对关键传输数据和业务操作指令,以及移动终端本地存储的重要数据进行加密保护。

移动办公系统使用商用密码,基于数字证书认证系统,构建覆盖移动终端、网络、移动政务应用的安全保障体系,实现政务移动终端安全、接入安全、传输安全和移动应用安全 。

热点内容
第六章编译原理答案 发布:2025-07-04 17:37:55 浏览:39
php内存优化 发布:2025-07-04 17:25:54 浏览:662
威纶触摸屏如何设置时间限制密码 发布:2025-07-04 17:25:50 浏览:418
python列表的遍历 发布:2025-07-04 17:24:20 浏览:22
编译基本块 发布:2025-07-04 17:23:06 浏览:748
scl语言编程 发布:2025-07-04 17:23:05 浏览:991
oracle用户连接数据库连接 发布:2025-07-04 17:20:20 浏览:939
我的世界纯生存服务器推荐死亡不掉落 发布:2025-07-04 17:06:14 浏览:347
方舟编译器可以用于p20吗 发布:2025-07-04 17:00:17 浏览:786
短片解压 发布:2025-07-04 16:50:08 浏览:738