查看: 1896|回复: 22

[密码学习] 关于密码学

简洁模式
发表于 2023-1-29 19:47:50 上海| 2023-1-29 21:24编辑 | 显示全部楼层 发帖际遇
一、密码学基础
密码学要解决信息的机密性、完整性和不可否认性。其中:
1.机密性:对传递的信息进行加密就可以实现机密性,保证信息不泄漏给未经授权的人。(对称、非对称加密)
2.完整性:防止信息被未经授权的人篡改,保证信息不被篡改。(单向散列、消息认证码、数字签名)
3.不可否认性:能够保证信息行为人不能否认其信息行为。(对应的技术数字签名)
4.身份认证:也能实现身份认证。(对应技术有消息认证、数字签名)
1.1、密码学基本元素
明文(plain text):希望得到保密的原始信息
密文(cipher text):明文经过密码变换后的消息
加密(encryption):由明文变换为密文的过程
解密(decryption):由密文恢复出明文的过程
加密算法(encryption algorithm):对明文进行加密时采用的一组规则
解密算法(decryption algorithm):对密文进行解密时采用的一组规则
秘钥(key):控制加密和解密算法操作的信息
1.2、密码学的分类
       密码学的密码算法可以分为:对称加密非对称加密以及用于确认数据完整性的单向散列,又称密码校验、指纹、消息摘要。
1.2.1 对称加密
特点:在加密和解密使用同一秘钥。
优点:加密或解密运算速度块,加密强度高,算法公开。
缺点:秘钥分发难,更新周期长,不便于管理。
        对称密码算法有AES算法又称高级加密标准Rijndael加密发,属于非保密、公开披露的,在各种平台上易于实现、速度快,设计简单,密文和明文长度一致,硬件支持、加密芯片。DES也是对称密码算法,就是老了。对称密码中分组密码模式:ECB(Electronic CodeBook)模式,电子密码本模式,明文与密文一一对应,存在一定风险。CBC(Cipher Block Chaining)模式,密文分组链接模式,初始化向量IV,每次加密时随机产生。OFB模式称为输出反馈模式,在OFB模式中,XOR所需的比特序列(秘钥流)可以事先通过密码算法生成,和明文分组无关。只需要提前准备好所需要的秘钥流,然后进行XOR运算就可以了。具体参考图1(评论区见)。
1.2.2 非对称加密
       非对称密码算法的秘钥分为加密秘钥和解密秘钥。发送者使用加密秘钥(公钥)对消息加密,接受者使用解密秘钥(私钥)对密文进行解密。公钥和私钥一一对应,形成秘钥对。非对称密码基于数学上的难题,正向生成公钥和私钥很容易,但是通过公钥逆向生成私钥是困难的。
        非对称密码算法-RSA
        RSA是非对称加密中最著名的加密算法,与1977年由Rivest、Adi Shamir和Len Adlenman三人共同发明的,RSA基于大整数分解素因子困难,一旦发现就能破解,可以用来加密也可以用来签名。还有其他的非对称加密,比如ECC、ELGAmal、Rabin。
1.2.3 混合加密系统
       混合加密就是对称加密和非对称加密的结合。由于对称加密算法速度快,强度高,而非对
称加密算法效率低,但能够解决秘钥配送问题。因此可以通过非对称加密配送对称秘钥,
再采用对称秘钥用来加密的方式,实现网络的秘钥配送与通信加密。
        一般实践中,发送者通过数字证书获得接收者的公钥(防止伪装),然后每次生成对称加
密用的秘钥,用接收者的公钥对对称密码算法的密钥进行加密,同时用对称密码算法的秘钥加
密数据得到密文。因为对称密码只对当前的一条信息负责,而非对称密码会影响到过完和未来
所有通信,因此公钥密码强度应该高于对称密码私钥。(图2)
        一般是用接受者的公钥加密对称秘钥,35114因为是双向认证,可以用设备的公钥先加密一个VKEK,然后设备用私钥解密得到VKEK。因为VEK每一个小时变化,如果用平台的公钥加密的话,非对称加密频率太高,那么用VKEK只用一次就好了,但是要保证VEKE的可靠性。
1.2.4 单向散列
      单向散列技术是为了保证信息的完整性,防止信息被篡改的一项技术,有一个输入和输出,输入称为消息,输出称为散列值。特点:一种采集信息的“指纹”的计数;无论消息长度,计算出的长度是不变的;快速计算;消息不同,散列值不同,需要具有抗碰撞性,弱抗碰撞性是给定散列值,找到和该消息具有相同散列值的另一条消息是困难的,强抗碰撞性是任意散列值,找到散列值相同的两条不同的消息是困难的;具有单向性,不可由散列值推出原消息。对应的技术有MD、SHA。(图3)
