密码法中的密码是指什么(密码法及常识)

2023-03-22 8:50:54 密码用途 思思

密码法中的密码,则是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。

其主要的功能有两个一个是加密保护,另一个是安全认证。前者是指将原来可读的信息变成不能识别的符号序列,后者是指确认主体和信息的真实可靠性。

《密码法》将密码分为核心密码、普通密码、商用密码,实行分类管理。

密码法旨在规范密码应用和管理,促进密码事业发展,保障网络与信息安全,提升密码管理科学化、规范化、法治化水平,是我国密码领域的综合性、基础性法律。

中国密码法应当遵循什么原则

中国秘密法应当遵循非歧视原则。密码法规定,各级人民政府及其有关部门应当遵循非歧视原则,依法平等对待包括外商投资企业在内的商用密码科研、生产、销售、服务、进出口等单位。密码工作坚持总体国家安全观,遵循统一领导、分级负责,创新发展、服务大局,依法管理、保障安全的原则。

密码,是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。

国家鼓励和支持密码科学技术研究和应用,依法保护密码领域的知识产权,促进密码科学技术进步和创新。

国家加强密码人才培养和队伍建设,对在密码工作中作出突出贡献的组织和个人,按照国家有关规定给予表彰和奖励。

法律依据

《中华人民共和国密码法》第二条 密码工作坚持总体国家安全观,遵循统一领导、分级负责,创新发展、服务大局,依法管理、保障安全的原则。

中华人民共和国密码法坚持什么原则

《中华人民共和国密码法》坚持总体国家安全观,遵循统一领导、分级负责,创新发展、服务大局,依法管理、保障安全的原则。

根据《中华人民共和国密码法》第三条规定,密码工作坚持总体国家安全观,遵循统一领导、分级负责,创新发展、服务大局,依法管理、保障安全的原则。

以及第四条规定,坚持中国共产党对密码工作的领导。

中央密码工作领导机构对全国密码工作实行统一领导,制定国家密码工作重大方针政策,统筹协调国家密码重大事项和重要工作,推进国家密码法治建设。

《中华人民共和国密码法》第三条,密码工作坚持总体国家安全观,遵循统一领导、分级负责,创新发展、服务大局,依法管理、保障安全的原则。

《中华人民共和国密码法》第四条,坚持中国共产党对密码工作的领导。

中央密码工作领导机构对全国密码工作实行统一领导,制定国家密码工作重大方针政策,统筹协调国家密码重大事项和重要工作,推进国家密码法治建设。

中华人民共和国密码法

《中华人民共和国密码法》旨在规范密码应用和管理,促进密码事业发展,保障网络与信息安全,提升密码管理科学化、规范化、法治化水平,是我国密码领域的综合性、基础性法律。十三届全国人大常委会第十四次会议表决通过密码法,于2020年1月1日起施行。

密码法是总体国家安全观框架下,国家安全法律体系的重要组成部分,其颁布实施将极大提升密码工作的科学化、规范化、法治化水平,有力促进密码技术进步、产业发展和规范应用,切实维护国家安全、社会公共利益以及公民、法人和其他组织的合法权益,同时也将为密码部门提高“三服务”能力提供坚实的法治保障。

扩展资料

密码是我们党和国家的“命门”、“命脉”,是国家重要战略资源。密码工作是党和国家的一项特殊重要工作,直接关系国家政治安全、经济安全、国防安全和信息安全,在我国革命、建设、改革各个历史时期,都发挥了不可替代的重要作用。进入新时代,密码工作面临着许多新的机遇和挑战,担负着更加繁重的保障和管理任务,制定一部密码领域综合性、基础性法律十分必要。

在核心密码、普通密码方面,深入贯彻总体国家安全观,将现行有效的基本制度、特殊管理政策及保障措施法治化;在商用密码方面,充分体现职能转变和“放管服”改革要求,明确公民、法人和其他组织均可依法使用。

参考资料来源:百度百科—中华人民共和国密码法

密码学知识精粹

① 替换法

替换法很好理解,就是用固定的信息将原文替换成无法直接阅读的密文信息。例如将 b 替换成 w ,e 替换成p ,这样bee 单词就变换成了wpp,不知道替换规则的人就无法阅读出原文的含义。

替换法有单表替换和多表替换两种形式。

② 移位法

移位法就是将原文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后得出密文,典型的移位法应用有 “ 恺撒密码 ”。

例如约定好向后移动2位(abcde - cdefg),这样 bee 单词就变换成了dgg。

古典密码破解方式--频率分析法

古典密码的安全性受到了威胁,外加使用便利性较低,到了工业化时代,近现代密码被广泛应用。

恩尼格玛机

恩尼格玛机是二战时期纳粹德国使用的加密机器,其使用的加密方式本质上还是移位和替代,后被英国破译,参与破译的人员有被称为计算机科学之父、人工智能之父的图灵。

① 散列函数加密(消息摘要,数字摘要)

散列函数,也见杂凑函数、摘要函数或哈希函数,可将任意长度的消息经过运算,变成固定长度数值,常见的有MD5、SHA-1、SHA256,多应用在文件校验,数字签名中。

