CA2327911A1 - Obscuring functions in computer software - Google Patents

Obscuring functions in computer software Download PDF

Info

Publication number
CA2327911A1
CA2327911A1 CA002327911A CA2327911A CA2327911A1 CA 2327911 A1 CA2327911 A1 CA 2327911A1 CA 002327911 A CA002327911 A CA 002327911A CA 2327911 A CA2327911 A CA 2327911A CA 2327911 A1 CA2327911 A1 CA 2327911A1
Authority
CA
Canada
Prior art keywords
computer software
functions
obscuring
software
concatenating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002327911A
Other languages
French (fr)
Inventor
Harold J. Johnson
Stanley T. Chow
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloakware Corp
Original Assignee
Cloakware Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloakware Corp filed Critical Cloakware Corp
Priority to CA002327911A priority Critical patent/CA2327911A1/en
Priority to CA002431443A priority patent/CA2431443A1/en
Priority to US10/433,966 priority patent/US7397916B2/en
Priority to EP01999868A priority patent/EP1350154A2/en
Priority to PCT/CA2001/001729 priority patent/WO2002046890A2/en
Priority to AU2002221414A priority patent/AU2002221414A1/en
Publication of CA2327911A1 publication Critical patent/CA2327911A1/en
Priority to US11/020,313 priority patent/US7809135B2/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

In traditional black-box cryptography, the attacker knows the al-gorithm, but has no visibility into its execution.
For white-box cryptography, we would have to hide the key when the attacker has total visibility into its software implementation and execution.
(Many believe this impossible: we think there is progress but it needs more work.) This would open up a host of intriguing applications and would be likely to simplify many complex protocols.
We suggest methods to make finding an encryption key harder (so far as we have yet discovered) than expected. Our purpose is similar to that of Auc-smith and Graunke's split encryption/decryption[1], but by somewhat different methods.
We focus on symmetric block ciphers implemented by substitution boxes and linear transformations, with DES[2, 4] providing an example. We address efficiency only superficially, leaving full coverage for more work and a later paper.
We have applied for patents on the methods we describe.

Claims (19)

1. A method of obscuring computer software comprising the step of:
de-linearizing functions in said computer software.
2. A method of obscuring computer software comprising the step of:
partially evaluating functions in said computer software.
3. A method of obscuring computer software comprising the step of:
substituting functions in said computer software with suitable non-linear bijections.
4. A method of obscuring computer software comprising the step of:
performing complementary encoding of operands of functions in said computer software.
5. A method of obscuring computer software comprising the step of:
substituting functions in said computer software with suitable non-linear input/output (I/O) blocked bijections of said functions.
6. A method of obscuring computer software comprising the step of:
concatenating functions in said computer software with one another.
7. A method of obscuring computer software comprising the step of:
concatenating functions in said computer software with one another, and with other functions.
8. A method of obscuring computer software comprising the step of:
concatenating functions in said computer software with suitable identity transforms.
9. A method of obscuring computer software comprising the step of:
concatenating functions in said computer software with suitable general functions.
10. A method of obscuring computer software comprising the step of:
split-path encoding of functions in said computer software.
11. A method of obscuring computer software comprising the step of:
encoding functions in said computer software as bijections.
12. A method of obscuring computer software comprising the step of:
simultaneous by-pass encoding of functions in said computer software.
13. A method of obscuring computer software comprising the step of:
output splitting of functions in said computer software.
14. A method of obscuring computer software comprising the step of:
replacing functions in said computer software with substitution boxes.
15. A method of obscuring computer software comprising the step of:
replacing functions in said computer software with networks of substitution boxes.
16. A system for executing the method of any one of claims 1 through 15.
17. An apparatus for executing the method of any one of claims 1 through 15.
18. A computer readable memory medium for storing software code executable to perform the method steps of any one of claims 1 through 15.
19. A carrier signal incorporating software code executable to perform the method steps of any one of claims 1 through 15.
CA002327911A 2000-12-08 2000-12-08 Obscuring functions in computer software Abandoned CA2327911A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CA002327911A CA2327911A1 (en) 2000-12-08 2000-12-08 Obscuring functions in computer software
CA002431443A CA2431443A1 (en) 2000-12-08 2001-12-10 System and method for protecting computer software from a white box attack
US10/433,966 US7397916B2 (en) 2000-12-08 2001-12-10 System and method for protecting computer software from a white box attack
EP01999868A EP1350154A2 (en) 2000-12-08 2001-12-10 System and method for protecting computer software from a white box attack
PCT/CA2001/001729 WO2002046890A2 (en) 2000-12-08 2001-12-10 System and method for protecting computer software from a white box attack
AU2002221414A AU2002221414A1 (en) 2000-12-08 2001-12-10 System and method for protecting computer software from a white box attack
US11/020,313 US7809135B2 (en) 2000-12-08 2004-12-27 System and method for protecting computer software from a white box attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002327911A CA2327911A1 (en) 2000-12-08 2000-12-08 Obscuring functions in computer software

