前言
随着车载通信的发展,通信的安全问题渐渐地进入了大家的视野。针对如何保护通信间的安全,ISO发布了21434。要了解21434,加解密,证书,Secboot都是入门的知识。个人理解,这些内容可以理解为实现安全通信的底层,怎么去使用这些底层就是应用逻辑。
一、加密解密
首先解释一下加解密算法,一共分三类,分别是哈希算法,对称加密,非对称加密。下图是我整理的大概说明:
哈希算法:
哈希不存在密钥的说法,输入明文的长度不固定,输出密文长度根据选择的算法,是固定的,比如SHA256,输出的密文数据是256bit。
常见的哈希算法如下:
MD5(Message - Digest Algorithm 5):MD5 算法产生 128 位的哈希值,曾经被广泛应用。它的计算速度相对较快,但由于其安全性问题,目前已不建议用于安全要求较高的场景。
SHA - 1(Secure Hash Algorithm 1):SHA - 1 产生 160 位的哈希值。它比 MD5 更安全一些,但也被发现存在安全隐患。由于其安全性问题,现在也逐渐被其他更安全的算法替代。
SHA - 2(Secure Hash Algorithm 2)系列(包括 SHA - 224、SHA - 256、SHA - 384、SHA - 512 等)特点:SHA - 256 是其中最常用的一种,它产生 256 位的哈希值,具有较高的安全性。SHA - 384 和 SHA - 512 则提供了更高的安全强度,适用于对安全要求极高的场景。应用场景:在区块链技术中,比特币等加密货币使用 SHA - 256 来确保交易数据的完整性和不可篡改性。在安全的文件传输协议(如 TLS/SSL 协议用于 HTTPS 网站传输)中,也会使用 SHA - 2 系列算法来验证传输文件的完整性。
SHA - 3(Secure Hash Algorithm 3)系列:特点:这是新一代的哈希算法,与 SHA - 2 系列在设计理念上有所不同,进一步增强了安全性。应用场景:随着密码学技术的发展和安全需求的提高,SHA - 3 系列算法正逐渐在一些新兴的安全领域得到应用,如物联网安全、量子安全等领域的研究和应用。
对称加密:
对称加密存在密钥,加密和解密的密钥是一样的。密钥长度和加密算法相关,如AES128,密钥是128bits。输入明文长度和输出密文在下面描述。
常见的对称加密算法如下:
DES(Data Encryption Standard):DES 是一种早期广泛使用的对称加密算法。它的密钥长度为 56 位,在 20 世纪