RETURN-ORIENTED PROGRAMMING AS AN OBFUSCATION TECHNIQUE
    2.
    发明申请
    RETURN-ORIENTED PROGRAMMING AS AN OBFUSCATION TECHNIQUE 有权
    面向方面的面向对象编程作为一种障碍技术

    公开(公告)号:US20150324585A1

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

    申请号:US14270558

    申请日:2014-05-06

    Applicant: NXP B.V.

    Abstract: A method for obfuscating functionality of computer software is disclosed. In an embodiment, the method involves determining a first set of instructions needed to perform a target operation and a second set of instructions for at least one or more additional operations. The second set of instructions is tuned to contain instructions such that, by executing the second set of instructions, the function of the first set of instructions can be performed. Once the first and second sets of instruction are determined and tuned, a code library is created and code fragments in the library correspond to code needed to perform the function of the first set of instructions when executed. Instructions are then added to the second set of instructions such that, when executed, will cause the functionality of the first set of instructions to be achieved.

    Abstract translation: 公开了一种用于模糊计算机软件功能的方法。 在一个实施例中,该方法包括确定执行目标操作所需的第一组指令和用于至少一个或多个附加操作的第二组指令。 调整第二组指令以包含指令,使得通过执行第二组指令,可以执行第一组指令的功能。 一旦确定和调整了第一组和第二组指令,就会创建一个代码库,并且库中的代码片段与执行第一组指令的功能所需的代码相对应。 然后将指令添加到第二组指令中,使得当被执行时,将导致实现第一组指令的功能。

    METHOD OF OBFUSCATING A CODE
    6.
    发明申请
    METHOD OF OBFUSCATING A CODE 有权
    OBFUSCAING代码的方法

    公开(公告)号:US20170024331A1

    公开(公告)日:2017-01-26

    申请号:US15289164

    申请日:2016-10-08

    Applicant: NXP B.V.

    Abstract: A method of obfuscating a code is provided, wherein the method comprises performing a first level obfuscating technique on a code to generate a first obfuscated code, and performing a second level obfuscating technique on the first obfuscated code. In particular, the code may be a software code or a software module. Furthermore, the first level obfuscating technique and the second obfuscating may be different. In particular, the second level obfuscating technique may perform a deobfuscation.

    Abstract translation: 提供了一种混淆代码的方法,其中所述方法包括对代码执行第一级混淆技术以产生第一混淆代码,以及对所述第一混淆代码执行第二级混淆技术。 特别地,代码可以是软件代码或软件模块。 此外,第一级混淆技术和第二混淆可以是不同的。 特别地,第二级混淆技术可以执行去混淆。

    SECURE SOFTWARE COMPNENTS ANTI-REVERSE-ENGINEERING BY TABLE INTERLEAVING
    7.
    发明申请
    SECURE SOFTWARE COMPNENTS ANTI-REVERSE-ENGINEERING BY TABLE INTERLEAVING 有权
    安全软件组件通过表交互进行反向工程

    公开(公告)号:US20150186627A1

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

    申请号:US14140938

    申请日:2013-12-26

    Applicant: NXP B.V.

    CPC classification number: G06F21/14 G06F2221/0748 H04L9/002 H04L2209/16

    Abstract: A method of securely implementing functions in a secure software application, including: determining, by a processor, two functions to be implemented by the secure software application; generating a first function lookup table; encrypting the first function lookup table; sorting the first function lookup table by encrypted operand; generating a second function lookup table; encrypting the second function lookup table; sorting the second function lookup table by encrypted operand; generating a flattened lookup table from a combination of the encrypted first and second function lookup tables; permutating the flattened table indices e.g. by use of public key cryptography encryption; and sorting the flattened table by the permutated flattened table indices.

    Abstract translation: 一种在安全软件应用程序中安全地执行功能的方法,包括:由处理器确定由安全软件应用程序实现的两个功能; 生成第一个函数查找表; 加密第一个功能查找表; 通过加密操作数排序第一个函数查找表; 生成第二函数查找表; 加密第二函数查找表; 通过加密操作数排序第二个函数查找表; 从加密的第一和第二功能查找表的组合生成扁平化查找表; 排列平整的表格索引,例如 通过使用公钥密码加密; 并通过置换的平坦表索引对平坦化表进行排序。

    WIDE ENCODING OF INTERMEDIATE VALUES WITHIN A WHITE-BOX IMPLEMENTATION

    公开(公告)号:US20170180119A1

    公开(公告)日:2017-06-22

    申请号:US14971851

    申请日:2015-12-16

    Applicant: NXP B.V.

    Abstract: A method for a method for mapping an input message to an output message by a keyed cryptographic operation in a cryptographic system, the keyed cryptographic operation including a plurality of substitution layers and state data, including: mapping the input message to first state data in a first substitution layer of the keyed cryptographic operation, wherein the first substitution layer includes N basic blocks that implement the first substitution layer and wherein a non-linear encoding having a first size is placed on the inputs and outputs of the N basic blocks of the first substitution layer, where N is an integer; mapping the first state data to second state data in a plurality of intermediate substitution layers of the keyed cryptographic operation, wherein the intermediate substitution layers include M blocks that implement the intermediate substitution layers and wherein a plurality of non-linear encodings having a second size are placed on the inputs and outputs of the M basic blocks of the intermediate substitution layers, where M is an integer; and mapping the second state data to an output message in a final substitution layer of the keyed cryptographic operation, wherein the final substitution layer includes K basic blocks that implement the final substitution layer and wherein a non-linear encoding having a third size is placed on the inputs and outputs of the K basic blocks of the final substitution layer, where K is an integer, wherein the first and second size is greater than the second size, wherein N>M, and wherein K>M.

    Secure software components anti-reverse-engineering by table interleaving
    9.
    发明授权
    Secure software components anti-reverse-engineering by table interleaving 有权
    安全软件组件通过表交错反向工程

    公开(公告)号:US09576116B2

    公开(公告)日:2017-02-21

    申请号:US14140938

    申请日:2013-12-26

    Applicant: NXP B.V.

    CPC classification number: G06F21/14 G06F2221/0748 H04L9/002 H04L2209/16

    Abstract: A method of securely implementing functions in a secure software application, including: determining, by a processor, two functions to be implemented by the secure software application; generating a first function lookup table; encrypting the first function lookup table; sorting the first function lookup table by encrypted operand; generating a second function lookup table; encrypting the second function lookup table; sorting the second function lookup table by encrypted operand; generating a flattened lookup table from a combination of the encrypted first and second function lookup tables; permutating the flattened table indices e.g. by use of public key cryptography encryption; and sorting the flattened table by the permutated flattened table indices.

    Abstract translation: 一种在安全软件应用程序中安全地执行功能的方法,包括:由处理器确定由安全软件应用程序实现的两个功能; 生成第一个函数查找表; 加密第一个功能查找表; 通过加密操作数排序第一个函数查找表; 生成第二函数查找表; 加密第二函数查找表; 通过加密操作数排序第二个函数查找表; 从加密的第一和第二功能查找表的组合生成扁平化查找表; 排列平整的表格索引,例如 通过使用公钥密码加密; 并通过置换的平坦表索引对平坦化表进行排序。

    Return-oriented programming as an obfuscation technique
    10.
    发明授权
    Return-oriented programming as an obfuscation technique 有权
    回归型编程作为一种混淆技术

    公开(公告)号:US09411597B2

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

    申请号:US14270558

    申请日:2014-05-06

    Applicant: NXP B.V.

    Abstract: A method for obfuscating functionality of computer software is disclosed. In an embodiment, the method involves determining a first set of instructions needed to perform a target operation and a second set of instructions for at least one or more additional operations. The second set of instructions is tuned to contain instructions such that, by executing the second set of instructions, the function of the first set of instructions can be performed. Once the first and second sets of instruction are determined and tuned, a code library is created and code fragments in the library correspond to code needed to perform the function of the first set of instructions when executed. Instructions are then added to the second set of instructions such that, when executed, will cause the functionality of the first set of instructions to be achieved.

    Abstract translation: 公开了一种用于模糊计算机软件功能的方法。 在一个实施例中,该方法包括确定执行目标操作所需的第一组指令和用于至少一个或多个附加操作的第二组指令。 调整第二组指令以包含指令,使得通过执行第二组指令,可以执行第一组指令的功能。 一旦确定和调整了第一组和第二组指令,就会创建一个代码库,并且库中的代码片段与执行第一组指令的功能所需的代码相对应。 然后将指令添加到第二组指令中,使得当被执行时,将导致实现第一组指令的功能。

Patent Agency Ranking