MD5 可以将任意长度的原文生成一个128位(16字节)的哈希值

SHA-1可以将任意长度的原文生成一个160位(20字节)的哈希值

特点:消息摘要(Message Digest)又称为数字摘要(Digital Digest)

它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生

使用数字摘要生成的值是不可以篡改的,为了保证文件或者值的安全

MD5算法 : 摘要结果16个字节, 转16进制后32个字节

SHA1算法 : 摘要结果20个字节, 转16进制后40个字节

SHA256算法 : 摘要结果32个字节, 转16进制后64个字节

SHA512算法 : 摘要结果64个字节, 转16进制后128个字节

② 对称加密

对称密码应用了相同的加密密钥和解密密钥。对称密码分为:序列密码(流密码),分组密码(块密码)两种。流密码是对信息流中的每一个元素(一个字母或一个比特)作为基本的处理单元进行加密,块密码是先对信息流分块,再对每一块分别加密。

例如原文为1234567890,流加密即先对1进行加密,再对2进行加密,再对3进行加密……最后拼接成密文;块加密先分成不同的块,如1234成块,5678成块,90XX(XX为补位数字)成块,再分别对不同块进行加密,最后拼接成密文。前文提到的古典密码学加密方法,都属于流加密。

示例

我们现在有一个原文3要发送给B

设置密钥为108, 3 * 108 = 324, 将324作为密文发送给B

B拿到密文324后, 使用324/108 = 3 得到原文

常见加密算法

DES : Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。

AES : Advanced Encryption Standard, 高级加密标准 .在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

特点

加密速度快, 可以加密大文件

密文可逆, 一旦密钥文件泄漏, 就会导致数据暴露

加密后编码表找不到对应字符, 出现乱码,故一般结合Base64使用

加密模式

ECB : Electronic codebook, 电子密码本. 需要加密的消息按照块密码的块大小被分为数个块,并对每个块进行独立加密

优点 : 可以并行处理数据

缺点 : 同样的原文生成同样的密文, 不能很好的保护数据

CBC : Cipher-block chaining, 密码块链接. 每个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块

优点 : 同样的原文生成的密文不一样

缺点 : 串行处理数据

填充模式:当需要按块处理的数据, 数据长度不符合块处理需求时, 按照一定的方法填充满块长的规则

NoPadding不填充.

对应的AES加密类似,但是如果使用的是AES加密,那么密钥必须是16个字节。

加密模式和填充模式:

AES/CBC/NoPadding (128)

AES/CBC/PKCS5Padding (128)

AES/ECB/NoPadding (128)

AES/ECB/PKCS5Padding (128)

DES/CBC/NoPadding (56)

DES/CBC/PKCS5Padding (56)

DES/ECB/NoPadding (56)

DES/ECB/PKCS5Padding (56)

DESede/CBC/NoPadding (168)

DESede/CBC/PKCS5Padding (168)

DESede/ECB/NoPadding (168)

DESede/ECB/PKCS5Padding (168)

RSA/ECB/PKCS1Padding (1024, 2048)

RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024, 2048)

RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024, 2048)

PS: Base64是网络上最常见的用于传输8Bit字节码的可读性编码算法之一

可读性编码算法不是为了保护数据的安全性,而是为了可读性

可读性编码不改变信息内容,只改变信息内容的表现形式

所谓Base64,即是说在编码过程中使用了64种字符:大写A到Z、小写a到z、数字0到9、“+”和“/”

Base64 算法原理:base64 是 3个字节为一组,一个字节 8位,一共 就是24位 ,然后,把3个字节转成4组,每组6位(3 * 8 = 4 * 6 = 24),每组缺少的2位会在高位进行补0 ,这样做的好处在于 base取的是后面6位而去掉高2位 ,那么base64的取值就可以控制在0-63位了,所以就叫base64,111 111 = 32 + 16 + 8 + 4 + 2 + 1 =

toString()与new String ()用法区别

③ 非对称加密

非对称密码有两支密钥,公钥(publickey)和私钥(privatekey),加密和解密运算使用的密钥不同。用公钥对原文进行加密后,需要由私钥进行解密;用私钥对原文进行加密后(此时一般称为签名),需要由公钥进行解密(此时一般称为验签)。公钥可以公开的,大家使用公钥对信息进行加密,再发送给私钥的持有者,私钥持有者使用私钥对信息进行解密,获得信息原文。因为私钥只有单一人持有,因此不用担心被他人解密获取信息原文。

特点:

加密和解密使用不同的密钥

如果使用私钥加密, 只能使用公钥解密

如果使用公钥加密, 只能使用私钥解密

处理数据的速度较慢, 因为安全级别高

常见算法:RSA,ECC

数字签名

数字签名的主要作用就是保证了数据的有效性(验证是谁发的)和完整性(证明信息没有被篡改),是非对称加密和消息摘要的应用

keytool工具使用

keytool工具路径:C:\Program Files\Java\jre1.8.0_91\bin

--- END