GP TEE规范规定了TEE所需支持的加解密算法标准,一张图表示如下
密码学博大精深,而且在不断发展研究我们今天只是简要介绍一下,后期会有针对性的详细介绍!
从上图来看,首先普及几个基本概念:
分组密码(block cipher)
简单说,就是先把文件分块,按数据块来进行加解密。
DES,Data Encryption Algorithm,一种加密算法。
3DES(Triple DES)它以DES为基本模块,通过组合分组方法设计出分组加密算法,更为安全。
AES Advanced Encryption Standard来替代原先的DES,已经被多方分析且广为全世界所使用,成为对称密钥加密中最流行的算法之一。AES就是对16byte(128bit)数据进行加密的过程,可以使用128、192和256位密钥。
操作模式
也就是加解密的方式。工作模式描述了加密每一数据块的过程。
认证加密
也就是说既要解决加密的需求,又要解决认证的需求,解决完全性和完整性。工作模式有三种:
1、先加密后对密文签名(encrypt-then-mac)。
2、先对明文签名,然后对明文和签名进行加密(mac-then-encrypt)。
3、先对明文签名,然后对明文加密,最后将签名附在密文之后(mac-and-encrypt)
CCM首先使用CBC-MAC模式来认证传输帧,然后使用CTR模式来加密帧.
GCM(Galois/Counter Mode)指的是该对称加密采用Counter模式,并带有GMAC消息认证码。
Hashing Function(哈希函数)
一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。hash是找到一种数据内容和数据存放地址之间的映射关系。
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的摘要算法之一。
SHA(Secure Hash Algorithm,译作安全散列算法)是美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。其中规定了SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法。SHA-1,SHA-224和SHA-256适用于长度不超过2^64二进制位的消息。SHA-384和SHA-512适用于长度不超过2^128二进制位的消息。
消息验证码(MAC)
带密钥的Hash函数,密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。
安全性依赖于Hash函数,故也称带密钥的Hash函数。消息认证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验。在发送数据之前,发送方首先使用通信双方协商好的散列函数计算其摘要值。在双方共享的会话密钥作用下,由摘要值获得消息验证码。之后,它和数据一起被发送。接收方收到报文后,首先利用会话密钥还原摘要值,同时利用散列函数在本地计算所收到数据的摘要值,并将这两个数据进行比对。若两者相等,则报文通过认证。
通常有基于HASH函数的MAC,我们成为HMAC。以及基于分组密码的MAC,我们成为CMAC。
非对称算法
DSA Digital Signature Algorithm. based on discrete logarithms computation.DSA用于签名,而RSA可用于签名和加密。
EC-DSA是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC。
PKCS#1 RSA密码学规范,版本2.1
标准的椭圆曲线ECC算法,包含ECC密钥产生、ECDSA签名、ECKA-EG、ECKA-DH协商,支持的曲线如:
NIST P-256,brainpoolP256r1,FRP256V1等。
责任编辑:韩希宇
免责声明:
中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。