本文主要的目标是对于国产密码的算法类型进行归类,并于国际通用的密码进行对应,方便大家建立起映射关系。
国密算法的命名以SM开头,SM代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。
密码学本身是科学,不建议程序员对于密码算法的实现做过多的深究,但是建议对于不同类型密码的特性以及利用密码组合后的工程实现原理有所了解。
国际商密与国内商密的对照表
国密算法应用场景及开发情况
基于欧拉函数的RSA算法加密原理是什么?RSA算法详解
建议观看妈咪说的科普:
https://www.youtube.com/watch?v=xqol4-uziE0
椭圆曲线加密与哈希函数是什么?非对称加密是什么?
建议观看妈咪说的科普:
https://www.youtube.com/watch?v=0_XmvNu0J40
各种不同类别算法在实际通信过程中的作用简述
对称加密:
作用: 用于加密通信中的实际数据,即消息或文件。
过程: 发送方使用共享的密钥对消息进行加密,接收方使用相同的密钥进行解密。由于对称加密算法速度较快,因此适用于大量数据的加解密操作。
非对称加密:
作用: 用于密钥交换和数字签名。
过程:
密钥交换:用于安全地交换对称加密所需的密钥。发送方使用接收方的公钥加密对称密钥,接收方使用自己的私钥解密以获取对称密钥。
数字签名:用于验证消息的完整性和发送者身份。发送方使用私钥对摘要或整个消息进行签名,接收方使用发送方的公钥验证签名。
摘要算法(哈希函数):
作用: 用于确保消息的完整性。
过程: 发送方将消息的摘要计算出来,然后将摘要发送给接收方。接收方收到消息后,计算接收到消息的摘要,并与接收到的摘要进行比较。如果一致,则消息未被篡改。
综合来看,典型的安全通信流程如下:
发送方:
使用对称加密算法加密实际数据。
使用接收方的公钥进行密钥交换。
使用自己的私钥对摘要或整个消息进行数字签名。
接收方:
使用私钥解密收到的对称密钥。
使用对称密钥解密实际数据。
使用发送方的公钥验证数字签名。
使用摘要算法验证消息的完整性。