用共享随机比特进行掩码的制作方法_4

文档序号:9332644阅读:来源:国知局
askedAnd操作可被实现为交互算法。作为非限制性示例,给定输入:比特 a[t+l], b[t+l]和比特RB[t+l] [t];期望的输出:比特out[t+l]可通过以下交互来获得:
[0064] 算法采用输入(a)和(b),可被分成针对被t阶掩码的AES算法的(t+1)个共 享。输入通过方法400或类似方法用被分配给AND操作的[t+l][t]随机比特来进行掩码。 MaskedAnd操作输出(t+Ι)值,其可用作另一函数或操作的输入。
[0065] 图5A示出了 2阶掩码的MaskedAnd操作500。在此示例中,输入510 (a)和515 (b) 已经被分成3个共享(分别a^a^ajP b ^bpb2)。操作产生3个输出值520 (out。、OUtjPI out2),每个输出值由一堆随机比特来掩码。随机比特通过方法400被分配给MaskedAnd操 作,并且可被表示为图3中所述的矩阵的元素。在所示的示例中,矩阵R。的元素315被分 配到 MaskedAnd 操作 500。如图 5A 所示,输出(out。)是 3。、31、32、13。、131、132、1^。和1^ 3的函 数。输出(out。)是ai、a2、V b2、RB。和RB 4的函数。输出(out。)是a2、b2、RB3和RB 4的函 数。
[0066] 图5B示出了用示例输入值实现的MaskedAnd操作525。在此示例中,输入530 (输 入a)包括值a。= 0、a i= 0和a 2= 1,而输出535 (输入b)包括值b。= Ihb1= 1和b 2= 〇。 如图3所示,矩阵R。的元素315包括随机分配的值(0, 0)、(0, 1)和(0, 1)。这个MaskedAnd 操作的输出540可因此为out。= 1、out丨=0和out 2= 1〇
[0067] 在此描述的掩码方法和过程可被绑定到计算机器。具体地,这样的方法和过程可 被实现为数字逻辑门网络、计算机应用程序或服务、应用编程接口(API)、库和/或其他计 算机程序产品。
[0068] 例如,图6示意性地示出了可以执行在此描述的掩码方法和过程的计算系统600 的非限制性实施例。以简化形式示出了计算系统600。计算系统600可采取以下形式:数 字逻辑门的网络、一个或多个集成电路、一个或多个个人计算机、服务器计算机、平板计算 机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能 电话)和/或其他计算设备。
[0069] 计算系统600包括逻辑机610和存储机620。如图6所示,逻辑机器610和存储机 器620可分别地或联合地允许配置用于机器生成随机比特的随机数生成模块630和/或配 置用于机器掩码非线性逻辑操作的掩码模块640,如上所述。
[0070] 逻辑机610包括被配置成执行指令的一个或多个物理设备。例如,逻辑机可被配 置为执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组 件、数据结构、或其它逻辑构造。这些指令可被实现为执行任务、实现数据类型、变换一个或 多个组件的状态、取得技术效果或以其他方式得到所期望的结果。
[0071] 逻辑机可包括被配置成执行软件指令的一个或多个处理器。作为补充或替换,逻 辑机可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机(例如,被硬连 接用于实施期望的算法的数字逻辑门的网络)。逻辑机的处理器可以是单核或多核,且在其 上执行的指令可被配置为串行、并行和/或分布式处理。逻辑机的各个组件可任选地分布 在两个或更多单独设备上,这些设备可以位于远程和/或被配置成进行协同处理。逻辑机 的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。
[0072] 存储机620包括被配置成保存可由逻辑机执行以实现此处所述的方法和过程的 指令的一个或多个物理设备。在实现这些方法和过程时,可以变换存储机620的状态(例 如,保存不同的数据)。
[0073] 可以理解,存储机620包括一个或多个物理设备。然而,本文描述的指令的各方面 可另选地通过不由物理设备在有限时长内持有的通信介质(例如,电磁信号、光信号等)来 传播。
[0074] 逻辑机610和存储机620的各方面可被一起集成到一个或多个硬件逻辑组件 中。这些硬件逻辑组件可包括例如现场可编程门阵列(FPGA)、程序和应用专用的集成电路 (PASIC/ASIC)、程序和应用专用的标准产品(PSSP/ASSP)、片上系统(SOC)以及复杂可编程 逻辑器件(CPLD)。
[0075] 应该理解,此处所述的配置和/或方法在本质上示例性的,且这些具体实施例或 示例不是局限性的,因为众多变体是可能。此处所述的具体例程或方法可表示任何数量的 处理策略中的一个或多个。由此,所示出和/或描述的各个动作可以按所示出和/或描述 的顺序、按其他顺序、并行执行或者被忽略。同样,可以改变上述过程的次序。
[0076] 本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和 /或特性、以及其任何和全部等效方案的所有新颖和非显而易见的组合和子组合。
【主权项】
1. 一种用于将包括多个非线性逻辑操作的非线性变换掩码到二阶或更高阶的方法,所 述方法包括: 接收随机比特;以及 用所述随机比特对多个非线性逻辑操作的两个或更多个进行机器掩码。2. 如权利要求1所述的方法,其特征在于,所述随机比特是随机比特集合中的一个,并 且其中每个不同非线性逻辑操作被取自所述随机比特集合的两个或多个随机比特的不同 子集掩码。3. 如权利要求2所述的方法,其特征在于,没有用于对非线性逻辑操作进行掩码的随 机比特子集包括仅在互相共享一随机比特的随机比特的任何两个其它唯一子集中找到的 随机比特。4. 如权利要求2所述的方法,其特征在于,用于对非线性逻辑操作进行掩码的随机比 特子集包括仅在互相共享一随机比特的随机比特的任何两个其它唯一子集中找到的随机 比特,并且其中没有直接线性操作使用被那两个随机比特的其它唯一子集随机化的经掩码 的值。5. -种存储指令的存储机,所述指令由逻辑机执行以执行掩码到t阶的非线性变换, 所述非线性变换包括: M个非线性逻辑操作,每个非线性逻辑操作使用c或更多个随机比特案来掩码那个非 线性操作,其中用于掩码M个非线性逻辑操作的总共P个随机比特小于c X M,其中t、c和 M是大于1的整数。6. 如权利要求5所述的存储机,其特征在于,c = (t* (t+1)/2)。7. 如权利要求5所述的存储机,其特征在于,t = 2且M = 36。8. 如权利要求7所述的存储机,其特征在于,P = 16。9. 一种数字逻辑门网络,执行2阶掩码的高级加密标准加密或解密,包括包含选自包 括GF (2)乘法、GF (22)乘法和GF (24)乘法的一个组的多个操作的子字节转换,所述加密或 解密包括: 接收随机比特集合;以及 用来自所述随机比特集合的相同随机比特对所述多个操作的两个或更多个进行掩码。10. 如权利要求9所述的数字逻辑门网络,其中所述加密或解密还包括利用c或更多个 所述随机比特的不同子集来对所述多个操作的每一个进行掩码,其中c是大于1的整数。
【专利摘要】包括多个非线性逻辑操作的非线性变换被掩码到二阶或更高阶。掩码包括接收随机比特集合,并用来自该随机比特集合的相同随机比特对多个非线性逻辑操作的两个或更多个进行机器掩码。
【IPC分类】H04L9/06, G06F7/72
【公开号】CN105051677
【申请号】CN201380065629
【发明人】Z·陈, J·S·福勒
【申请人】微软技术许可有限责任公司
【公开日】2015年11月11日
【申请日】2013年12月12日
【公告号】EP2932372A1, US9143325, US20140169553, WO2014093708A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1