Vector - CAPL - AES算法介绍

        前面已经介绍过MD5的算法介绍,不过随着车载行业的迅速发展,特别是OTA技术的逐渐成熟,对于安全的考虑也越来越多,因此涉及的各种算法来进行验证,保证车载电子设备的完全性和安全性;不过对于车载网络测试的同行来说,挑战也越来越多,不仅需要实现自动化测试,还需要实现各种算法,然而,CAPL实现算法确实如此艰难,因此,我们尽量使用官方提供的算法函数,如果还不行那就看下能否通过Python实现,如果Python也不行的话,那就考虑使用制作dll吧,最后再考虑研究算法然后再以CAPL实现,毕竟太难了!!!

Vector - CAPL - AES算法介绍_第1张图片

AES算法简介

        今天我们来介绍的也是校验算法的一种,为AES算法。AES算法全称Advanced Encryption Standard,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

AES分类

        AES算法从支持的秘钥长度来分的话,主要分为AES-128、AES-192、AES-256

        AES算法从加密模式来分的话,主要分为AES-CBS、AES-ECB、AES-ETR、AES-OCF、AES-CFB(Electronic Codebook Book (ECB)-电话本模式、Cipher Block Chaining (CBC)-密码分组连接模式、Counter (CTR)-计算器模式、Cipher FeedBack (CFB)-密码反馈模式、Output FeedBack (OFB)-输出反馈模式等五种模式);如果想进一步了解,可以查看AES加密模式。

        好了,了解完AES算法的相关基础知识,下面我们再来介绍啊就会简单很多,我在开始做这个的时候,就是非常的难受,完全搞不明白AES到底是个什么鬼东西,因此难受了蛮久,这也是我找了蛮多资料进行整理的内容;下一步我们就来介绍CAPL自带的一部分AES算法,当然它自带的并不是所有的算法都有,只有常用的4种(AES128CBC、AES128CTR、AES128ECB、AES256CBS的加密和解密。)

算法分类

        本来没打算介绍这块的,不过都说到这里了,如果不介绍下加密算法的概念,好像不那么礼貌,那我就做个加密知识的普及吧,关于算法的分类,常见的主要为对称加密和非对称加密,那对称机密和非对称加密又是什么东西呢?

对称加密算法

        对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。

对称加密特点

  1. 对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。
  2. 加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦

非对称加密特点

  1.   非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。
  2. 加密解密的速度比较慢,适合偶尔发送数据的场合。优点是密钥传输方便。常见的非对称加密算法为RSA、ECC和EIGamal

        而我们将要介绍的AES算法就属于对称加密,它的加解密正好是一对相反的过程,大家有兴趣的可以去进一步了解下;那么MD5属于什么加密算法呢?实际上它并不算加密算法,主要是一种散列算法,并且存在小概率事件的碰撞,即两个完全不同的数据,最后算出来的加密结果一样。因此大家在学习和使用的时候需要注意下,不要将概念混淆了,影响自己的学习和工作效率,多留点时间摸鱼它不香嘛!!!

        今天概念性介绍到此为止,下篇我们来介绍CAPL自带的AES算法。

你可能感兴趣的:(CAPL入门到入坑,AES,CBC,CTR,ECB,CAPL)