因特网
![](/icons/59264de.gif)
发展带来了企业或个人的间大量
![](/icons/59264de.gif)
信息交换
![](/icons/59264dou2.gif)
信息本身既包含公共信息也包含私有信息
![](/icons/59264dou.gif)
而且大部分信息是以非安全
![](/icons/59264de.gif)
方式通过超文本传输协议(HTTP )进行传输
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
而少量信息是通过HTTP的上
![](/icons/59264de.gif)
安全套接字层(SSL)进行传输
![](/icons/59264de.gif)
![](/icons/59264dou.gif)
即HTTPS
![](/icons/59264dou2.gif)
HTTPS是
![](/icons/59264yi.gif)
种安全
![](/icons/59264de.gif)
密码协议
![](/icons/59264dou.gif)
它在HTTP的上提供了加密和消息认证
![](/icons/59264de.gif)
功能
![](/icons/59264dou2.gif)
SSL
![](/icons/59264de.gif)
引入大大提高了服务提供者
![](/icons/59264de.gif)
流通处理
![](/icons/59264de.gif)
成本
![](/icons/59264dou.gif)
其原因是有时需要投资昂贵
![](/icons/59264de.gif)
终端加速设备
![](/icons/59264dou2.gif)
我们
![](/icons/59264de.gif)
思路方法分成 3段
![](/icons/59264dou.gif)
首先
![](/icons/59264dou.gif)
介绍新CPU指令
![](/icons/59264dou.gif)
展示如何使用它们大大加速基本密码操作
![](/icons/59264dou.gif)
包括对称加密和消息认证
![](/icons/59264dou2.gif)
其次
![](/icons/59264dou.gif)
展示RSA算法
![](/icons/59264de.gif)
新软件Software实现
![](/icons/59264de.gif)
结果
![](/icons/59264dou.gif)
它加速了HTTPS协议中
![](/icons/59264de.gif)
另
![](/icons/59264yi.gif)
个计算密集
![](/icons/59264de.gif)
部分
![](/icons/59264dou.gif)
也就是公钥加密
![](/icons/59264dou2.gif)
第 3
![](/icons/59264dou.gif)
展示如何在
![](/icons/59264yi.gif)
个支持 SMT(并发多线程)技术
![](/icons/59264de.gif)
处理器上均衡Web服务器及公钥密算法的间
![](/icons/59264de.gif)
负载
![](/icons/59264dou.gif)
从而提高Web服务器
![](/icons/59264de.gif)
效率
![](/icons/59264dou2.gif)
最后
![](/icons/59264dou.gif)
我们展示这些先进技术能够为Web服务提供强大工具
![](/icons/59264dou.gif)
为它们在HTTP的上
![](/icons/59264de.gif)
所有传输大大降低HTTPS实施成本
![](/icons/59264dou2.gif)
介绍
到2009年1月为止
![](/icons/59264dou.gif)
因特网大约连接了625,000,000台主机
![](/icons/59264dou2.gif)
这些主机的间每秒钟都要进行海量
![](/icons/59264de.gif)
信息交换
![](/icons/59264dou.gif)
这些数据包含公共信息也包含私有信息
![](/icons/59264dou.gif)
而私有信息往往是机密
![](/icons/59264de.gif)
并需要受到保护
![](/icons/59264dou2.gif)
为信息提供保障
![](/icons/59264de.gif)
安全协议往往使用在银行和电子商务中
![](/icons/59264dou.gif)
而因特网上
![](/icons/59264de.gif)
私有信息通常并未受到保护
![](/icons/59264dou2.gif)
这些私有信息(除银行和电子商务的外
![](/icons/59264de.gif)
)包括个人邮件、即时消息、(在网络中)出现、位置、视频流、查询及各种在线社区网络
![](/icons/59264de.gif)
交互等等
![](/icons/59264dou.gif)
这种忽视主要从经济原因考虑
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
安全协议依赖于密码算法
![](/icons/59264dou.gif)
而这些算法都是计算密集
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
最后
![](/icons/59264dou.gif)
保护私有信息还要求在线服务
![](/icons/59264de.gif)
提供者在计算资源上进行很大投入
![](/icons/59264dou.gif)
本文中展示
![](/icons/59264de.gif)
新技术能够降低在线安全交互
![](/icons/59264de.gif)
成本
![](/icons/59264dou.gif)
因此可以作为大量服务
![](/icons/59264de.gif)
选择
![](/icons/59264dou2.gif)
HTTP的上很多私有数据都是以不安全
![](/icons/59264de.gif)
方式进行传输
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
HTTP位于TCP/IP协议栈
![](/icons/59264de.gif)
应用层
![](/icons/59264dou.gif)
SSL(Secure Sockets Layer
![](/icons/59264dou.gif)
安全套接字层)以及后来
![](/icons/59264de.gif)
TLS (Transport Layer Security
![](/icons/59264dou.gif)
传输层安全)都是应用层上
![](/icons/59264de.gif)
安全技术
![](/icons/59264dou2.gif)
在文本中
![](/icons/59264dou.gif)
我们只谈论HTTP层
![](/icons/59264de.gif)
SSL/TLS
![](/icons/59264dou.gif)
也就是HTTPS
![](/icons/59264dou2.gif)
由于先前
![](/icons/59264de.gif)
Web服务器硬件无法处理高流量
![](/icons/59264de.gif)
HTTPS传输中所增加
![](/icons/59264de.gif)
密码算法
![](/icons/59264de.gif)
开销
![](/icons/59264dou.gif)
HTTPS
![](/icons/59264de.gif)
引入大大提高了Web服务提供者处理传输
![](/icons/59264de.gif)
成本
![](/icons/59264dou2.gif)
为了处理这些高流量传输
![](/icons/59264dou.gif)
Web服务提供者不得不增加昂贵
![](/icons/59264de.gif)
SSL/TLS终端加速设备
![](/icons/59264dou.gif)
这些附加
![](/icons/59264de.gif)
成本使得HTTPS成为Web服务提供者
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
个备选(或者是高级)方案
![](/icons/59264dou2.gif)
结果
![](/icons/59264dou.gif)
大量私有信息
![](/icons/59264de.gif)
传输都是不安全地进行
![](/icons/59264de.gif)
![](/icons/59264dou.gif)
所以
![](/icons/59264dou.gif)
在传输过程中可能被篡改或截获
![](/icons/59264dou2.gif)
本文将展现
![](/icons/59264yi.gif)
些新技术
![](/icons/59264dou.gif)
为该问题提供解决
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
个途径并显示使用当前
![](/icons/59264de.gif)
通用硬件完成高流量
![](/icons/59264de.gif)
HTTP传输已成为可能
![](/icons/59264dou2.gif)
本文
![](/icons/59264de.gif)
组织结构
我们旨在降低已启用了SSL
![](/icons/59264de.gif)
HTTP负载
![](/icons/59264de.gif)
解决方案分成 3段
![](/icons/59264dou2.gif)
第
![](/icons/59264yi.gif)
![](/icons/59264dou.gif)
我们讨论了新
![](/icons/59264de.gif)
处理器指令
![](/icons/59264dou.gif)
并演示了如何使用他们实现基本密码操作
![](/icons/59264de.gif)
成倍
![](/icons/59264de.gif)
提速
![](/icons/59264dou.gif)
这极大地降低了HTTPS中大规模数据传输时
![](/icons/59264de.gif)
服务器负载
![](/icons/59264dou2.gif)
第 2
![](/icons/59264dou.gif)
我们展现了RSA非对称密码算法
![](/icons/59264de.gif)
新实现
![](/icons/59264de.gif)
结果
![](/icons/59264dou.gif)
它提升了HTTPS协议中计算最密集阶段
![](/icons/59264de.gif)
处理:即
![](/icons/59264dou.gif)
服务器对大量客户端发过来
![](/icons/59264de.gif)
握手消息进行解密
![](/icons/59264de.gif)
阶段(下
![](/icons/59264yi.gif)
节描述了HTTPS
![](/icons/59264de.gif)
握手过程
![](/icons/59264de.gif)
几个阶段)
![](/icons/59264dou2.gif)
第 3
![](/icons/59264dou.gif)
我们分析了Web服务器
![](/icons/59264dou.gif)
分析显示
![](/icons/59264dou.gif)
通过使用了SMT技术
![](/icons/59264de.gif)
处理器均衡Web服务器
![](/icons/59264de.gif)
负载和密码算法
![](/icons/59264de.gif)
负载可以提高其性能
![](/icons/59264dou.gif)
基于此
![](/icons/59264dou.gif)
我们展示了将密码运算和长延迟时间
![](/icons/59264de.gif)
内存访问并行执行就能掩盖密码处理所消耗
![](/icons/59264de.gif)
时间
![](/icons/59264dou2.gif)
随后
![](/icons/59264dou.gif)
我们详细阐述了无处不在地部署HTTPS
![](/icons/59264de.gif)
动机及愿景
![](/icons/59264dou2.gif)
首先
![](/icons/59264dou.gif)
我们深入研究了SSL过程及其所需资源
![](/icons/59264dou.gif)
然后描述了我们
![](/icons/59264de.gif)
3段式策略
![](/icons/59264dou.gif)
实验及结果
![](/icons/59264dou2.gif)
动机
我们
![](/icons/59264de.gif)
研究背后
![](/icons/59264de.gif)
动机主要是使得HTTPS
![](/icons/59264de.gif)
广泛使用及访问成为可能
![](/icons/59264dou2.gif)
这为服务提供者和用户的间建立互信互赢
![](/icons/59264de.gif)
关系至关重要
![](/icons/59264dou2.gif)
信任
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
个重要方面来自于他们了解私有沟通是机密
![](/icons/59264de.gif)
![](/icons/59264dou.gif)
并且依附于提供者和用户的间建立
![](/icons/59264de.gif)
原则的上
![](/icons/59264dou2.gif)
对于用户
![](/icons/59264dou.gif)
有必要告知并辅导他们
![](/icons/59264dou.gif)
HTTPS对于在线沟通隐私
![](/icons/59264de.gif)
益处所在
![](/icons/59264dou2.gif)
而服务提供者应该广泛采用HTTPS以确保他们能遵守自己
![](/icons/59264de.gif)
承诺
![](/icons/59264dou2.gif)
使用并不昂贵
![](/icons/59264de.gif)
投资实现HTTPS对于创建这样
![](/icons/59264de.gif)
关系非常重要
![](/icons/59264dou2.gif)
HTTPS为数据私密及认证提供了
![](/icons/59264yi.gif)
个端到端
![](/icons/59264de.gif)
解决方案
![](/icons/59264dou2.gif)
它保证了当用户从他们
![](/icons/59264de.gif)
设备向服务提供者传送消息时
![](/icons/59264dou.gif)
他们
![](/icons/59264de.gif)
消息不会被中间人窃听到
![](/icons/59264dou2.gif)
由于任何时间在因特网上传输
![](/icons/59264de.gif)
消息包都是在不安全
![](/icons/59264de.gif)
网络上进行
![](/icons/59264de.gif)
![](/icons/59264dou.gif)
所以以上保证极为重要
![](/icons/59264dou2.gif)
尽管大部分路由设备能躲过直接观察
![](/icons/59264dou.gif)
但是躲不过蓄意窃听者
![](/icons/59264dou2.gif)
而那些可公开访问
![](/icons/59264de.gif)
遍布全球
![](/icons/59264de.gif)
无线访问点更容易被偷听
![](/icons/59264dou.gif)
这些访问点向他们管理
![](/icons/59264de.gif)
所有设备广播信息
![](/icons/59264dou2.gif)
如果没有端到端
![](/icons/59264de.gif)
安全解决
![](/icons/59264dou.gif)
这些交互很容易被网络邻居窃听
![](/icons/59264dou2.gif)
对于安全问题
![](/icons/59264dou.gif)
还有其他解决办法
![](/icons/59264dou.gif)
比如 3层虚拟私有网络(VPN)
![](/icons/59264dou.gif)
但是VPN往往仅限于中心管理
![](/icons/59264de.gif)
网络
![](/icons/59264dou.gif)
在这样
![](/icons/59264de.gif)
网络中用户和其他用户
![](/icons/59264de.gif)
交互都经过网络中心
![](/icons/59264dou.gif)
即多用户单提供者
![](/icons/59264dou2.gif)
在这种情况下
![](/icons/59264dou.gif)
网络提供者已经通过培训
![](/icons/59264de.gif)
方式向用户传达了严格
![](/icons/59264de.gif)
数据私密及安全方面
![](/icons/59264de.gif)
策略
![](/icons/59264dou2.gif)
比如
![](/icons/59264dou.gif)
企业内
![](/icons/59264de.gif)
电子邮件通常仅能通过企业管理
![](/icons/59264de.gif)
VPN进行访问
![](/icons/59264dou2.gif)
对于更大
![](/icons/59264de.gif)
因特网
![](/icons/59264dou.gif)
用户和许多提供者连接
![](/icons/59264dou2.gif)
此外
![](/icons/59264dou.gif)
近些年我们看到有利于HTTP协议
![](/icons/59264de.gif)
现象——很多其他交互协议(如FTP)使用
![](/icons/59264de.gif)
下降
![](/icons/59264dou2.gif)
在这种情况下
![](/icons/59264dou.gif)
HTTPS是在数量巨大并不断增长
![](/icons/59264de.gif)
用户和提供者的间提供私密又安全
![](/icons/59264de.gif)
交互最可行
![](/icons/59264de.gif)
途径
![](/icons/59264dou2.gif)
将来
![](/icons/59264dou.gif)
HTTPS
![](/icons/59264de.gif)
应用可能包括广泛
![](/icons/59264de.gif)
电子邮件加密、视频流安全、即时消息安全及网络搜索
![](/icons/59264de.gif)
加密等
![](/icons/59264dou.gif)
这些HTTPS
![](/icons/59264de.gif)
应用在目前并不广泛
![](/icons/59264dou2.gif)
此外
![](/icons/59264dou.gif)
![](/icons/59264yi.gif)
年又
![](/icons/59264yi.gif)
年用户放到网络上
![](/icons/59264de.gif)
个人私有信息越来越多
![](/icons/59264dou2.gif)
云计算使得他们可以在任何地点通过各种设备访问他们
![](/icons/59264de.gif)
信息
![](/icons/59264dou2.gif)
我们相信用户要求他们
![](/icons/59264de.gif)
提供者用HTTPS 来保护他们
![](/icons/59264de.gif)
所有交互是不可避免
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
出于为那
![](/icons/59264yi.gif)
天做准备
![](/icons/59264dou.gif)
我们研究和开发了本文中描述
![](/icons/59264de.gif)
技术
![](/icons/59264dou2.gif)
我们展望
![](/icons/59264dou.gif)
有了这些增强
![](/icons/59264dou.gif)
在今天由任何设备发出
![](/icons/59264de.gif)
基于 HTTP
![](/icons/59264de.gif)
交互在不久
![](/icons/59264de.gif)
将来都可以基于HTTPS
![](/icons/59264dou.gif)
我们把这称为无处不在
![](/icons/59264de.gif)
HTTPS (“http://everywhere”)
![](/icons/59264dou2.gif)
安全套接字层(SSL)会话剖析安全套接字层
安全套接字层(SSL
![](/icons/59264dou.gif)
其后来版本称为传输层安全TLS)包含了
![](/icons/59264yi.gif)
个握手阶段和加密数据交换阶段
![](/icons/59264dou2.gif)
图1展示了SSL握手
![](/icons/59264de.gif)
整个过程
![](/icons/59264dou2.gif)
在图中
![](/icons/59264dou.gif)
第
![](/icons/59264yi.gif)
阶段
![](/icons/59264dou.gif)
握手过程开始
![](/icons/59264dou.gif)
客户端向服务端发送
![](/icons/59264yi.gif)
组它可以支持
![](/icons/59264de.gif)
算法列表和
![](/icons/59264yi.gif)
个随机数
![](/icons/59264dou.gif)
该随机数用作密钥生产过程
![](/icons/59264de.gif)
输入的
![](/icons/59264yi.gif)
![](/icons/59264dou2.gif)
![加密因特网](http://CrazyCoder.cn/WebFiles/20101/36bb2662-eee5-463c-8153-8e0602969a0a.jpeg)
图1安全套接字(SSL)握手(来源:Intel公司
![](/icons/59264dou.gif)
2009)
第2阶段
![](/icons/59264dou.gif)
服务端选择其中
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
个加密算法回送给客户端
![](/icons/59264dou.gif)
附带包含该服务器公钥
![](/icons/59264de.gif)
证书
![](/icons/59264dou.gif)
证书用于证明服务器
![](/icons/59264de.gif)
身份
![](/icons/59264dou2.gif)
顺便提
![](/icons/59264yi.gif)
下
![](/icons/59264dou.gif)
服务器
![](/icons/59264de.gif)
域名也可以通过证书进行校验(这样可以消除钓鱼站点)并向用户表明他们正在和正确
![](/icons/59264de.gif)
服务端(或服务)进行交互
![](/icons/59264dou2.gif)
另外
![](/icons/59264dou.gif)
服务端还提供了第 2个随机数
![](/icons/59264dou.gif)
该随机数也作为密钥生成过程
![](/icons/59264de.gif)
输入的
![](/icons/59264yi.gif)
![](/icons/59264dou2.gif)
第3阶段
![](/icons/59264dou.gif)
客户端验证服务端
![](/icons/59264de.gif)
证书并提取出服务器
![](/icons/59264de.gif)
公钥
![](/icons/59264dou2.gif)
然后
![](/icons/59264dou.gif)
客户端产生
![](/icons/59264yi.gif)
个随机
![](/icons/59264de.gif)
秘密
![](/icons/59264zifu.gif)
串并使用服务器
![](/icons/59264de.gif)
公钥对它进行加密
![](/icons/59264dou.gif)
机密后
![](/icons/59264de.gif)
![](/icons/59264zifu.gif)
串被称为预主密钥
![](/icons/59264dou.gif)
它被发送给服务器
![](/icons/59264dou2.gif)
第4阶段
![](/icons/59264dou.gif)
服务器通过RSA算法对客户端发过来
![](/icons/59264de.gif)
加密串进行解密
![](/icons/59264dou.gif)
这是SSL交互过程中服务器上
![](/icons/59264de.gif)
计算最重
![](/icons/59264de.gif)
过程的
![](/icons/59264yi.gif)
![](/icons/59264dou2.gif)
随后
![](/icons/59264dou.gif)
客户端和服务端各自产生他们
![](/icons/59264de.gif)
会话密钥
![](/icons/59264dou.gif)
生成密钥
![](/icons/59264de.gif)
过程中使用预主密钥
![](/icons/59264diaoyong.gif)
密钥生成
![](/icons/59264hanshu.gif)
(key derivatioin function
![](/icons/59264dou.gif)
KDF)两次(该过程中使用了第1
![](/icons/59264dou.gif)
2阶段
![](/icons/59264de.gif)
随机数)
![](/icons/59264dou2.gif)
在第5和第6阶段
![](/icons/59264dou.gif)
SSL握手以交互双方向对方发送认证码而结束
![](/icons/59264dou.gif)
认证码由所有原始握手消息计算而成
![](/icons/59264dou2.gif)
在SSL中
![](/icons/59264dou.gif)
数据以记录
![](/icons/59264de.gif)
方式传输
![](/icons/59264dou2.gif)
记录协议将数据流分解成
![](/icons/59264yi.gif)
组数据段
![](/icons/59264dou.gif)
每
![](/icons/59264yi.gif)
段单独被保护并传输
![](/icons/59264dou2.gif)
换言的
![](/icons/59264dou.gif)
在IPSec中
![](/icons/59264dou.gif)
数据是以
![](/icons/59264yi.gif)
个IP包为基础进行保护
![](/icons/59264de.gif)
![](/icons/59264dou.gif)
而在SSL中
![](/icons/59264dou.gif)
数据以段为单位进行保护
![](/icons/59264dou2.gif)
在段被传输的前
![](/icons/59264dou.gif)
通过计算消息
![](/icons/59264de.gif)
认证码进行信息保护
![](/icons/59264dou2.gif)
段认证码附加在段内容后面
![](/icons/59264dou.gif)
形成消息负载并用服务器(在第2阶段)选择
![](/icons/59264de.gif)
加密算法进行加密
![](/icons/59264dou2.gif)
最后
![](/icons/59264dou.gif)
在此负载上加上消息头
![](/icons/59264dou.gif)
消息头和加密
![](/icons/59264de.gif)
消息体合起来形成记录
![](/icons/59264dou2.gif)
安全
![](/icons/59264de.gif)
web服务器显然是
![](/icons/59264yi.gif)
个极耗内存
![](/icons/59264de.gif)
应用
![](/icons/59264dou.gif)
对于SSL连接而言
![](/icons/59264dou.gif)
其最显著
![](/icons/59264de.gif)
部分就和密码算法相关
![](/icons/59264dou.gif)
包括使用对称密钥进行包加密、提供消息认证支持以及通过RSA建立会话(前文已述)
![](/icons/59264dou2.gif)
下面
![](/icons/59264de.gif)
章节中
![](/icons/59264dou.gif)
我们将更为详细地描述本文中要加速
![](/icons/59264de.gif)
两个加密算法:高级加密标准(Advanced Encryption Standard
![](/icons/59264dou.gif)
AES)及RSA(Rivest Shamir Adleman)
![](/icons/59264dou2.gif)
高级加密标准和RSA算法高级加密标准
AES是美国政府
![](/icons/59264de.gif)
对称加密算法标准
![](/icons/59264dou.gif)
它定义在FIPS 出版物第#197 (2001) 中并广泛应用在具有高吞吐量
![](/icons/59264dou.gif)
高安全需求
![](/icons/59264de.gif)
应用中
![](/icons/59264dou2.gif)
在HTTPS中
![](/icons/59264dou.gif)
它可用于为因特网上传输
![](/icons/59264de.gif)
信息提供机密性
![](/icons/59264dou2.gif)
AES是
![](/icons/59264yi.gif)
个对称加密算法
![](/icons/59264dou.gif)
也意味着在加密和解密消息
![](/icons/59264de.gif)
时候
![](/icons/59264dou.gif)
使用
![](/icons/59264de.gif)
是相同
![](/icons/59264de.gif)
密钥
![](/icons/59264dou2.gif)
AES
![](/icons/59264de.gif)
结构如图2所示:
![加密因特网](http://CrazyCoder.cn/WebFiles/20101/0716d2e2-6bbe-4738-9d93-64d3b83443da.jpeg)
图2 AES
![](/icons/59264de.gif)
结构(来源:Intel公司
![](/icons/59264dou.gif)
2009)
AES首先将密钥(可能是128位
![](/icons/59264dou.gif)
192位或256位)扩展成密钥排序表
![](/icons/59264dou.gif)
密钥排序表由128字节
![](/icons/59264de.gif)
轮密钥构成
![](/icons/59264dou.gif)
轮密钥用于加密过程中
![](/icons/59264dou2.gif)
加密过程本身就是
![](/icons/59264yi.gif)
组被称为AES轮
![](/icons/59264de.gif)
数学转换
![](/icons/59264de.gif)
演化
![](/icons/59264dou2.gif)
在每个AES轮中
![](/icons/59264dou.gif)
输入数据(input)首先和密钥排序表中
![](/icons/59264de.gif)
其中
![](/icons/59264yi.gif)
个轮密钥进行异或运算
![](/icons/59264dou2.gif)
异或运算也可以看成是没有进位
![](/icons/59264de.gif)
加法
![](/icons/59264dou2.gif)
在该轮加密
![](/icons/59264de.gif)
下
![](/icons/59264yi.gif)
步
![](/icons/59264dou.gif)
每个16字节
![](/icons/59264de.gif)
AES状态经过S盒
![](/icons/59264de.gif)
非线性转换被替换成另
![](/icons/59264yi.gif)
值
![](/icons/59264dou2.gif)
AES
![](/icons/59264de.gif)
S盒包括两个阶段
![](/icons/59264dou.gif)
第
![](/icons/59264yi.gif)
阶段是反转
![](/icons/59264dou.gif)
它不是正常整数算法
![](/icons/59264dou.gif)
而是基于GF(2
8)
![](/icons/59264de.gif)
有限域算法
![](/icons/59264dou2.gif)
第 2个阶段是仿射变换
![](/icons/59264dou2.gif)
在加密过程中
![](/icons/59264dou.gif)
输入
![](/icons/59264de.gif)
x被看成GF(
8)上
![](/icons/59264de.gif)
元素
![](/icons/59264dou.gif)
即
![](/icons/59264yi.gif)
个8比特向量
![](/icons/59264dou.gif)
它先被反转
![](/icons/59264dou.gif)
然后对反转
![](/icons/59264de.gif)
结果应用仿射图
![](/icons/59264dou2.gif)
在解密
![](/icons/59264de.gif)
过程中
![](/icons/59264dou.gif)
输入y先通过反向仿射图
![](/icons/59264dou.gif)
然后在GF(
8)中反转
![](/icons/59264dou2.gif)
前面提到
![](/icons/59264de.gif)
GF(
8)反转是在GF(2
8)中进行
![](/icons/59264de.gif)
![](/icons/59264dou.gif)
它是由不可约多项式定义
![](/icons/59264de.gif)
![](/icons/59264dou.gif)
即p(x) = x
8 + x
4 + x
3 + x + 1 或者 0x11B
![](/icons/59264dou2.gif)
然后
![](/icons/59264dou.gif)
被替换
![](/icons/59264de.gif)
字节值经过两个线性转换
![](/icons/59264dou.gif)
分别是Sh
![](/icons/59264if.gif)
tRow和MixColumn
![](/icons/59264dou2.gif)
Sh
![](/icons/59264if.gif)
tRow仅仅做字节置换
![](/icons/59264dou.gif)
MixColumn转换操作在AES状态
![](/icons/59264de.gif)
矩阵表示
![](/icons/59264de.gif)
列上进行
![](/icons/59264dou2.gif)
每
![](/icons/59264yi.gif)
列由
![](/icons/59264yi.gif)
个矩阵乘法得到
![](/icons/59264de.gif)
值进行替换
![](/icons/59264dou.gif)
加密过程中所使用
![](/icons/59264de.gif)
转换如方程1所示
![](/icons/59264dou.gif)
在该方程中
![](/icons/59264dou.gif)
根据GF(2
8)
![](/icons/59264de.gif)
规则进行矩阵和矢量
![](/icons/59264de.gif)
乘法
![](/icons/59264dou.gif)
使用
![](/icons/59264de.gif)
是S盒中相同
![](/icons/59264de.gif)
不可约多项式
![](/icons/59264dou.gif)
即是
![](/icons/59264dou.gif)
i>p (x) = x
8 + x
4 + x
3 + x + 1
![](/icons/59264dou2.gif)
![加密因特网](http://CrazyCoder.cn/WebFiles/20101/a2720592-7b28-4b80-b4f4-eba909a73a9a.bmp)
解密过程中
![](/icons/59264dou.gif)
反向Sh
![](/icons/59264if.gif)
tRow跟在反向MixColumn的后
![](/icons/59264dou.gif)
反向MixColumn转换
![](/icons/59264de.gif)
如方程2所示
![](/icons/59264dou2.gif)
![加密因特网](http://CrazyCoder.cn/WebFiles/20101/20876c0d-e0a4-4c7d-8219-a93deb66a11e.bmp)
注意到MixColumn转换用1
![](/icons/59264dou.gif)
1
![](/icons/59264dou.gif)
2和3和每列中
![](/icons/59264de.gif)
字节相乘
![](/icons/59264dou.gif)
而方向MixColumn用
![](/icons/59264de.gif)
则是0x9, 0xE, 0xB, and 0xD
![](/icons/59264dou2.gif)
根据密钥大小(128
![](/icons/59264dou.gif)
192
![](/icons/59264dou.gif)
256比特)
![](/icons/59264de.gif)
区别
![](/icons/59264dou.gif)
相同
![](/icons/59264de.gif)
过程要进行10
![](/icons/59264dou.gif)
12
![](/icons/59264dou.gif)
或14轮
![](/icons/59264dou2.gif)
最后
![](/icons/59264yi.gif)
轮AES省略MixColumn转换
![](/icons/59264dou2.gif)
RSA算法
RSA是
![](/icons/59264yi.gif)
种公钥密码算法设计
![](/icons/59264dou2.gif)
公钥算法背后
![](/icons/59264de.gif)
主要想法是加密技术可以有后门
![](/icons/59264de.gif)
存在
![](/icons/59264dou2.gif)
后门
![](/icons/59264de.gif)
意思是指
![](/icons/59264dou.gif)
密码只需要交互
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
方知道
![](/icons/59264dou.gif)
这样可以简化加密流程
![](/icons/59264dou2.gif)
在公钥算法中
![](/icons/59264dou.gif)
消息通过公钥加密
![](/icons/59264dou.gif)
而
![](/icons/59264yi.gif)
个公钥对应
![](/icons/59264yi.gif)
个私钥
![](/icons/59264dou2.gif)
在不知道私钥
![](/icons/59264de.gif)
情况下
![](/icons/59264dou.gif)
很难解密消息
![](/icons/59264dou.gif)
类似地
![](/icons/59264dou.gif)
攻击者也很难发现信息原文
![](/icons/59264dou2.gif)
为了进
![](/icons/59264yi.gif)
步解释公钥算法
![](/icons/59264dou.gif)
我们以RSA算法做例子来介绍说明
![](/icons/59264dou2.gif)
在该算法中
![](/icons/59264dou.gif)
交互双方选择两个随机
![](/icons/59264de.gif)
大数p和q
![](/icons/59264dou.gif)
为了安全
![](/icons/59264de.gif)
最大化
![](/icons/59264dou.gif)
p和q长度应该相同
![](/icons/59264dou.gif)
然后交互双方如下计算:
![](http://CrazyCoder.cn/WebFiles/20101/2208508c-37da-4125-9c0d-45f5b1b03e27.bmp)
对于某些l
![](/icons/59264dou.gif)
D和E可以互换使用
![](/icons/59264dou.gif)
也就是说可以使用D加密
![](/icons/59264dou.gif)
而使用E进行解密
![](/icons/59264dou2.gif)
RSA
![](/icons/59264de.gif)
典型实现使用中国剩余理论
![](/icons/59264dou.gif)
它可以将
![](/icons/59264yi.gif)
个模数
![](/icons/59264de.gif)
取幂运算减低成对长度是它
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
半
![](/icons/59264de.gif)
两个数
![](/icons/59264de.gif)
取幂操作
![](/icons/59264dou.gif)
以此类推
![](/icons/59264dou.gif)
通过使用平方乘
![](/icons/59264de.gif)
技术可以将取幂操作化解成模数平方及模式乘运算
![](/icons/59264de.gif)
序列
![](/icons/59264dou2.gif)
平方乘运算还可以增强
![](/icons/59264dou.gif)
并使用某些视窗法降低模数乘运算
![](/icons/59264de.gif)
次数
![](/icons/59264dou2.gif)
最后
![](/icons/59264dou.gif)
模数平方和乘运算可以通过如 Montgomery或Barrett 这样
![](/icons/59264de.gif)
简约算法简化成大数
![](/icons/59264de.gif)
乘法运算
![](/icons/59264dou2.gif)
加速技术
我们正在研究成倍提升HTTPS会话速度
![](/icons/59264de.gif)
思路方法来实现加密因特网
![](/icons/59264de.gif)
愿景
![](/icons/59264dou2.gif)
下
![](/icons/59264yi.gif)
代微系统结构新增
![](/icons/59264de.gif)
指令可能会将对称加密算法提速3-10倍
![](/icons/59264dou2.gif)
这些指令不仅提供了更好
![](/icons/59264de.gif)
性能
![](/icons/59264dou.gif)
还能保护应用免受边道攻击(side-channel attack)
![](/icons/59264de.gif)
威胁
![](/icons/59264dou2.gif)
其次
![](/icons/59264dou.gif)
我们已开发出改进
![](/icons/59264de.gif)
整数运算软件Software
![](/icons/59264dou.gif)
它可以将密钥交换及构造过程提速达40-100倍
![](/icons/59264dou2.gif)
第 3
![](/icons/59264dou.gif)
Intel® Core™ i7微体系结构再次将SMT技术引进CPU中
![](/icons/59264dou.gif)
对于将计算密集
![](/icons/59264de.gif)
公钥加密软件Software
![](/icons/59264de.gif)
运算周期隐藏在网络应用内存查找
![](/icons/59264de.gif)
延迟时间内SMT是非常理想
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
新处理器指令
下
![](/icons/59264yi.gif)
代Intel处理器将引入
![](/icons/59264yi.gif)
组新指令
![](/icons/59264dou.gif)
它们将支持高性能及安全
![](/icons/59264de.gif)
轮加密和轮解密
![](/icons/59264dou2.gif)
这些指令是AESENC(AES轮加密)
![](/icons/59264dou.gif)
和 AESENCLAST(AES最后
![](/icons/59264yi.gif)
轮加密)
![](/icons/59264dou.gif)
AESDEC(AES轮解密)以及AESDECLAST(AES最后
![](/icons/59264yi.gif)
轮解密)
![](/icons/59264dou2.gif)
还引入了另外两个用于实现密钥排序表转换
![](/icons/59264de.gif)
指令
![](/icons/59264dou.gif)
AESIMC和 AESKEYGENASSIST
![](/icons/59264dou2.gif)
这些新处理器指令
![](/icons/59264de.gif)
设计基于AES
![](/icons/59264de.gif)
结构
![](/icons/59264dou2.gif)
AES这样
![](/icons/59264de.gif)
系统包括复杂
![](/icons/59264de.gif)
数学操作
![](/icons/59264dou.gif)
比如有限域乘法和反转(前文已述)
![](/icons/59264dou2.gif)
这些操作用软件Software实现需要消耗更多
![](/icons/59264de.gif)
时间及内存
![](/icons/59264dou.gif)
但是用组合逻辑实现时则更快
![](/icons/59264dou.gif)
且更加节能
![](/icons/59264dou2.gif)
另外
![](/icons/59264dou.gif)
有限域操作
![](/icons/59264de.gif)
操作数能够适合IA体系结构
![](/icons/59264de.gif)
SIMD寄存器
![](/icons/59264dou2.gif)
本文中
![](/icons/59264dou.gif)
我们讨论使用组合逻辑将整个AES轮实现为单个IA处理器指令
![](/icons/59264de.gif)
概念
![](/icons/59264dou2.gif)
![](/icons/59264yi.gif)
个AES轮指令比等同
![](/icons/59264de.gif)
基于表查找
![](/icons/59264de.gif)
软件Software
![](/icons/59264chengxu.gif)
要快很多
![](/icons/59264dou.gif)
并且可以流水化
![](/icons/59264dou.gif)
所以有可能在
![](/icons/59264yi.gif)
个时钟周期内计算出
![](/icons/59264yi.gif)
个独立
![](/icons/59264de.gif)
AES轮
![](/icons/59264de.gif)
结果
![](/icons/59264dou2.gif)
这些AES指令可以看成是密码算术
![](/icons/59264de.gif)
原语
![](/icons/59264dou.gif)
它们不仅可用于AES
![](/icons/59264de.gif)
实现
![](/icons/59264dou.gif)
还可以用于广泛
![](/icons/59264de.gif)
密码算法
![](/icons/59264dou2.gif)
例如
![](/icons/59264dou.gif)
最近
![](/icons/59264de.gif)
HIST SHA-3哈希
![](/icons/59264hanshu.gif)
竞赛中就有不少提案使用了AES轮作为计算密码哈希值
![](/icons/59264de.gif)
基础元件
![](/icons/59264dou2.gif)
另外
![](/icons/59264dou.gif)
指令
![](/icons/59264diaoyong.gif)
![](/icons/59264de.gif)
合并还可以用于创建更加通用
![](/icons/59264de.gif)
有限域计算
![](/icons/59264de.gif)
原语
![](/icons/59264dou2.gif)
这些新指令在相同
![](/icons/59264de.gif)
平台上和最好
![](/icons/59264de.gif)
软件Software实现相比
![](/icons/59264dou.gif)
在处理相同
![](/icons/59264de.gif)
数学操作
![](/icons/59264de.gif)
情况下要快3-10倍
![](/icons/59264dou2.gif)
和这些AES指令
![](/icons/59264yi.gif)
起
![](/icons/59264dou.gif)
Intel将提供另
![](/icons/59264yi.gif)
个新指令用于支持无进位乘法(carry-less multiplication)
![](/icons/59264dou.gif)
称为PCLMULQDQ
![](/icons/59264dou2.gif)
该指令执行两个64位 4个字
![](/icons/59264de.gif)
无进位乘法运算
![](/icons/59264dou2.gif)
这两个操作数是根据中间字节值选择出来
![](/icons/59264de.gif)
第
![](/icons/59264yi.gif)
和第 2个乘数
![](/icons/59264dou2.gif)
无进位乘法
![](/icons/59264dou.gif)
又称为Galois域(GF)乘法
![](/icons/59264dou.gif)
在该操作中对两个数进行相乘是不产生和传递进位
![](/icons/59264dou2.gif)
在标准
![](/icons/59264de.gif)
整数乘法中
![](/icons/59264dou.gif)
第
![](/icons/59264yi.gif)
个操作数移动
![](/icons/59264de.gif)
次数等于第 2个操作数中值为“1”
![](/icons/59264de.gif)
比特位
![](/icons/59264de.gif)
个数
![](/icons/59264dou.gif)
每次移动
![](/icons/59264de.gif)
距离就是“1”在第 2个操作数中
![](/icons/59264de.gif)
位置
![](/icons/59264dou2.gif)
两个数
![](/icons/59264de.gif)
执行结果由所有移动后
![](/icons/59264de.gif)
第
![](/icons/59264yi.gif)
个操作数相加而来
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
在无进位乘法中
![](/icons/59264dou.gif)
过程依然相同
![](/icons/59264dou.gif)
但是相加时不产生进位也不传递进位
![](/icons/59264dou2.gif)
这样
![](/icons/59264dou.gif)
比特加操作就相当于逻辑操作中
![](/icons/59264de.gif)
异或(XOR)
![](/icons/59264dou2.gif)
无进位乘法是很多系统和标准(包括时钟冗余校验
![](/icons/59264dou.gif)
CRC
![](/icons/59264dou.gif)
Galois/计数模型
![](/icons/59264dou.gif)
GCM和 2进制椭圆曲线等)
![](/icons/59264de.gif)
计算
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
个非常重要
![](/icons/59264de.gif)
组件
![](/icons/59264dou.gif)
该操作在当今处理器上用软件Software实现时效率极为低下
![](/icons/59264dou2.gif)
所以
![](/icons/59264dou.gif)
加速Carry-less乘法
![](/icons/59264de.gif)
指令对于GCM和所有依赖于它
![](/icons/59264de.gif)
交互协议来说相当重要
![](/icons/59264dou2.gif)
改进
![](/icons/59264de.gif)
密钥构造软件Software
我们还开发了整数算法软件Software
![](/icons/59264dou.gif)
他至少可加速大数乘以及模数减运算达2倍
![](/icons/59264dou2.gif)
这些
![](/icons/59264chengxu.gif)
不仅用于RSA公钥加密
![](/icons/59264dou.gif)
还可用于D
![](/icons/59264if.gif)
fe Hellman密码交换以及椭圆曲线密码算法(ECC)
![](/icons/59264dou2.gif)
使用了我们
![](/icons/59264de.gif)
软件Software在Intel® Core i7处理器上RSA 1024
![](/icons/59264de.gif)
性能可以从大概每秒处理1500个签名(OpenSSLv.0.9.8g)或者2000个签名(OpenSSL v.0.9.8.h)提升到每秒2900个签名
![](/icons/59264dou2.gif)
类似地
![](/icons/59264dou.gif)
我们还可以加速其他流行
![](/icons/59264de.gif)
密码模式
![](/icons/59264dou.gif)
如RSA 2048、和基于NIST B-233曲线
![](/icons/59264de.gif)
椭圆曲线加密D
![](/icons/59264if.gif)
fie-Hellmn
![](/icons/59264dou2.gif)
RSA
![](/icons/59264de.gif)
性能可以通过提升大数乘法
![](/icons/59264de.gif)
速度而提升
![](/icons/59264dou.gif)
![](/icons/59264yinwei.gif)
它是该算法中计算最密集
![](/icons/59264de.gif)
部分
![](/icons/59264dou2.gif)
我们
![](/icons/59264de.gif)
实现使用了优化
![](/icons/59264de.gif)
背包大数相乘算法
![](/icons/59264dou2.gif)
RSA算法是计算非常密集
![](/icons/59264de.gif)
算法
![](/icons/59264dou.gif)
它要消耗数百万
![](/icons/59264de.gif)
时钟用于执行64位数
![](/icons/59264de.gif)
乘法
![](/icons/59264dou.gif)
加法和减法
![](/icons/59264dou2.gif)
然而
![](/icons/59264dou.gif)
RSA所存储
![](/icons/59264de.gif)
状态却很小
![](/icons/59264dou.gif)
只包含
![](/icons/59264yi.gif)
些关键信息及16至32个能够放入 Intel CPU
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
级缓存Cache(cache)中
![](/icons/59264de.gif)
乘数
![](/icons/59264dou2.gif)
使用了我们
![](/icons/59264de.gif)
软件Software
![](/icons/59264dou.gif)
RSA 1024解密操作在Intel® Core i7处理器上只消耗了99万时钟
![](/icons/59264dou.gif)
而相应
![](/icons/59264de.gif)
RSA 2048解密操作消耗了673万时钟
![](/icons/59264dou2.gif)
这个速度比OpenSSL(v. 0.9.8h)执行相同操作要快40%
![](/icons/59264dou2.gif)
下图中列出
![](/icons/59264de.gif)
代码描述了主要思想
![](/icons/59264dou.gif)
它通过对中间数(check)利用寄存器回收技术将乘法和加法操作合并起来
![](/icons/59264dou2.gif)
在代码1中
![](/icons/59264dou.gif)
“a”和“b”保存了相乘
![](/icons/59264de.gif)
两个大数
![](/icons/59264dou.gif)
结果存在“r”中
![](/icons/59264dou2.gif)
这些操作对所有输入不断重复
![](/icons/59264dou.gif)
并产生中间数
![](/icons/59264dou.gif)
这些中间数相加后得到大数相乘
![](/icons/59264de.gif)
结果
![](/icons/59264dou2.gif)
![](http://CrazyCoder.cn/WebFiles/20101/9a98151f-ce34-4360-b5e5-6cdb150859b6.bmp)
代码1 RAS实现(来源:Intel公司
![](/icons/59264dou.gif)
2009)
我们还研究了其他大数相乘
![](/icons/59264de.gif)
技术
![](/icons/59264dou.gif)
包括类Karatsuba构造
![](/icons/59264dou.gif)
但是我们发现这个背包算法实现是最快
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
并发多线程技术
最新
![](/icons/59264de.gif)
Intel® Core i7微体系结构再次引入了超线程(现在被称为并发多线程或SMT)
![](/icons/59264de.gif)
技术
![](/icons/59264dou2.gif)
SMT是该处理器和此前
![](/icons/59264de.gif)
核心微体系结构
![](/icons/59264de.gif)
最大差别
![](/icons/59264dou.gif)
![](/icons/59264yinwei.gif)
这些核心都是单线程
![](/icons/59264de.gif)
![](/icons/59264dou2.gif)
作为研究
![](/icons/59264de.gif)
![](/icons/59264yi.gif)
部分
![](/icons/59264dou.gif)
我们演示了SMT可以为
![](/icons/59264yi.gif)
类特定
![](/icons/59264de.gif)
工作负载带来根本性性能提升
![](/icons/59264dou.gif)
这些工作负载和安全Web事务相关
![](/icons/59264dou2.gif)
我们提出了
![](/icons/59264yi.gif)
种新
![](/icons/59264de.gif)
编程模型 ——使用
![](/icons/59264yi.gif)
个计算密集
![](/icons/59264de.gif)
线程只进行RSA公钥加密操作
![](/icons/59264dou.gif)
另
![](/icons/59264yi.gif)
线程进行内存存储密集
![](/icons/59264de.gif)
操作
![](/icons/59264dou2.gif)
我们发现当使用SMT时
![](/icons/59264dou.gif)
RSA线程可以作为 4个典型
![](/icons/59264de.gif)
内存存储密集
![](/icons/59264de.gif)
工作线程
![](/icons/59264de.gif)
理想伙伴
![](/icons/59264dou.gif)
并可以带来10%至100%
![](/icons/59264de.gif)
潜在性能提升
![](/icons/59264dou2.gif)
当执行独立内存查找
![](/icons/59264de.gif)
线程和RSA线程相伴执行时系统可获最多益处
![](/icons/59264dou2.gif)
内存线程
![](/icons/59264de.gif)
吞吐率几乎翻倍
![](/icons/59264dou.gif)
达到了没有RSA伴随情况下
![](/icons/59264de.gif)
值
![](/icons/59264dou2.gif)
对该结果
![](/icons/59264de.gif)
另
![](/icons/59264yi.gif)
种解释是 RSA计算几乎没有消耗时间
![](/icons/59264dou.gif)
这都功因于SMT
![](/icons/59264dou2.gif)
在现实中
![](/icons/59264dou.gif)
RSA计算被隐藏在内存线程
![](/icons/59264de.gif)
长延迟时间期间
![](/icons/59264dou2.gif)
我们还观察到当SMT开启
![](/icons/59264dou.gif)
当
![](/icons/59264yi.gif)
个内存线程和另
![](/icons/59264yi.gif)
个内存线程相伴执行时
![](/icons/59264dou.gif)
单个内存线程
![](/icons/59264de.gif)
吞吐量大约提高了30%
![](/icons/59264dou.gif)
而当和RSA算法相伴执行时
![](/icons/59264dou.gif)
吞吐率翻倍
![](/icons/59264dou2.gif)
这些结果指明RSA算法比第 2个内存线程更适合作为陪伴线程
![](/icons/59264dou.gif)
原因是
![](/icons/59264yi.gif)
个工作是内存访问密集型
![](/icons/59264dou.gif)
而另
![](/icons/59264yi.gif)
个是计算密集型
![](/icons/59264dou2.gif)
当
![](/icons/59264yi.gif)
个RSA线程和
![](/icons/59264yi.gif)
个内存线程相伴执行时
![](/icons/59264dou.gif)
SMT开启时RSA
![](/icons/59264de.gif)
性能比SMT 关闭时性能提升21%
![](/icons/59264dou2.gif)
为了进
![](/icons/59264yi.gif)
步验证我们
![](/icons/59264de.gif)
观点——SMT特别有助于密码工作负载
![](/icons/59264dou.gif)
我们创建测试了
![](/icons/59264yi.gif)
个运行SpecWeb* 2005
![](/icons/59264de.gif)
测试台
![](/icons/59264dou2.gif)
测试台
![](/icons/59264de.gif)
组成是
![](/icons/59264yi.gif)
台Intel® Core i7处理器
![](/icons/59264de.gif)
服务器
![](/icons/59264dou.gif)
连接到两台客户机
![](/icons/59264dou.gif)
在上面
![](/icons/59264yi.gif)
共运行了 4个客户端引擎
![](/icons/59264dou2.gif)
我们测量了SMT开启和关闭时
![](/icons/59264de.gif)
服务器处理
![](/icons/59264de.gif)
Banking(HTTPS)和 Support(HTTP)工作负载
![](/icons/59264de.gif)
能力
![](/icons/59264dou2.gif)
实验表明SMT对整体系统性能至少提升了10%
![](/icons/59264dou.gif)
而Banking工作负载比Support工作负载提高
![](/icons/59264de.gif)
更多
![](/icons/59264dou2.gif)
该结果和我们前面
![](/icons/59264de.gif)
实验相吻合
![](/icons/59264dou.gif)
并且也表明了密码工作负载也能利用SMT
![](/icons/59264de.gif)
优势
![](/icons/59264dou2.gif)
我们
![](/icons/59264de.gif)
密码算法加速技术
![](/icons/59264de.gif)
整体影响如图3所示
![](/icons/59264dou.gif)
第
![](/icons/59264yi.gif)
栏是230K字节
![](/icons/59264de.gif)
SSL交易运行在今天
![](/icons/59264de.gif)
Intel® Core i7处理器上
![](/icons/59264de.gif)
负载
![](/icons/59264dou2.gif)
加密模式使用了AES-256
![](/icons/59264de.gif)
反模式(counter mode)
![](/icons/59264dou2.gif)
第 2栏显示了使用新指令实现AES时获得
![](/icons/59264de.gif)
加速效果
![](/icons/59264dou2.gif)
第 3栏展示了使用我们
![](/icons/59264de.gif)
RSA软件Software及SMT的后
![](/icons/59264de.gif)
加速结果
![](/icons/59264dou2.gif)
最后
![](/icons/59264yi.gif)
栏展示了将SHA1替换成GCM后
![](/icons/59264de.gif)
结构
![](/icons/59264dou2.gif)
GCM是
![](/icons/59264yi.gif)
种提供了和HMAC-SHA1相同功能
![](/icons/59264de.gif)
消息认证模式
![](/icons/59264dou2.gif)
在图中可以明显看到
![](/icons/59264dou.gif)
我们
![](/icons/59264de.gif)
加速技术从根本上减低了密码工作负载并带来了性能及效率显著提高
![](/icons/59264dou2.gif)
![加密因特网](http://CrazyCoder.cn/WebFiles/20101/6ae7683c-dfdf-43ee-92d1-1f12d9d8e281.jpeg)
图3 密码加速技术
![](/icons/59264de.gif)
影响(来源:Intel公司
![](/icons/59264dou.gif)
2009)
结论
总的
![](/icons/59264dou.gif)
Intel正在研究提供成倍提升密码算法速度
![](/icons/59264de.gif)
新技术
![](/icons/59264dou2.gif)
我们描述了可以提升AES对称加密速度
![](/icons/59264de.gif)
新处理器指令
![](/icons/59264dou.gif)
该提升从根本上减低了 HTTPS处理大块数据传输时
![](/icons/59264de.gif)
服务器负载
![](/icons/59264dou2.gif)
我们还展现了RSA非对称密码算法
![](/icons/59264de.gif)
新实现
![](/icons/59264dou.gif)
它加速了HTTPS协议
![](/icons/59264de.gif)
计算密集型阶段
![](/icons/59264dou.gif)
即服务器必须解密来自大量客户端
![](/icons/59264de.gif)
握手消息
![](/icons/59264de.gif)
阶段
![](/icons/59264dou2.gif)
第 3
![](/icons/59264dou.gif)
我们分析了Web服务器并展示了
![](/icons/59264yi.gif)
些初期实验
![](/icons/59264dou.gif)
结果表明
![](/icons/59264dou.gif)
通过在支持SMT技术
![](/icons/59264de.gif)
处理器上均衡Web服务器负载和密码算法负载可以提升服务器
![](/icons/59264de.gif)
效率
![](/icons/59264dou.gif)
它显示了密码算法负载可以隐藏在并行处理
![](/icons/59264de.gif)
内存访问
![](/icons/59264de.gif)
长时间延迟期间
![](/icons/59264dou2.gif)
我们
![](/icons/59264de.gif)
最终目标是使通用处理器能够高速处理及转发加密
![](/icons/59264de.gif)
信息传输
![](/icons/59264dou.gif)
从而让因特网逐步转变成为完全安全
![](/icons/59264de.gif)
信息交付基础设施
![](/icons/59264dou2.gif)
我们还相信这些技术有益于其他使用模型
![](/icons/59264dou.gif)
比如硬盘加密和存储等