Performing boolean logic operations using arithmetic operations by code obfuscation
    1.
    发明授权
    Performing boolean logic operations using arithmetic operations by code obfuscation 有权
    使用代码混淆的算术运算执行布尔逻辑运算

    公开(公告)号:US08707053B2

    公开(公告)日:2014-04-22

    申请号:US13024258

    申请日:2011-02-09

    IPC分类号: G06F12/14

    CPC分类号: G06F21/14

    摘要: Method and apparatus for obfuscating computer software code, to protect against reverse-engineering of the code. The obfuscation here is of the part of the code that performs a Boolean logic operation such as an exclusive OR on two (or more) data variables. In the obfuscated code, each of the two variables is first modified by applying to it a function which deconstructs the value of each of the variables, and then the exclusive OR operation is replaced by an arithmetic operation such as addition, subtraction, or multiplication, which is performed on the two deconstructed variables. The non-obfuscated result is recovered by applying a third function to the value generated by the arithmetic operation. This obfuscation is typically carried out by suitably annotating (modifying) the original source code.

    摘要翻译: 用于模糊计算机软件代码的方法和装置,以防止代码的逆向工程化。 这里的混淆是执行布尔逻辑运算的代码的一部分,例如两个(或多个)数据变量上的异或运算。 在混淆代码中,首先通过对两个变量中的每一个进行修改来解构每个变量的值,然后通过诸如加法,减法或乘法的算术运算来代替异或运算, 这是对两个解构变量进行的。 通过对由算术运算产生的值应用第三函数来恢复未混淆的结果。 这种混淆通常通过适当地注释(修改)原始源代码来执行。

    Protecting states of a cryptographic process using group automorphisms
    5.
    发明授权
    Protecting states of a cryptographic process using group automorphisms 有权
    使用组自动化保护加密过程的状态

    公开(公告)号:US08504845B2

    公开(公告)日:2013-08-06

    申请号:US13076362

    申请日:2011-03-30

    IPC分类号: H04L9/28

    CPC分类号: G06F21/602 G06F21/52

    摘要: In the field of computer enabled cryptography, such as a keyed block cipher having a plurality of rounds, the cipher is hardened against an attack by a protection process which obscures the cipher states and/or the round keys using the properties of group field automorphisms and applying multiplicative masks (instead of conventional XOR masks) to the states of the cipher, for encryption or decryption. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful for protection against known attacks on “White Box” ciphers, by eliminating XOR operations with improved masking techniques and increasing complexity of reverse engineering and of attacks.

    摘要翻译: 在诸如具有多个回合的密钥分组密码的计算机启用密码学领域中,使用组域自动生成的属性,使密码状态和/或循环密钥隐藏的保护过程针对攻击进行加密, 将乘法掩码(而不是常规XOR掩码)应用于密码的状态,以进行加密或解密。 这在“白盒”环境中特别有利,攻击者可以完全访问密码算法,包括算法的执行过程中的内部状态。 该方法和相关联的计算装置对于通过利用改进的掩蔽技术消除XOR操作并增加逆向工程和攻击的复杂性来防止已知的对“白盒”密码的攻击是有用的。

    Protecting look up tables by mixing code and operations
    6.
    发明授权
    Protecting look up tables by mixing code and operations 有权
    通过混合代码和操作来保护查找表

    公开(公告)号:US09189425B2

    公开(公告)日:2015-11-17

    申请号:US13286117

    申请日:2011-10-31

    IPC分类号: G06F12/14 G09C1/00 H04L9/06

    摘要: In the field of computer enabled cryptography, such as a cipher using lookup tables, the cipher is hardened against an attack by a protection process which obscures the lookup tables using the properties of bijective functions and applying masks to the tables' input and output values, for encryption or decryption. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful for protection against known attacks on “White Box” ciphers, by obfuscating lookup table data, thereby increasing the cipher's complexity against reverse engineering and other attacks.

    摘要翻译: 在计算机启用密码学领域,例如使用查找表的密码,密码被针对使用双射函数的属性遮蔽查找表并且将掩码应用于表的输入和输出值的保护过程的攻击加强, 用于加密或解密。 这在“白盒”环境中特别有利,攻击者可以完全访问密码算法,包括算法的执行过程中的内部状态。 该方法和相关联的计算装置对于通过模糊查找表数据来防止对“白盒”密码的已知攻击是有用的,从而增加了对逆向工程和其他攻击的密码复杂性。

    Securing the implementation of a cryptographic process using key expansion
    7.
    发明授权
    Securing the implementation of a cryptographic process using key expansion 有权
    使用密钥扩展保护加密过程的实现

    公开(公告)号:US08966279B2

    公开(公告)日:2015-02-24

    申请号:US12975123

    申请日:2010-12-21

    IPC分类号: G06F12/14 H04L9/00 H04L9/06

    摘要: In the field of computer enabled cryptography, such as a keyed block cipher having a plurality of rounds, the cipher is hardened against an attack by protecting the cipher key by means of a key expansion process which obscures the cipher and/or the round keys by increasing their lengths to provide an expanded version of the keys for carrying out encryption or decryption using the cipher. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful where the key is derived through a process and so is unknown when the software code embodying the cipher is compiled. This is typically the case where there are many users of the cipher and each has his own key, or where each user session has its own key.

    摘要翻译: 在诸如具有多个回合的密钥分组密码的计算机启用密码学领域中,通过利用通过密钥扩展处理来保护密码密码来抵御攻击来加密密码,该密钥扩展过程掩盖了密码和/或循环密钥, 增加其长度以提供用于使用密码进行加密或解密的密钥的扩展版本。 这在“白盒”环境中特别有利,攻击者可以完全访问密码算法,包括算法的执行过程中的内部状态。 该方法和相关联的计算装置在通过过程导出密钥是有用的,并且当体现密码的软件代码被编译时是未知的。 通常情况下,密码的用户很多,每个用户都有自己的密钥,或者每个用户会话都有自己的密钥。

    Cryptographic process execution protecting an input value against attacks
    8.
    发明授权
    Cryptographic process execution protecting an input value against attacks 有权
    加密过程执行保护输入值免受攻击

    公开(公告)号:US08605894B2

    公开(公告)日:2013-12-10

    申请号:US13271841

    申请日:2011-10-12

    IPC分类号: G06F21/00 H04L9/06

    摘要: A cryptographic process (such as the AES cipher) which uses table look up operations (TLUs) is hardened against reverse engineering attacks intended to recover the table contents and thereby the cipher key. This hardening involves removing any one-to-one correspondence between the TLU inputs and outputs, by altering the output of the TLU dynamically, e.g. at each execution (call) of the TLU. This is done by increasing the size of the tables, applying a dynamically determined mask value to the table input and/or output, or using an inverse of the table.

    摘要翻译: 使用表查找操作(TLU)的加密过程(例如AES密码)被硬化以防止旨在恢复表内容和密码密钥的反向工程攻击。 这种硬化包括通过动态地改变TLU的输出来例如TLU输入和输出之间的一对一的对应关系。 在TLU的每次执行(调用)时。 这是通过增加表的大小,将动态确定的掩码值应用于表输入和/或输出,或使用表的倒数完成的。

    PROTECTING LOOK UP TABLES BY MIXING CODE AND OPERATIONS
    9.
    发明申请
    PROTECTING LOOK UP TABLES BY MIXING CODE AND OPERATIONS 有权
    通过混合代码和操作来保护表格

    公开(公告)号:US20130061061A1

    公开(公告)日:2013-03-07

    申请号:US13286117

    申请日:2011-10-31

    IPC分类号: G06F12/14

    摘要: In the field of computer enabled cryptography, such as a cipher using lookup tables, the cipher is hardened against an attack by a protection process which obscures the lookup tables using the properties of bijective functions and applying masks to the tables' input and output values, for encryption or decryption. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful for protection against known attacks on “White Box” ciphers, by obfuscating lookup table data, thereby increasing the cipher's complexity against reverse engineering and other attacks.

    摘要翻译: 在计算机启用密码学领域,例如使用查找表的密码,密码被针对使用双射函数的属性遮蔽查找表并且将掩码应用于表的输入和输出值的保护过程的攻击加强, 用于加密或解密。 这在白盒环境中特别有利,在这种情况下,攻击者可以完全访问密码算法,包括算法执行过程中的内部状态。 该方法和相关联的计算装置对于通过模糊查找表数据来防止对白盒密码的已知攻击是有用的,从而增加了对逆向工程和其他攻击的密码复杂性。

    SECURING KEYS OF A CIPHER USING PROPERTIES OF THE CIPHER PROCESS
    10.
    发明申请
    SECURING KEYS OF A CIPHER USING PROPERTIES OF THE CIPHER PROCESS 有权
    使用碳水化合物工艺的性质来保护油罐

    公开(公告)号:US20120155638A1

    公开(公告)日:2012-06-21

    申请号:US12972145

    申请日:2010-12-17

    IPC分类号: H04L9/28 H04L9/14

    摘要: In the field of computer enabled cryptography, such as a block cipher, the cipher is hardened against an attack by protecting the cipher key, by applying to it a predetermined linear permutation before using one key to encrypt or decrypt a message. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful where the key is derived through a process and so is unknown when the software code embodying the cipher is compiled. This is typically the case where there are many users of the cipher and each has his own key, or where each user session has its own key.

    摘要翻译: 在诸如分组密码的计算机启用的密码学领域中,通过在使用一个密钥加密或解密消息之前,通过保护加密密钥对其进行预定的线性置换,来抵御攻击而加密密码。 这在“白盒”环境中特别有利,攻击者可以完全访问密码算法,包括算法的执行过程中的内部状态。 该方法和相关联的计算装置在通过过程导出密钥是有用的,并且当体现密码的软件代码被编译时是未知的。 通常情况下,密码的用户很多,每个用户都有自己的密钥,或者每个用户会话都有自己的密钥。