Publications (1)

Publication Number Publication Date
CA2327911A1 true CA2327911A1 (en) 2002-06-08

Family

ID=4167864

Family Applications (2)

Application Number Title Priority Date Filing Date
CA002327911A Abandoned CA2327911A1 (en) 2000-12-08 2000-12-08 Obscuring functions in computer software
CA002431443A Abandoned CA2431443A1 (en) 2000-12-08 2001-12-10 System and method for protecting computer software from a white box attack

Family Applications After (1)

Application Number Title Priority Date Filing Date
CA002431443A Abandoned CA2431443A1 (en) 2000-12-08 2001-12-10 System and method for protecting computer software from a white box attack

Country Status (5)

Country Link
US (2) US7397916B2 (en)
EP (1) EP1350154A2 (en)
AU (1) AU2002221414A1 (en)
CA (2) CA2327911A1 (en)
WO (1) WO2002046890A2 (en)

Families Citing this family (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2327911A1 (en) 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US7340058B2 (en) * 2001-04-09 2008-03-04 Lucent Technologies Inc. Low-overhead secure information processing for mobile gaming and other lightweight device applications
AUPR970601A0 (en) * 2001-12-21 2002-01-24 Canon Kabushiki Kaisha Encoding information in a watermark
US7493607B2 (en) 2002-07-09 2009-02-17 Bluerisc Inc. Statically speculative compilation and execution
FR2850811A1 (en) * 2003-01-30 2004-08-06 St Microelectronics Sa Integrated circuit e.g. chip card, anti-fraud method, involves performing masking of data and unmasking of encryption function result by random number, using two functionally identical operators having respective physical traces
JP2006517036A (en) * 2003-02-06 2006-07-13 ディスクレティックス・テクノロジーズ・リミテッド Apparatus and method for manipulating masked data
US8510571B1 (en) 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
US7469266B2 (en) * 2003-09-29 2008-12-23 International Business Machines Corporation Method and structure for producing high performance linear algebra routines using register block data format routines
US20050114850A1 (en) 2003-10-29 2005-05-26 Saurabh Chheda Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US7996671B2 (en) 2003-11-17 2011-08-09 Bluerisc Inc. Security of program executables and microprocessors based on compiler-architecture interaction
US8700533B2 (en) * 2003-12-04 2014-04-15 Black Duck Software, Inc. Authenticating licenses for legally-protectable content based on license profiles and content identifiers
US9489687B2 (en) * 2003-12-04 2016-11-08 Black Duck Software, Inc. Methods and systems for managing software development
WO2005060147A1 (en) * 2003-12-11 2005-06-30 Koninklijke Philips Electronics N.V. Block ciphering system, using permutations to hide the core ciphering function of each encryption round
US8607209B2 (en) 2004-02-04 2013-12-10 Bluerisc Inc. Energy-focused compiler-assisted branch prediction
DE102004011488B4 (en) * 2004-03-09 2007-07-05 Giesecke & Devrient Gmbh Protection of software against attacks
US8887287B2 (en) * 2004-10-27 2014-11-11 Alcatel Lucent Method and apparatus for software integrity protection using timed executable agents
KR101226167B1 (en) * 2004-10-28 2013-01-24 이르데토 코포레이트 비.브이. Method and system for obfuscating a cryptographic function
US8155306B2 (en) * 2004-12-09 2012-04-10 Intel Corporation Method and apparatus for increasing the speed of cryptographic processing
FR2879383A1 (en) * 2004-12-14 2006-06-16 St Microelectronics Sa MASKING OF BINARY WORDS PROCESSED BY AN INTEGRATED CIRCUIT
US20060161612A1 (en) * 2005-01-14 2006-07-20 International Business Machines Corporation Method and structure for a generalized cache-register file interface with data restructuring methods for multiple cache levels and hardware pre-fetching
US20060168401A1 (en) * 2005-01-26 2006-07-27 International Business Machines Corporation Method and structure for high-performance linear algebra in the presence of limited outstanding miss slots
JP4840782B2 (en) * 2005-03-25 2011-12-21 パナソニック株式会社 Program conversion device, secure processing device, computer program, and recording medium
DE602006004797D1 (en) * 2005-07-05 2009-03-05 St Microelectronics Sa Checking a digital message stored in a memory zone
US7769165B2 (en) * 2005-10-14 2010-08-03 Microsoft Corporation Semi-public white-box cipher
US7743253B2 (en) * 2005-11-04 2010-06-22 Microsoft Corporation Digital signature for network coding
US7853018B2 (en) * 2005-11-10 2010-12-14 Atallah Mikhail J Method and apparatus for hiding a private key
FR2893796B1 (en) * 2005-11-21 2008-01-04 Atmel Corp ENCRYPTION PROTECTION METHOD
DE602006020010D1 (en) * 2005-12-19 2011-03-24 St Microelectronics Sa Protection of the execution of a DES algorithm
WO2007105126A2 (en) 2006-03-10 2007-09-20 Koninklijke Philips Electronics N.V. Method and system for obfuscating a cryptographic function
WO2007126049A1 (en) * 2006-04-28 2007-11-08 Panasonic Corporation System for making program difficult to read, device for making program difficult to read, and method for making program difficult to read
EP2044724B1 (en) * 2006-07-12 2015-04-29 Irdeto B.V. Tamper resistance of a digital data processing unit
CN101491000B (en) * 2006-07-12 2011-12-28 耶德托公司 Method and system for obfuscating a cryptographic function
US8997255B2 (en) 2006-07-31 2015-03-31 Inside Secure Verifying data integrity in a data storage device
US8352752B2 (en) * 2006-09-01 2013-01-08 Inside Secure Detecting radiation-based attacks
US8010803B2 (en) * 2006-10-12 2011-08-30 Black Duck Software, Inc. Methods and apparatus for automated export compliance
US7681045B2 (en) * 2006-10-12 2010-03-16 Black Duck Software, Inc. Software algorithm identification
US9361617B2 (en) * 2008-06-17 2016-06-07 Verifone, Inc. Variable-length cipher system and method
US20080126766A1 (en) * 2006-11-03 2008-05-29 Saurabh Chheda Securing microprocessors against information leakage and physical tampering
KR101213156B1 (en) * 2006-12-21 2012-12-17 삼성전자주식회사 Distributed rivest shamir adleman signature method and signature generative node
WO2008084433A2 (en) * 2007-01-11 2008-07-17 Koninklijke Philips Electronics N.V. Tracing copies of an implementation
WO2008088073A1 (en) * 2007-01-18 2008-07-24 Panasonic Corporation Obfuscation assisting apparatus
KR101338409B1 (en) * 2007-01-25 2013-12-10 삼성전자주식회사 Method and node for generating distributed rivest shamir adleman signature in ad-hoc network
US8752032B2 (en) * 2007-02-23 2014-06-10 Irdeto Canada Corporation System and method of interlocking to protect software-mediated program and device behaviours
WO2008101340A1 (en) * 2007-02-23 2008-08-28 Cloakware Corporation System and method for interlocking to protect software-mediated program and device behaviours
US20080301448A1 (en) * 2007-06-01 2008-12-04 Microsoft Corporation Security Against Corruption for Networked Storage
KR100969961B1 (en) * 2007-12-20 2010-07-15 한국전자통신연구원 Substitution apparatus of block code aria and method thereof
WO2009095838A1 (en) * 2008-01-31 2009-08-06 Koninklijke Philips Electronics N.V. Securing a smart card
EP2240849B1 (en) 2008-02-06 2016-01-27 Nxp B.V. Data processing device and method for executing obfuscated programs
EP2243098A2 (en) 2008-02-11 2010-10-27 Nxp B.V. Method of program obfuscation and processing device for executing obfuscated programs
US8800048B2 (en) * 2008-05-20 2014-08-05 Microsoft Corporation Software protection through interdependent parameter cloud constrained software execution
CN102047220B (en) * 2008-05-23 2014-12-17 爱迪德加拿大公司 System and method for generating white-box implementations of software applications
EP2300954B1 (en) 2008-06-24 2014-12-03 NDS Limited Security within integrated circuits
US8171306B2 (en) * 2008-11-05 2012-05-01 Microsoft Corporation Universal secure token for obfuscation and tamper resistance
JP4687775B2 (en) * 2008-11-20 2011-05-25 ソニー株式会社 Cryptographic processing device
US8151333B2 (en) 2008-11-24 2012-04-03 Microsoft Corporation Distributed single sign on technologies including privacy protection and proactive updating
JP5688528B2 (en) * 2009-03-10 2015-03-25 イルデト・ベー・フェー White-box cryptosystem using input-dependent encoding
US8913741B2 (en) * 2009-03-31 2014-12-16 France Telecom Method for performing a cryptographic task in an electronic hardware component
DE102009019981A1 (en) * 2009-05-05 2010-11-11 Giesecke & Devrient Gmbh Method for protecting software and portable data carriers stored on a portable data carrier
WO2010127438A1 (en) * 2009-05-06 2010-11-11 Irdeto Canada Corporation Interlocked binary protection using whitebox cryptography
CN102484581B (en) * 2009-06-19 2015-07-01 耶德托公司 White-box Cryptographic System With Configurable Key Using Intermediate Data Modification
WO2010146140A1 (en) * 2009-06-19 2010-12-23 Irdeto B.V. White-box cryptographic system with configurable key using block selection
US9213826B2 (en) 2009-11-13 2015-12-15 Irdeto B.V. System and method to protect Java bytecode code against static and dynamic attacks within hostile execution environments
US8549322B2 (en) * 2010-03-25 2013-10-01 International Business Machines Corporation Secure data scanning method and system
CN102947835B (en) 2010-03-31 2016-04-13 爱迪德技术有限公司 The system and method encapsulating and enable protection is carried out by the variation change in software library
JP5697180B2 (en) * 2010-03-31 2015-04-08 イルデト カナダ コーポレーション System and method for protecting cryptographic assets from white box attacks
EP2388730A1 (en) * 2010-05-17 2011-11-23 Nagravision S.A. Method for generating software code
US20120079462A1 (en) * 2010-09-24 2012-03-29 SoftKrypt LLC Systems and methods of source software code obfuscation
FR2966953B1 (en) * 2010-11-02 2015-08-28 St Microelectronics Rousset METHOD OF CRYPTOGRAPHIC COUNTERPRESSION BY DERIVATION OF SECRET DATA
MY150357A (en) * 2010-11-04 2013-12-31 Mimos Berhad A method for linear transformation in substitution-permutation networks symmetric-key block cipher
EP2458774A1 (en) 2010-11-24 2012-05-30 Nagravision S.A. A method of processing a cryptographic function in obfuscated form
US20120201373A1 (en) * 2011-02-03 2012-08-09 Futurewei Technologies, Inc. Design of a Good General-Purpose Hash Function with Limited Resources
AU2011362967B2 (en) 2011-03-24 2016-10-06 Irdeto B.V. System and method providing dependency networks throughout applications for attack resistance
EP3518128B1 (en) * 2011-03-30 2021-04-28 Irdeto B.V. Enabling a software application to be executed on a hardware device
US8621237B1 (en) * 2011-06-30 2013-12-31 Emc Corporation Protecting against cryptographic key exposure in source code
WO2013059367A1 (en) * 2011-10-18 2013-04-25 Paul Marion Hriljac Systems and methods of source software code modification
US9503259B2 (en) 2012-02-09 2016-11-22 Irdeto B.V. System and method for generating and protecting cryptographic keys
US9588756B2 (en) * 2012-03-22 2017-03-07 Irdeto B.V. Updating software components in a program
CN104981813B (en) * 2012-03-30 2018-08-07 爱迪德技术有限公司 Coding is identified using dynamic data to protect addressable system
US8976960B2 (en) 2012-04-02 2015-03-10 Apple Inc. Methods and apparatus for correlation protected processing of cryptographic operations
EP2856378B1 (en) * 2012-05-25 2017-12-27 Koninklijke Philips N.V. Method, system and device for protection against reverse engineering and/or tampering with programs
DE102012209404A1 (en) * 2012-06-04 2013-12-05 Robert Bosch Gmbh Apparatus for executing a cryptographic method and method of operation therefor
US20140324708A1 (en) * 2012-06-12 2014-10-30 Square, Inc. Raw sensor input encryption for passcode entry security
US9378499B2 (en) 2012-06-12 2016-06-28 Square, Inc. Software PIN entry
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US9503255B2 (en) * 2012-10-17 2016-11-22 Synopsys, Inc. Cryptographic sequencing system and method
US9311489B2 (en) 2013-03-07 2016-04-12 Microsoft Technology Licensing, Llc Application forensics
EP2992637A1 (en) * 2013-05-01 2016-03-09 Koninklijke Philips N.V. Electronic block cipher device suitable for obfuscation
RU2518950C9 (en) * 2013-05-06 2014-09-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" Method of encrypting n-bit unit m
KR102133200B1 (en) 2013-08-08 2020-07-13 서울대학교산학협력단 Method and apparatus for protecting of data
CN104376015B (en) * 2013-08-15 2020-03-17 腾讯科技(深圳)有限公司 Method and device for processing nodes in relational network
US9773240B1 (en) 2013-09-13 2017-09-26 Square, Inc. Fake sensor input for passcode entry security
US9613356B2 (en) 2013-09-30 2017-04-04 Square, Inc. Secure passcode entry user interface
US9928501B1 (en) 2013-10-09 2018-03-27 Square, Inc. Secure passcode entry docking station
DE102013222218A1 (en) * 2013-10-31 2014-05-22 Siemens Aktiengesellschaft Method for constructing circuit used for generating random bits used in asymmetric authentication method, involves linking specific functions with a pretext of a related function as another function, to perform fixed point free mapping
KR101807259B1 (en) * 2013-11-04 2017-12-08 한국전자통신연구원 Apparatus and methdo for encoding
US9223995B1 (en) * 2013-12-10 2015-12-29 Progress Software Corporation Semantic obfuscation of data in real time
US9900149B2 (en) * 2013-12-24 2018-02-20 Synopsys, Inc. Area efficient cryptographic method and apparatus
US10075288B1 (en) * 2014-02-28 2018-09-11 The Governing Council Of The University Of Toronto Systems, devices, and processes for homomorphic encryption
US9838198B2 (en) * 2014-03-19 2017-12-05 Nxp B.V. Splitting S-boxes in a white-box implementation to resist attacks
FR3018934B1 (en) * 2014-03-24 2017-05-26 Morpho METHOD OF INPUTTING DATA IN A BASE FOR THE PROTECTION OF THESE DATA
CN106416119B (en) * 2014-03-31 2019-10-11 爱迪德技术有限公司 Protect software project
GB201405706D0 (en) * 2014-03-31 2014-05-14 Irdeto Bv Software protection
GB201405705D0 (en) * 2014-03-31 2014-05-14 Irdeto Bv Secured printed electronics device
RU2542880C1 (en) * 2014-03-31 2015-02-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет"ЛЭТИ" им. В.И. Ульянова (Ленина)" Method of encrypting binary data unit
WO2015149827A1 (en) 2014-03-31 2015-10-08 Irdeto B.V. Obfuscated performance of a predetermined function
GB201405755D0 (en) 2014-03-31 2014-05-14 Irdeto Bv Optimizing and protecting software
RU2542929C1 (en) * 2014-04-14 2015-02-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" Method to code data unit represented as bit string
RU2542926C1 (en) * 2014-04-14 2015-02-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" Method to code message represented as multidigit binary number
EP2940920B1 (en) * 2014-04-28 2017-03-08 Nxp B.V. Security patch without changing the key
US9485226B2 (en) * 2014-04-28 2016-11-01 Nxp B.V. Method for including an implicit integrity or authenticity check into a white-box implementation
US9338145B2 (en) 2014-04-28 2016-05-10 Nxp B.V. Security patch without changing the key
US9641337B2 (en) * 2014-04-28 2017-05-02 Nxp B.V. Interface compatible approach for gluing white-box implementation to surrounding program
US9858440B1 (en) * 2014-05-23 2018-01-02 Shape Security, Inc. Encoding of sensitive data
US10412054B2 (en) 2014-06-24 2019-09-10 Nxp B.V. Method for introducing dependence of white-box implementation on a set of strings
KR101527329B1 (en) * 2014-09-12 2015-06-09 삼성에스디에스 주식회사 Apparatus and method for data encryption
EP3198498B1 (en) 2014-09-26 2021-04-14 Irdeto B.V. A challenge-response method and associated computing device
US9252943B1 (en) * 2014-09-26 2016-02-02 The Boeing Company Parallelizable cipher construction
BR112017006236A2 (en) 2014-09-30 2017-12-12 Koninklijke Philips Nv electronic calculating device, ring coding device, table calculating device, electronic calculating method, computer program, and, computer readable media
CN104301095A (en) * 2014-10-13 2015-01-21 深圳中科讯联科技有限公司 DES round operation method and circuit
EP3207514A4 (en) * 2014-10-13 2018-07-04 Sequent Software Inc. Securing host card emulation credentials
GB201418815D0 (en) 2014-10-22 2014-12-03 Irdeto Bv Providing access to content
DE102014016548A1 (en) 2014-11-10 2016-05-12 Giesecke & Devrient Gmbh Method for testing and hardening software applications
US9600672B1 (en) * 2014-12-04 2017-03-21 Amazon Technologies, Inc. Dynamic function switching
CN107004072A (en) 2014-12-12 2017-08-01 皇家飞利浦有限公司 It is electronically generated equipment
US10685096B2 (en) 2014-12-22 2020-06-16 Koninklijke Philips N.V. Hiding of a program execution
CN107005403A (en) * 2014-12-22 2017-08-01 皇家飞利浦有限公司 electronic computing device
US10318271B2 (en) 2015-01-05 2019-06-11 Irdeto Canada Corporation Updating software components in a program
US9665699B2 (en) * 2015-03-13 2017-05-30 Nxp B.V. Implementing padding in a white-box implementation
CN108064381B (en) 2015-03-30 2021-06-18 爱迪德技术有限公司 Method for data protection
GB201505434D0 (en) * 2015-03-30 2015-05-13 Irdeto Bv Cryptographic processing
GB201505553D0 (en) 2015-03-31 2015-05-13 Irdeto Bv Online advertisements
US10372886B2 (en) * 2015-05-05 2019-08-06 Nxp B.V. Protecting the input/output of modular encoded white-box RSA/ECC
EP3298720B1 (en) * 2015-05-19 2019-03-06 Koninklijke Philips N.V. Computing with encrypted values
US10642786B2 (en) * 2015-05-19 2020-05-05 Cryptomove, Inc. Security via data concealment using integrated circuits
US9753931B2 (en) * 2015-05-19 2017-09-05 Cryptomove, Inc. Security via data concealment
US10664439B2 (en) 2015-05-19 2020-05-26 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
US10037330B1 (en) 2015-05-19 2018-07-31 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
RU2580060C1 (en) * 2015-05-20 2016-04-10 Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульнова (Ленина)" Method to encrypt messages, represented as a multi-bit binary number
CN107667368B (en) * 2015-07-09 2020-12-22 赫尔实验室有限公司 System, method and storage medium for obfuscating a computer program
US10509918B1 (en) * 2015-09-18 2019-12-17 Hrl Laboratories, Llc One-time obfuscation for polynomial-size ordered binary decision diagrams (POBDDs)
DE102015014038A1 (en) * 2015-10-30 2017-05-04 Giesecke & Devrient Gmbh Alternative representation of the crypto algorithm DES
NL2015745B1 (en) 2015-11-09 2017-05-26 Koninklijke Philips Nv A cryptographic device arranged to compute a target block cipher.
US10015009B2 (en) * 2015-11-25 2018-07-03 Nxp B.V. Protecting white-box feistel network implementation against fault attack
CN108370311A (en) * 2015-12-15 2018-08-03 皇家飞利浦有限公司 Computing device and method
US10728028B2 (en) * 2016-02-18 2020-07-28 Gideon Samid Transmitter for encoding information with randomly flipped bits and transmitting that information through a communications channel
US10229282B2 (en) * 2016-06-12 2019-03-12 Apple Inc. Efficient implementation for differential privacy using cryptographic functions
US11303436B2 (en) 2016-06-23 2022-04-12 Cryptography Research, Inc. Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks
CN107547193A (en) * 2016-06-28 2018-01-05 埃沙尔公司 Make replacement operation from the method for side Multiple Channel Analysis
US10243937B2 (en) * 2016-07-08 2019-03-26 Nxp B.V. Equality check implemented with secret sharing
US10771235B2 (en) * 2016-09-01 2020-09-08 Cryptography Research Inc. Protecting block cipher computation operations from external monitoring attacks
WO2018108275A1 (en) 2016-12-15 2018-06-21 Irdeto B.V. Software integrity verification
US10615980B2 (en) * 2017-02-02 2020-04-07 Mastercard International Incorporated Methods and systems for securely storing sensitive data on smart cards
FR3063857B1 (en) * 2017-03-08 2020-02-14 Safran Identity & Security METHOD FOR ELECTRONIC SIGNING OF A DOCUMENT WITH A PREDETERMINED SECRET KEY
GB201703864D0 (en) 2017-03-10 2017-04-26 Irdeto Bv Secured system operation
US10862646B2 (en) * 2017-07-11 2020-12-08 Nokia Technologies Oy Polar coded broadcast channel
WO2019031026A1 (en) * 2017-08-10 2019-02-14 ソニー株式会社 Encryption device, encryption method, decryption device, and decryption method
US10805693B2 (en) 2017-09-12 2020-10-13 Irdeto B.V. Device and method for GPU-based watermarking
US10528600B1 (en) * 2017-09-13 2020-01-07 Hrl Laboratories, Llc System to identify unknown communication behavior relationships from time series
US11195107B1 (en) * 2017-09-13 2021-12-07 Hrl Laboratories, Llc Method of malicious social activity prediction using spatial-temporal social network data
DE102017009315B4 (en) * 2017-10-06 2019-11-21 Sergej Gertje Protection of automation programs against reverse development
US10778409B2 (en) * 2017-12-15 2020-09-15 Crypto Lab Inc. Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11176300B2 (en) * 2018-02-03 2021-11-16 Irdeto B.V. Systems and methods for creating individualized processing chips and assemblies
US10797868B2 (en) 2018-05-31 2020-10-06 Irdeto B.V. Shared secret establishment
US11206130B2 (en) 2018-07-31 2021-12-21 Nxp B.V. Customizing cryptographic keys between multiple hosts
US11025907B2 (en) * 2019-02-28 2021-06-01 Google Llc Receptive-field-conforming convolution models for video coding
US10869036B2 (en) 2018-09-18 2020-12-15 Google Llc Receptive-field-conforming convolutional models for video coding
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
US20200313850A1 (en) * 2019-03-29 2020-10-01 Irdeto Canada Corporation Method and apparatus for implementing a white-box cipher
WO2020205984A1 (en) * 2019-04-01 2020-10-08 Cryptomove, Inc. Security via data concealment using integrated circuits
US10764029B1 (en) * 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm
EP3959840A4 (en) * 2019-04-23 2023-01-11 Quantropi Inc. Enhanced randomness for digital systems
US11283619B2 (en) * 2019-06-20 2022-03-22 The Boeing Company Bit mixer based parallel MAC and hash functions
US11263316B2 (en) 2019-08-20 2022-03-01 Irdeto B.V. Securing software routines
CN110620671B (en) * 2019-08-30 2024-04-09 厦门一通灵信息科技有限公司 Encryption algorithm evaluation method, medium, equipment and device
JP7383985B2 (en) * 2019-10-30 2023-11-21 富士電機株式会社 Information processing device, information processing method and program
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11204985B2 (en) * 2020-03-31 2021-12-21 Irdeto Canada Corporation Systems, methods, and storage media for creating secured computer code having entangled transformations
US11902424B2 (en) * 2020-11-20 2024-02-13 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data
US11722292B2 (en) 2021-01-29 2023-08-08 Robert Bosch Gmbh System and method for improving the efficiency of advanced encryption standard in multi-party computation with precomputed data
US20220255726A1 (en) * 2021-01-29 2022-08-11 Robert Bosch Gmbh System and method for improving the efficiency of advanced encryption standard in multi-party computation
IT202100012488A1 (en) * 2021-05-14 2022-11-14 Torino Politecnico Method of configuring neural networks and method of processing binary files
EP4339835A1 (en) 2022-09-16 2024-03-20 Irdeto B.V. Machine learning model protection

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892899A (en) * 1996-06-13 1999-04-06 Intel Corporation Tamper resistant methods and apparatus
US6192475B1 (en) * 1997-03-31 2001-02-20 David R. Wallace System and method for cloaking software
CN1260055A (en) 1997-06-09 2000-07-12 联信公司 Obfuscation techniques for enhancing software security
FR2776445A1 (en) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Cryptographic algorithm security technique
JP3600454B2 (en) * 1998-08-20 2004-12-15 株式会社東芝 Encryption / decryption device, encryption / decryption method, and program storage medium therefor
US7162031B1 (en) * 1998-12-30 2007-01-09 Nokia Corporation Method and device for cryptographically processing data
AU2001269354A1 (en) * 2000-05-12 2001-11-20 Xtreamlok Pty. Ltd. Information security method and system
CA2327911A1 (en) 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
CA2369304A1 (en) * 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
FR2849232B1 (en) * 2002-12-24 2005-02-25 Trusted Logic METHOD FOR SECURING COMPUTER SYSTEMS INCORPORATING A CODE INTERPRETATION MODULE
US7631292B2 (en) * 2003-11-05 2009-12-08 Microsoft Corporation Code individualism and execution protection
US20050223361A1 (en) * 2004-04-01 2005-10-06 Belbute John L Software testing based on changes in execution paths
US8015211B2 (en) * 2004-04-21 2011-09-06 Architecture Technology Corporation Secure peer-to-peer object storage system

Also Published As

Publication number Publication date
US7809135B2 (en) 2010-10-05
US20060140401A1 (en) 2006-06-29
EP1350154A2 (en) 2003-10-08
US20040139340A1 (en) 2004-07-15
CA2431443A1 (en) 2002-06-13
WO2002046890A2 (en) 2002-06-13
AU2002221414A1 (en) 2002-06-18
US7397916B2 (en) 2008-07-08
WO2002046890A8 (en) 2003-03-06

Similar Documents

Publication Publication Date Title
CA2327911A1 (en) Obscuring functions in computer software
Thabit et al. A new lightweight cryptographic algorithm for enhancing data security in cloud computing
US7546461B2 (en) Strengthening secure hash functions
WO2001076130A3 (en) Authentication method and schemes for data integrity protection
RU2357365C2 (en) Method and device for carrying out cryptographic computation
EP1803244A2 (en) Enciphering method
US8966285B2 (en) Securing implementation of a cryptographic process having fixed or dynamic keys
TNSN07055A1 (en) Permutation data transform to enhance security
WO2007138601A3 (en) Method and system for transformation of logical data objects for storage
CA2578316A1 (en) Table splitting for cryptographic processes
WO2007120169A3 (en) Homophonic substitution symmetric encryption
JP2017504838A (en) Countermeasures against side-channel attacks against cryptographic algorithms
Daemen et al. The first 10 years of advanced encryption
GB2407238B (en) A system and method for performing blind encryption and decryption
WO2010024874A3 (en) Message authentication code pre-computation with applications to secure memory
US8718280B2 (en) Securing keys of a cipher using properties of the cipher process
JPWO2009075337A1 (en) ENCRYPTION METHOD, DECRYPTION METHOD, DEVICE, AND PROGRAM
WO2012024086A1 (en) Apparatus and method for block cipher process for insecure environments
CA2442456A1 (en) Data encryption system and method
HU227781B1 (en) Symmetric key cryptographic apparatus and method for encryption and decryption of information
CN110704854B (en) Stream type encryption method aiming at text data reserved format
US20120179920A1 (en) Securing cryptographic process keys using internal structures
EP2992637A1 (en) Electronic block cipher device suitable for obfuscation
EP3477889A1 (en) Using white-box in a leakage-resilient primitive
US9641337B2 (en) Interface compatible approach for gluing white-box implementation to surrounding program

Legal Events

Date Code Title Description
FZDE Discontinued