首页> 中国专利> 改进多方计算中高级加密标准效率的系统和方法

改进多方计算中高级加密标准效率的系统和方法

摘要

提供了改进多方计算中高级加密标准效率的系统和方法。利用密码技术的多方网络包括一个或多个处理器,其中一个或多个处理器被编程为利用与输入相关联的嵌入输入状态上的比特分解,对输出比特应用后向代换盒仿射变换,利用七个线性变换从输出比特确定七个幂,利用以来自输出比特的七个幂进行的六个逐秘密乘法来确定秘密状态的逆,以及响应于合成秘密状态的逆而输出伽罗瓦域的秘密输入状态的逆。

著录项

  • 公开/公告号CN114826555A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 罗伯特·博世有限公司;

    申请/专利号CN202210116101.X

  • 发明设计人 B·杜拉克;J·瓜哈尔多 莫尔钱;

    申请日2022-02-07

  • 分类号H04L9/06(2006.01);G06F21/60(2013.01);

  • 代理机构中国专利代理(香港)有限公司 72001;中国专利代理(香港)有限公司 72001;

  • 代理人毕铮;刘春元

  • 地址 德国斯图加特

  • 入库时间 2023-06-19 16:11:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-07-25

    实质审查的生效 IPC(主分类):H04L 9/06 专利申请号:202210116101X 申请日:20220207

    实质审查的生效

说明书

技术领域

本公开涉及安全性,例如密码技术。此外,本公开可涉及用于密码技术的高级加密标准(AES)。

背景技术

安全多方计算(MPC)是密码技术中的一个领域,它为多方提供了可以在私有输入上联合计算函数的方法。在MPC中,各方获得了他们想要在其上计算函数的输入的一些“份额(share)”。MPC可以提供一种方式使输入对于MPC参与者保持私有。此外,许多公司使用MPC联合计算他们感兴趣的一些函数,而不公开他们的私有输入。

由于MPC可能允许系统在协议参与者之间“分发”信任,MPC的一个非常重要的应用可能是安全地保护长期秘密密钥。当原本很难以管理此类密钥的安全性时,这可能允许公司管理秘密。因此,可以通过分成份额来在参与者之间分发秘密密钥,使得当运行MPC协议需要时特定参与者子集可以加密或解密数据,而不揭露密钥。一种合期望的加密/解密机制是标准分组密码高级加密标准(AES)。

最有效的MPC协议之一称为SPDZ。SPDZ使用线性秘密共享方法,以便用私有方式共享函数输入。从信息论的角度来看,秘密共享算法可以看作是加密方法。SPDZ方法还使得有可能在MPC设置中进行AES计算。

AES可以是本领域已知的标准分组密码。AES在标准系统中的安全性和效率已得到认可,因为它是AES的快速标准软件和硬件实现,其中系统每秒可以加密/解密数百万128个块。然而,AES可能不是特别为MPC计算而设计的。MPC中的分组密码计算效率低于其普通实现,这可能是由于形成轮的非线性层造成的。例如,AES-128可能有10轮,每轮由16个Sbox计算组成,对应于每轮中仅有的非线性函数层。每个Sbox作用于128比特状态的字节。每轮中的所有其他函数都是线性的,并因此直接在MPC设置中实现,因为它们不需要交互。

AES-128输入和输出128比特,并且每层和每轮操作128比特。AES操作可以用两种不同的电路设计来表示:布尔电路和代数电路。布尔电路表示可以在比特级计算利用布尔门(与和异或)的所有操作。代数电路表示可以依赖于称为AES代数有限域或伽罗瓦域的算术结构,该结构在字节级别定义代数(输入和所有内部状态将被视为16字节)。

在其四个层之间,子字节层可以执行非线性操作。子字节(又称Sbox)层可以对每16个字节应用置换。实现Sbox置换的方式不止一种。最后,实现AES子字节意味着应用表示置换的16个Sbox操作。在MPC中,其余层的成本可以忽略不计。因此,下面的公开将讨论Sbox操作,这是下面仅有的非线性操作。

