AES加密原理和AOE工程实践

本文介绍了在AI业务中使用AES加密模型文件的原理和AOE工程实践。AES是一种对称加密算法,通过SubBytes、ShiftRows、MixColumns和AddRoundKey四个步骤进行加密。AOE组件选择了AES-128/CBC/NoPadding加密,通过添加文件头确保模型文件的完整性和安全性。在实践中,AES加密和解密过程与加密模式、Padding相结合,以提高安全性和效率。
摘要由CSDN通过智能技术生成

作者:杨科

在AI业务的开发的过程中,我们常常需要对模型文件进行加密。
我们从以下几个方面来说一说AES的加密原理以及AOE里的工程实践。

  • 常见的加密算法
  • AOE对模型加密需求的思考
  • AES的加密原理
  • AOE工程实践-AES和AOE的结合

常见的加密算法

常见的加密算法,主要分为两种:
对称加密,采用单密钥的加密方法,同一个密钥可以同时用来加密和解密。常用的对称加密算法有DES,3DES,AES等。
非对称加密,需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。常用的非对称加密算法有RSA,Elgamal,ECC等。

用个比喻来理解一下这2种不同的加密方式:
对称加密:假设有一个密码箱,A设置了一个密码锁好箱子,B知道这个密码以后,输入这个密码就可以打开箱子,这个密码就是秘钥,A和B使用相同的密码。
非对称加密:有一把锁和一把唯一的钥匙,A用锁把箱子锁好,B只有用这把钥匙才能打开这个箱子。这把锁就可以理解为公钥,是公开的。这把钥匙可以理解为私钥,是不公开的,是不在网络里传输的,只有私钥的拥有者才能打开这个箱子。

简单比较一下他们的差异:

功能特性 对称加密 非对称加密
密钥特征 加密方和解密方使用同一个密钥 加密方和解密方使用不同的密钥
加密效率 效率高,速度快 速度慢
密钥安全性 传输过程中容易泄漏 安全性高

在实际的应用中,一般都是对称加密和非对称加密算法相结合,这样既可以保证加密的速度,也可以保证秘钥传输的安全性。以AES和RSA结合为例,有一种通用的做法,在向服务器发送一段数据信息的时候,先用AES算法对数据进行加密,再使用服务器的RSA公钥对AES的密钥进行加密后,最后数据和加密后的AES KEY上传到服务器。这样只有知道了服务器RSA私钥,才能解开得到正确的AES KEY,最终用AES KEY才能解开这段密文。

对模型加密需求的思考

深度学习中,模型训练是最关键和最有挑战性的。不仅需要有丰富的经验定义出合适的模型,还需要有大量的数据集,经常需要3-4天才能训练出一个模型。出于对知识产权的保护或者商业保护,我们常常需要对训练出来的模型文件进行加密。思考一下我们对模型加密的需求:速度要快,安全性要高,不依赖服务器的情况下本地也能加密解密。另外还需要有一个摘要算法来校验,保证模型的完整性。我们初步考虑使用AES算法,摘要算法使用MD5。下面我们来看看AES算法是如何工作的。

AES的加密原理

AES,Advanced Encryption Standard,是对称加解密算法的最经典算法之一,标准的AES加密位宽是每个块128bit,密钥分为128bit,192bit,256bit,这就是通常说的AES-128,AES-192,AES-256。我们从几个方面来具体了解一下AES加密。

  • AES加密过程
  • AES解密过程
  • AE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值