Software protection using data structures
    2.
    发明授权
    Software protection using data structures 有权
    使用数据结构进行软件保护

    公开(公告)号:US07975149B2

    公开(公告)日:2011-07-05

    申请号:US11428190

    申请日:2006-06-30

    摘要: Software protection using data structures is described. In one implementation, an engine between the processor and the memory of a computing device encrypts and stores data and program variables in blocks of memory that correspond to nodes of a tree-like data structure. When accessed, the nodes of this search tree are rearranged according to various schemata to obscure memory access patterns from being detected by cache attacks or side-channel attacks. In one implementation, the data structure is a splay tree that self-rearranges upon access and increases efficiency while providing security.

    摘要翻译: 描述使用数据结构的软件保护。 在一个实现中,处理器和计算设备的存储器之间的引擎将对应于树状数据结构的节点的数据块和程序变量加密并存储在存储器块中。 当访问时,根据各种模式重新排列该搜索树的节点,以掩盖由高速缓存攻击或侧向信道攻击检测到的存储器访问模式。 在一个实现中,数据结构是一个显示树,在访问时自我重新排列,并在提供安全性的同时提高效率。

    Cryptographic pairing-based short signature generation and verification
    4.
    发明授权
    Cryptographic pairing-based short signature generation and verification 有权
    基于加密配对的短签名生成和验证

    公开(公告)号:US07587605B1

    公开(公告)日:2009-09-08

    申请号:US10804835

    申请日:2004-03-19

    IPC分类号: H04L9/16 H04L9/28

    摘要: In at least one implementation, described herein, P and Q1, . . . , Qn are public points on an elliptic curve over a finite field, but the ratios of Qi to P are private. Those ratios are the components (α1, . . . , αn) of a private key, where Qi=αi P. This implementation generates short digital ciphers (i.e., signatures), at least in part, by mapping a message M to a point T on the elliptic curve and then scaling that point T based upon the private key α to get S. At least one other implementation, described herein, verifies those ciphers by comparing pairing values of two pairs, where one pair is the public point P and the scaled point S and another pair is public Q and the point T. This implementation tests whether log(Q)/log(P)=log(S)/log(T), without computing any elliptic curve discrete logarithm directly.

    摘要翻译: 在这里描述的至少一个实施例中,P和Q1。 。 。 Qn是有限域上的椭圆曲线上的公共点,但是Qi与P之比是私有的。 这些比率是私钥的组件(alpha1,...,alphan),其中Qi = alphai P.该实现至少部分地通过将消息M映射到点来生成短数字密码(即,签名) T在椭圆曲线上,然后基于获得S的私钥α对该点T进行缩放。本文描述的至少一个其他实现通过比较两对的配对值来验证那些密码,其中一对是公共点P和 缩放点S和另一对是公共Q和点T.该实现测试log(Q)/ log(P)= log(S)/ log(T),而不直接计算任何椭圆曲线离散对数。

    Software Protection Using Data Structures
    5.
    发明申请
    Software Protection Using Data Structures 有权
    使用数据结构的软件保护

    公开(公告)号:US20080022102A1

    公开(公告)日:2008-01-24

    申请号:US11428190

    申请日:2006-06-30

    IPC分类号: H04L9/00

    摘要: Software protection using data structures is described. In one implementation, an engine between the processor and the memory of a computing device encrypts and stores data and program variables in blocks of memory that correspond to nodes of a tree-like data structure. When accessed, the nodes of this search tree are rearranged according to various schemata to obscure memory access patterns from being detected by cache attacks or side-channel attacks. In one implementation, the data structure is a splay tree that self-rearranges upon access and increases efficiency while providing security.

    摘要翻译: 描述使用数据结构的软件保护。 在一个实现中,处理器和计算设备的存储器之间的引擎将对应于树状数据结构的节点的数据块和程序变量加密并存储在存储器块中。 当访问时,根据各种模式重新排列该搜索树的节点,以掩盖由高速缓存攻击或侧向信道攻击检测到的存储器访问模式。 在一个实现中,数据结构是一个显示树,在访问时自我重新排列,并在提供安全性的同时提高效率。

    Accelerating public-key cryptography by precomputing randomly generated
pairs
    6.
    发明授权
    Accelerating public-key cryptography by precomputing randomly generated pairs 失效
    通过预先计算随机生成的对来加速公钥密码术

    公开(公告)号:US6091819A

    公开(公告)日:2000-07-18

    申请号:US912251

    申请日:1997-08-15

    摘要: Fast methods for generating randomly distributed pairs of keys for use in public-key cryptography use a precomputation step to reduce the online task of discrete exponentiation with long integers. After the precomputation is completed, the online steps required to produce a key pair are reduced to a small number .kappa. (about 16) of modular multiplications with long integers. The key pairs are of the form (k, g.sup.k) or (k, k.sup.e) where the exponentiations are computed modulo a long number p, g and e are fixed integers, and k is randomly distributed modulo ord(g), where ord(g) is the smallest positive integer that satisfies g.sup.ord(g) modulo p=1. The complexity of doing the precomputation step is itself about n exponentiation and may be accelerated to the same as two exponentiations, but the precomputation step needs to be done only very infrequently. Under easily achieved conditions, an adversary cannot analyze enough key pairs to gain a significant advantage from the knowledge that the method is being used.

    摘要翻译: 用于生成用于公钥密码术的随机分布密钥对的快速方法使用预计算步骤来减少具有长整数的离散求幂的在线任务。 在预先计算完成之后,产生密钥对所需的在线步骤被减少到具有长整数的模数乘法的小数kappa(约16)。 密钥对具有形式(k,gk)或(k,ke),其中计算的幂是模数长数p,g和e是固定整数,k是随机分布的模ord(g),其中ord g)是满足gord(g)模p = 1的最小正整数。 执行预计算步骤的复杂度本身就是n取幂,并且可以被加速到与两个指数相同,但是预计算步骤仅需很少地进行。 在容易实现的条件下,对手无法分析足够的密钥对,从获得该方法的知识中获得显着的优势。