单向散列函数的应用
①检测消息是否被篡改
②基于口令的加密:将口令和salt随机数混合计算其散列值。
③消息认证码(MAC):将共享密钥和消息混合后计算的散列值,可以检测并防止通信过程中的错误、篡改以及伪装。
④数字签名。
⑤挑战应答(challenge-response)方式认证。
二、密码学应用
2.1消息认证码是一种确认完整性并进行认证的计数,输入包括任意长度的消息和一个发送者与接受者共享的秘钥,输出固定的长度数据。(无法向第三方证明这个消息是教官发送的)(图4)
2.2、数字签名
在非对称加密中,私钥用来解密,公钥用来加密。
在数字签名技术中,私钥用来加密,公钥用来解密。
2.3、数字证书
     CA私钥加密用户的公钥和一些相关的信息(有效时间、发证机关、序列号)生成数字证书。CA机构类似公安局,哈希值类似身份证号,对哈希值签名就是盖章。
数字证书的组成:
1、版本
2、序列号
3、签名算法
4、签名哈希算法
5、颁发者
6、有效期
7、使用者
8、公钥
9、增强型秘钥用法
10、使用者秘钥标识符
11、颁发机构秘钥标识符
12、颁发者备用名称
13、使用者备用名称
14、指纹算法
15、指纹(实际是指纹的密文,在客户端会用CA的公钥解密,是唯一的。最终会用签名算法和签名哈希算法对指纹进行签名。)
2.4、SSL
2.5、国产密码算法的总结
①SM1 :为对称加密,其加密强度与AES相当,该算法不公开,调用该算法时,需要通过加密芯片接口进行调用,秘钥长度和分组长度为128位。
②SM2 :为非对称加密,基于ECC,该算法已经公开。SM2椭圆曲线公钥密码算法是我国自主设计的公钥秘钥算法,包括SM2-1椭圆曲线签名算法、SM2-2椭圆曲线秘钥交互协议、SM2-3椭圆曲线加密算法,分别用于实现数字签名秘钥协商和数据加密等功能。与RSA不同,由于该算法基于椭圆曲线上点群离散对数难题,故其签名速度和秘钥生成速度都快于RSA,256位的SM2密码强度已经比2048位的RSA密码强度高。
③SM3:SM3杂凑算法是由我国自主设计的密码杂凑算法,可以参考MD5理解,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性。SHA-1算法的输出长度为160比特,SM3输出的长度为256位,因此SM3算法的安全性要高于MD5和SHA算法。
④SM4:无线局域网标准的分组数据算法,对称加密、秘钥长度和分组长度均为128位。要保证一个对称密码算法的安全性的基本条件是具备足够的秘钥长度,SM4算法和AES算法具有相同的密钥长度分组长度128,因此安全性上高于3DES算法。
三、密码学误用
关于密码学的常识
1)不要使用保密的密码算法
2)低强度密码比不加密更危险
3)任何密码都有破解的一天。(量子计算可以在根本上解决此问题,因为量子纠缠可以实现一次性密码本算法)
4)密码只是信息安全中的一环,人更重要。
https://www.cnblogs.com/kwdeblog/p/15150293.html
本帖子中包含更多图片或附件资源

您需要 登录 才可以下载或查看,没有帐号?加入学院

登录帐号可查看完整回帖内容
| 发表于 2023-1-29 20:00:17 天津| 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2023-1-29 20:26:15 重庆| 显示全部楼层
感谢分享!
对于我这个密码盲人太有用了!
| 发表于 2023-1-29 21:45:51 四川| 显示全部楼层 发帖际遇
感谢分享。。
这个是现代密码学的内容了吧。。
| 发表于 2023-1-29 22:24:32 湖南| 发自安卓客户端 | 显示全部楼层
感谢分享
| 发表于 2023-1-30 09:46:03 北京| 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2023-1-30 10:34:20 河南| 显示全部楼层
感谢分享
| 发表于 2023-1-30 12:32:24 贵州| 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2023-2-22 23:28:36 四川| 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2023-3-23 23:59:40 黑龙江| 来自小霸王手机 | 显示全部楼层 发帖际遇
感谢方向
返回版块
123
尚未登录
您需要登录后才可以回帖 登录 | 加入学院