学习目标:
熟悉以下加密算法的使用场景和优缺点,理论部分点到为止,不去深入研究(只是入门级)
1,对称加密算法,AES加密
2,SHA256,散列函数
3,非对称加密算法,RSA加密算法
4,CCM算法
5,HMAC算法
前言
比如发送端如何传输一个安全的文件给接收端,此处就涉及到文件安全的问题,首先通过网络总线的协议基本可以将数据分成header+img的方式传输,因此需要对在总线上的数据进行加密解密以及安全证书,保证文件完整性且不会对外暴露和篡改
一、AES是什么?
……对称加密算法。最小运算单元是bit。通常传输文件会对明文进行AES加密,生成一个密文在总线上传输,AES的特点是计算速度快。主要分为AES-128,AES-192,AES-256,对应的秘钥长度为128bits、192bits、256bits ,对应加密轮数为10,12,14。其中AES-256的安全性最高,但是性能最高的是AES-128。
……其加解密原理是:
…………发送方: 明文(block0~blockn) + 秘钥K = 密文(block0-blockn);
…………接收方: 密文 (block0-blockn)+ 秘钥K = 明文(block0-blockn);
……无论使用哪种加密方式,对于明文只能按照128bit来进行拆分,比如使用的是AES-128的算法,则表示会将明文img拆分成n个128大小的块,对于秘钥K也是128bits(分成key[0],key[1],key[2],key[3]四组,每组表示32bits)。经过秘钥扩展变成44个word(从key[0]~key[43]),用于将每一个img块(128bits)进行10次加密运算 ,n个img块都如此进行最终生成密文。
……其加解密的步骤如下:
…………1)明文----->轮秘钥加---->&#x