MP-SPDZ可以允许系统在二进制有限域(诸如GF(2

本公开可以是任何系统中的应用,该系统打算加密静止数据或业务中的数据。例如,可以通过将本实施例集成到传输层安全(TLS)会话中来使用本实施例。传统上,TLS将由使用公钥密码技术的第一系列步骤组成,这些步骤用于约定对称密钥以批量加密数据。相对的,使用本公开中的优化,可以使用公钥密码技术执行第一步骤,其输出是对称密钥,对称密钥继而被分发到多方计算中涉及的服务器,这些服务器然后可以利用包括优化的实施例以分布式方式加密或解密业务。实施例的另一个应用将简单地涉及数据存储服务或安全分布式文件系统,其使用高级加密标准(AES)以加密形式存储静止数据,并使用实施例来加密或解密将使用分布在MPC服务器之间的秘密对称密钥来存储的数据。

本公开可以是任何系统中的应用,该系统打算加密静止数据或业务中的数据。例如,可以通过将本实施例集成到传输层安全(TLS)会话中来使用本实施例。传统上,TLS将由使用公钥密码技术的第一系列步骤组成,这些步骤用于约定对称密钥以批量加密数据。相对的,使用本公开中的优化,可以使用公钥密码技术执行第一步骤,其输出是对称密钥,对称密钥继而被分发到多方计算中涉及的服务器,这些服务器然后可以利用包括优化的实施例以分布式方式加密或解密业务。实施例的另一个应用将涉及数据存储服务或安全分布式文件系统,其使用高级加密标准(AES)以加密形式存储静止数据,并使用实施例来加密或解密将使用分布在MPC服务器之间的秘密对称密钥来存储的数据。

发明内容

根据一个实施例,利用密码技术的多方网络包括一个或多个处理器。一个或多个处理器被编程为利用与输入相关联的嵌入输入状态上的比特分解,对输出比特应用后向代换盒仿射变换,利用七个线性变换从输出比特确定七个幂,利用以来自输出比特的七个幂进行的六个逐秘密乘法来确定秘密状态的逆,以及响应于合成秘密状态的逆而输出伽罗瓦域的秘密输入状态的逆。

根据第二实施例,分布式计算机网络利用高级加密标准(AES)密码技术。分布式计算机网络包括被配置为与利用AES密码技术的多方网络中的一个或多个服务器通信的收发器、与收发器通信的一个或多个处理器,其中一个或多个处理器被编程为利用与输入相关联的嵌入输入状态上的比特分解,对一个或多个输出比特应用后向代换盒仿射变换,利用七个线性变换从一个或多个输出比特确定七个幂,利用以来自一个或多个输出比特的七个幂进行的六个逐秘密乘法来确定秘密状态的逆,以及响应于合成秘密状态的逆而输出秘密输入状态的逆。

根据第三实施例,利用高级加密标准的分布式计算机网络包括收发器,该收发器被配置为与一个或多个服务器和一个或多个处理器通信。一个或多个处理器与收发器通信,并且一个或多个处理器被编程为利用与输入相关联的嵌入输入状态上的比特分解,对输出比特应用后向代换盒仿射变换,利用七个线性变换从输出比特确定七个幂,利用以来自输出比特的七个幂进行的六个逐秘密乘法来确定秘密状态的逆,以及响应于合成秘密状态的逆而输出伽罗瓦域的秘密输入状态的逆。

附图说明

图1公开了分布式计算机系统的实施例。

图2示出了利用AES-BD方法的逆的单个Sbox计算的示例流程图。

图3示出了逆AES协议的Sbox计算的另一个实施例的示例流程图。

具体实施方式

本文描述了本公开的实施例。然而,应当理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种且可替代形式。附图不一定是按比例的;某些特征可能被夸大或最小化,以示出特定组件的细节。因此,本文公开的特定结构和功能细节不应被解释为限制,而仅应被解释为教导本领域技术人员以各种方式采用实施例的代表性基础。如本领域普通技术人员将理解的,参考附图中的任何一个图示和描述的各种特征可以与一个或多个其他附图中图示的特征相组合,以产生未明确图示或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,对于特定的应用或实现,可以期望与本公开的教导一致的特征的各种组合和修改。

以下公开可以详细说明在MPC中实现AES(例如Sbox)的两种不同系统和方法。一种可以利用算术电路(例如AES-BD),第二种可以利用查表(例如AES-LT)。

AES-BD可以通过代数运算实现Sbox,即其计算乘法和线性变换。AES-LT可利用查表策略使计算非常快。然而,它们可能需要从离线阶段传送和存储特殊数据。如上所述,MP-SPDZ框架通过将AES GF(2

图1公开了分布式计算机系统的实施例。图1中提供了描绘本公开系统中至少一个计算机的示例的框图。例如,当在具有多个节点的网络中实现时,每个节点是独立的计算机系统,其与网络中的其他节点通信。因此,图1提供了那些分布式计算机系统100中的至少一个的非限制性示例。注意,本文所描述的系统和方法可以在云中的服务器以及台式机或任何环境上实现。分布式计算机系统100可以利用典型的计算机,或者在其他方面,利用移动设备以及IoT设备(例如,传感器网络),或者甚至飞机或其他平台上使用该协议(例如,多方计算协议等)用于容错和网络安全目的的一组控制计算机。

在各种实施例中,分布式计算机系统100被配置为执行与程序或算法相关联的计算、处理、操作和/或功能。在一个方面中,本文所讨论的某些处理和步骤被实现为驻留在计算机可读存储器单元内并由分布式计算机系统100的一个或多个处理器和/或计算机执行的一系列指令(例如,软件程序)。当执行时,这些指令使分布式计算机系统100执行特定动作并表现出特定行为,诸如本文所描述的。

分布式计算机系统100可以包括地址/数据总线102,其被配置为传送信息。附加地,一个或多个数据处理单元,例如处理器104(或多个处理器),与地址/数据总线102耦合。处理器104被配置为处理信息和指令。在一个方面中,处理器104是微处理器或可以是控制器。可替代地,处理器104可以是不同类型的处理器,例如并行处理器、专用集成电路(ASIC)、可编程逻辑阵列(PLA)、复杂可编程逻辑器件(CPLD)或现场可编程门阵列(FPGA)。

分布式计算机系统100可配置为利用一个或多个数据存储单元。分布式计算机系统100可以包括与地址/数据总线102耦合的易失性存储器单元106(例如,随机存取存储器(“RAM”)、静态RAM、动态RAM等),其中易失性存储器单元106被配置为存储用于处理器104的信息和指令。分布式计算机系统100还可以包括与地址/数据总线102耦合的非易失性存储器单元108(例如,只读存储器(“ROM”)、可编程ROM(“PROM”)、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪速存储器等),其中非易失性存储器单元108被配置为存储用于处理器104的静态信息和指令。可替代地,分布式计算机系统100可以执行从诸如“云”计算中的在线数据存储单元检索的指令。在一个方面中,分布式计算机系统100还可以包括与地址/数据总线102耦合的一个或多个接口,例如接口110。一个或多个接口被配置成使分布式计算机系统100能够与其他电子设备和计算机系统对接。由一个或多个接口实现的通信接口可以包括有线(例如,串行电缆、调制解调器、网络适配器等)和/或无线(例如,无线调制解调器、无线网络适配器等)通信技术。

在一个方面,分布式计算机系统100可以包括与地址/数据总线102耦合的输入设备112,其中输入设备112被配置为将信息和命令选择传送给处理器100。根据一个方面,输入设备112是字母数字输入设备,例如键盘,其可以包括字母数字键和/或功能键。可替代地,输入设备112可以是字母数字输入设备以外的输入设备。在一个方面中,分布式计算机系统100可以包括与地址/数据总线102耦合的光标控制设备114,其中光标控制设备114被配置为向处理器100传送用户输入信息和/或命令选择。在一个方面中,使用诸如鼠标、跟踪球、跟踪垫、光学跟踪设备或触摸屏的设备来实现光标控制设备114。尽管如此,在一个方面中,光标控制设备114经由来自输入设备112的输入被引导和/或激活,例如响应于与输入设备112相关联的特殊键和键序列命令的使用而被引导和/或激活。在可替代方面中,光标控制设备114被配置为由语音命令引导或指导。

在一个方面中,分布式计算机系统100还可以包括与地址/数据总线102耦合的一个或多个可选的计算机可用数据存储设备,例如存储设备116。存储设备116被配置为存储信息和/或计算机可执行指令。在一个方面中,存储设备116是诸如磁盘或光盘驱动器(例如,硬盘驱动器(“HDD”)、软盘、致密盘只读存储器(“CD-ROM”)、数字多功能盘(“DVD”))之类的存储设备。根据一个方面,显示设备118与地址/数据总线102耦合,其中显示设备118被配置为显示视频和/或图形。在一个方面中,显示设备118可包括阴极射线管(“CRT”)、液晶显示器(“LCD”)、场发射显示器(“FED”)、等离子显示器,或适于显示用户可识别的视频和/或图形图像及字母数字字符的任何其他显示设备。

本文呈现的分布式计算机系统100是根据一个方面的示例计算环境。然而,分布式计算机系统100的非限制性示例并不严格限于作为分布式计算机系统。例如,一个方面规定,计算机系统100表示可根据本文描述的各个方面使用的数据处理分析的类型。此外,还可以实现其他计算系统。事实上,目前技术的精神和范围并不限于任何单一或双重数据处理环境。因此,在一个方面中,使用由一个或多个计算机执行的计算机可执行指令(例如程序模块)来控制或实现本技术的各个方面的一个或多个操作。在一种实现中,此类程序模块包括被配置为执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件和/或数据结构。此外,一个方面规定,通过利用一个或多个分布式计算环境来实现本技术的一个或多个方面,例如,其中任务由通过通信网络链接的远程处理设备执行,或者例如,其中各种程序模块位于本地和远程计算机存储介质(包括存储器存储设备)中。

分布式计算系统100可以包括通信设备130,例如收发器,用于与各种设备和远程服务器(例如位于云140上的设备和远程服务器)通信。通信设备130可以传送各种数据和信息,以允许对各种数据和信息进行分布式处理。因此,计算操作中可能涉及多个处理器。此外,通信设备130还可以与附近的其他设备通信,例如其他计算机(包括分布式网络系统上的计算机)、移动设备等。

图2示出了利用AES-BD方法的逆的单个Sbox计算的示例流程图。AES通常可以包括10轮128比特密钥。在一个实施例中,系统每轮可进行16个Sbox计算。因此,在这样的实施例中,对于AES-128可以有160个计算,或者对于AES-192可以有16*12=192个计算,或者对于AES-256可以有16*14=224个计算。取决于所使用的方法,S-box计算可能需要某些操作,这些操作可分类为三种不同类型:(1)用于使秘密值公共可获得的揭露,(2)嵌入值的比特分解(称为BDEmbed),以及(3)两个秘密值的乘法(称为mult)。这些原子操作中的每一个可以利用通过使用(用于在离线阶段计算并在在线阶段之前存储的辅助数据的)一些存储装置进行通信来运行。存储装置可以是任何类型的存储器、硬盘驱动器等。取决于底层计算平台中的计算资源,每轮16个SBox计算中的一个或多个可以并行执行。

关于揭露,它可以不利用任何存储的数据。理论上,为了揭露一个秘密GF(2

关于BDEmbed,它可以利用元组

关于mult,它可以利用Beaver公式。因此,存储是数据元组,例如30字节(3*80比特),并且通信用于揭露两个元素,所述元素是每个角色(player)和每个操作20字节。

系统可以在表格中提供这三个功能的理论和实践要求,诸如下面的表1中的要求。

表1可以利用理论上(左侧)三个功能的存储(使用所需的元组进行度量)和通信要求以及实践中100次运行上平均(右侧)的运行时间和通信要求。如表1所示,下面报告的图是针对每个角色的。

表1:

对于Sbox计算,系统可以单独地对离线阶段和在线阶段中的操作进行分类。对于离线操作,系统可能希望确定生成在线阶段所需内容所需的通信复杂度。离线阶段可能需要在在线阶段之前将所有准备好的数据传送给参与者。

对于在线操作,可能要关注三个方面:(1)计算复杂度(其随着通信要求或操作数量的增加而增加);(2)在在线阶段之前从离线阶段传送的数据存储,以及在在线阶段期间消耗的数据存储;(3)可分为两部分的通信复杂度:(a)数据交换量和(b)往返次数。系统可以进行单独的操作,因为对于编译器而言理解以下方面可能是非常关键的:在一次往返中传输1M字节的数据将比用100轮传输10K字节的数据好得多。

注意,存储可以作为单个单元来度量,例如按照字节来度量。另一方面,通信可以用往返次数或通信量来度量。在实践中,区分这二者是重要的,因为无论数据量是多少,对于每次往返都会有通信开销(诸如TCP/IP报头等)。在实践中,一次往返传输1G字节数据可以比1000次往返每次传输10K字节数据要好得多。事实上,编译器的实现方式对于此类计算和点非常关键。这是因为优化往返可以非常巧妙地完成。一个示例是连续和独立的操作。如果编译器理解它需要独立地执行若干次比特分解,那么它可以使用单次往返来组合所有数据量进行通信。如果编译器没有有效地完成,则系统仍可以在实现中执行此优化以帮助编译器。然而,理论上,系统可以报告往返次数以进行精确比较,以及报告通信量。在一个实施例中,由于往返通信对有效运行时间有显著影响,因此编程人员谨慎地优化往返通信可能是有益的。

下面的分析通过将单个Sbox的复杂度乘以160(每轮有16个Sbox计算,并且AES-128中有10轮,因此16*10=160),示出了完整AES的存储、往返和通信复杂度的量。然而,在其他实施例中,可以用用于独立Sbox计算(所有内部状态独立地通过Sbox)的16个并行通信来实现AES,因此使用十分之一的往返次数。这种并行性将不会改变要传输的存储或数据量。

协议描述可以与Sbox计算有关。因此,其他层的其余计算可以有最小或没有效率瓶颈来实现线性层,例如ShiftRows、MixColumns、AddRoundKey。该方法可以利用AES-BD算术电路。这种方法可以利用以下事实:秘密状态

算法1可以描述AES-BD中输入

该方法还可以包括离线阶段。系统可能需要为一个Sbox生成16个随机比特和6个元组。对于完整AES,它是2560个随机比特和960个元组。还可以利用在线阶段。在线阶段中利用的存储可用于可能需要秘密乘法和比特分解中的比特的元组。由于每个Sbox有6个乘法,系统可以存储6*30字节用于乘法。此外,由于二比特分解,系统可能需要存储160字节(请参阅表1)。对于单个Sbox,该协议存储340字节。对于完整AES,它为每个角色存储54.4K字节。AES-BD中的一个Sbox操作可能需要5次往返通信。一个完整的AES块可能需要800次往返。在5次往返通信中,2次每次消耗10字节,并且3次往返消耗120字节(120=20*3+20*2+20*1)。每个Sbox总共可以利用140字节的通信。对于完整AES,数据通信可以是140*160字节=20.8K字节。

当在无MPC计算的情况下通过查表计算AES时,表示Sbox置换的表可以是公共可获得的。这样的查找由密钥所有者安全地进行,密钥所有者可以具有所有内部状态的知识。另一方面,在MPC中,内部状态以及秘密密钥是分布在参与者之间的秘密。因此,在公共可获得的表上查找秘密状态可能不起作用。AES-LT使用的想法是在离线阶段生成对(

Sbox计算可能需要一个对(

在离线阶段期间,系统可能需要为AES的块准备160个掩蔽表,该块在离线阶段期间需要48K字节的通信。在一个实施例中,将160个表传送到在线阶段,该方法可能需要每个参与者410K字节的通信。

在在线阶段期间,系统可能需要存储一定数量的数据、进行往返和通信。对于每个Sbox/子字节操作,系统的协议可能需要一个掩蔽表。每个表可以具有GF(2

系统可通过将单个Sbox往返要求乘以160来计算完整AES块的往返时间。在各种实施例中,可以优化这样的过程。然而,对于AES的一轮,可以计算16个独立的Sbox。如果系统可以使编译器将用于独立SBox的往返合并到同一行程,那么通过乘以10来对往返时间计数将是足够的。系统可针对AES的每轮中的所有16个Sbox进行一次往返。

表2:在三种方法情况下针对AES的完整块的存储、往返和通信要求

图2示出了利用AES-BD方法的逆的单个Sbox计算的示例流程图。图2可以提供关于系统可以提出作为一组新的操作模式的协议的实施例和描述的细节。为了处理长于AES块的数据,系统可以利用这种操作模式。有不同的模式,诸如ECB、CBC以及其他有点特殊的模式,因为它们模拟流密码,诸如CTR(计数器模式)、CFB或OFB。CTR、CFB和OFB的特殊之处在于,加密和解密操作可以只使用前向AES变换,因为M xor K xor K=M,所以AES变换为每个M生成K。因此,为了解密,只需重新创建K。因此,系统可以在非常微妙的变化中利用具有后向AES转换的CTR、CFB或OFB,但由于下面解释的优化它可以不影响安全性。

首先,在下面描述的算法3中,在一个实施例中,系统可以公开逆AES中的逆Sbox计算。在203,系统可以接收输入数据。在算法的步骤1和流程图的步骤205中,系统可以一次性地对嵌入输入状态应用比特分解。比特合成对于计算在算法步骤2和流程图步骤207中操作的后向仿射变换可以是重要的。来自步骤2的输出仍然可以是比特分解值,因此系统可以通过使用7个线性变换来计算步骤3和流程图步骤207中的状态的幂。来自步骤3的输出现在可以是GF(2

算法1和算法3之间的差异之一来自于以下事实:当系统反转计算顺序时,系统可以在算法3中的开始处(步骤1)以一个单比特分解进行这些计算。在前向AES中,系统可以首先计算输入的逆(算法1中的步骤3),其是合成值。因此,系统必须再应用一次比特分解(算法1中的步骤4)来计算前向Sbox仿射变换。因此,逆AES可以节省1.6K字节的数据,以及在计算中节省一次比特分解,从而增加处理效率。

通过应用少一次的比特分解,系统可以节省计算和通信复杂度二者。然而,系统可能会观察到,线性操作可以集成在一起,以进一步改进计算复杂度。实际上,系统可以通过使用一些步骤的集成来实现算法3中的协议。更具体地说,系统可以将步骤2和3中的计算集成到预先计算的变量中。系统可以为所有Sbox(例如,置换盒计算)一次生成这样的预先计算的值,然后通过跳过步骤2和步骤3也执行与预先计算的值的乘法(在步骤4中给出)。这样做的唯一原因是,步骤2和步骤3是仿射变换和线性变换,它们一个接一个地操作。这在计算复杂度方面给了我们显著的优势。如下所示,系统可以将前向AES和逆AES与算法表3中的算法4(以及算法6中给出的进一步优化的存储和通信协议)中给出的合并进行比较。对于其利用算法3的逆,前向AES可以加快3倍。

上面算法3和图2中描述的系统和方法的性能被优化。对于秘密状态

注意,幂在矩阵操作外部的交换归因于线性。

系统还可以计算GF(2

系统可以计算GF(2

(1)ApplyBDEmbed是这样的函数,它可以取得表示GF(2

(2) BDEmbed是这样的函数,它可以取得GF(2

对于输入

(3)InverseBDEmbed是这样的函数,它取得GF(2

为了理解BDEmbed和InverseBDEmbed之间的区别,利用以下示例:令

对于完整的算法,系统可以进行等式2中给出的计算,并将所有步骤变换为嵌入格式。算法4中给出了完整算法的示例。在步骤1中,在嵌入C

等式的最后一部分是由于操作的线性。由于

以下是算法4中给出的逆AES协议的进一步优化技术的实施例。本实施例关注子字节层。这种技术可能需要在离线阶段中计算的特殊元组。

这种优化的思想来源于以下事实:当有限域是二进制时,则比特分解结果是线性操作(与具有(奇数)素数特性的有限域相反)。这使我们有机会从执行比特分解的开始就开始集成步骤。算法6如下所示:

图3示出了逆AES协议的Sbox计算的另一个实施例的示例流程图。在流程图的步骤301,系统可以接收秘密输入状态。在步骤303,系统还可以接收预先计算的元组,该元组可以在离线阶段期间预先计算。在算法6的步骤1中,可以观察到有13个秘密GF(2

因此,对于使用算法6的完整优化的单个Sbox计算,可能花费130字节的存储、6次往返和60字节的通信,这与算法4相比的260字节存储、13次往返和130字节的通信形成对比。系统可以按照算法表3中给出的完整AES实现。实际上,算法6的通信和存储要求可以比算法4少一半。

将算法6与AES-LT相比,可以举例说明,用于AES-LT的存储是协议所需的存储的20倍,尽管AES-LT的运行时间快一倍,并且通信要求为五分之一。然而,系统可能需要传送存储数据以运行离线阶段。因此,这样的改进可以是显著的。

表3:与前向AES相比的逆AES的全部块的存储、往返和通信要求:

出于多个有益的原因,可以使用上述系统和方法。例如,此类实施例可导致各种计算机和服务器中的存储减少。类似地,实施例可导致执行此类计算的处理器上的较少能量消耗。此外,这些实施例可导致利用这种密码技术的各种计算机和服务器中的存储器减少。因此,这样做有多种技术益处。

本文公开的过程、方法或算法可交付给处理设备、控制器或计算机,或由其实现,该处理设备、控制器或计算机可包括任何现有的可编程电子控制单元或专用电子控制单元。类似地,所述过程、方法或算法可以以多种形式存储为控制器或计算机可执行的数据和指令,包括但不限于永久存储在诸如ROM设备之类的不可写存储介质上的信息,以及可变存储在诸如软盘、磁带、CD、RAM设备以及其他磁性和光学介质的可写存储介质上的信息。这些过程、方法或算法也可以在软件可执行对象中实现。可替代地,可以使用合适的硬件组件(例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、状态机、控制器或其他硬件组件或设备)或硬件、软件和固件组件的组合,来整体或部分地体现这些过程、方法或算法。

尽管上文描述了示例性实施例,但这些实施例并不打算描述权利要求所涵盖的所有可能形式。说明书中使用的词语是描述性词语而非限制性词语,并且应当理解,可以在不偏离本公开的精神和范围的情况下进行各种更改。如前所述,各种实施例的特征可以组合以形成本发明的另外实施例,这些实施例可能没有明确描述或说明。虽然各种实施例可能已经被描述为在一个或多个期望特性方面提供优势或优于其他实施例或现有技术实现,但是本领域的普通技术人员认识到,一个或多个特征或特性可以被折中以实现所期望的总体系统属性,这取决于具体的应用和实现。这些属性包括但不限于成本、强度、耐用性、寿命周期成本、适销性、外观、包装、尺寸、适用性、重量、可制造性、易装配性等。照此,就任何实施例关于一个或多个特性被描述为不如其他实施例或现有技术实现合乎期望而言,这些实施例不在本公开的范围之外,并且对于特定应用可能是合乎期望的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号