CA2243469A1 - Encoding technique for software and hardware - Google Patents
Encoding technique for software and hardwareInfo
- Publication number
- CA2243469A1 CA2243469A1 CA2243469A CA2243469A CA2243469A1 CA 2243469 A1 CA2243469 A1 CA 2243469A1 CA 2243469 A CA2243469 A CA 2243469A CA 2243469 A CA2243469 A CA 2243469A CA 2243469 A1 CA2243469 A1 CA 2243469A1
- Authority
- CA
- Canada
- Prior art keywords
- programs
- encoding technique
- software
- hardware
- encoding
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title abstract 3
- 230000006399 behavior Effects 0.000 abstract 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Abstract
An encoding technique of the invention protects software programs and hardware designs from being copied, tampered with, and its functions from being exposed. The software programs and hardware designs (collectivity called programs) thus encoded still remain executable. The encoding technique employs the concept of complexity of programs and produces proximity inversion in terms of functions contained in the programs, while preserving the behaviors.
Various embodiments are possible to achieve this encoding which includes, for example, cascading and intertwining of blocks of the programs.
Various embodiments are possible to achieve this encoding which includes, for example, cascading and intertwining of blocks of the programs.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61196896A | 1996-03-07 | 1996-03-07 | |
US08/611,968 | 1996-03-07 | ||
PCT/CA1996/000859 WO1997033216A1 (en) | 1996-03-07 | 1996-12-19 | Encoding technique for software and hardware |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2243469A1 true CA2243469A1 (en) | 1997-09-12 |
CA2243469C CA2243469C (en) | 2000-10-31 |
Family
ID=24451142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002243469A Expired - Fee Related CA2243469C (en) | 1996-03-07 | 1996-12-19 | Encoding technique for software and hardware |
Country Status (6)
Country | Link |
---|---|
US (1) | US6088452A (en) |
EP (1) | EP0885416B1 (en) |
JP (1) | JPH11511582A (en) |
CA (1) | CA2243469C (en) |
DE (1) | DE69604307T2 (en) |
WO (1) | WO1997033216A1 (en) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668325B1 (en) | 1997-06-09 | 2003-12-23 | Intertrust Technologies | Obfuscation techniques for enhancing software security |
US6334189B1 (en) | 1997-12-05 | 2001-12-25 | Jamama, Llc | Use of pseudocode to protect software from unauthorized use |
US6480959B1 (en) * | 1997-12-05 | 2002-11-12 | Jamama, Llc | Software system and associated methods for controlling the use of computer programs |
US6643775B1 (en) | 1997-12-05 | 2003-11-04 | Jamama, Llc | Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications |
US6957341B2 (en) * | 1998-05-14 | 2005-10-18 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
US6463538B1 (en) * | 1998-12-30 | 2002-10-08 | Rainbow Technologies, Inc. | Method of software protection using a random code generator |
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
US7770016B2 (en) * | 1999-07-29 | 2010-08-03 | Intertrust Technologies Corporation | Systems and methods for watermarking software and other media |
US7757097B2 (en) * | 1999-09-03 | 2010-07-13 | Purdue Research Foundation | Method and system for tamperproofing software |
US7287166B1 (en) | 1999-09-03 | 2007-10-23 | Purdue Research Foundation | Guards for application in software tamperproofing |
JP3888823B2 (en) * | 2000-02-14 | 2007-03-07 | 松下電器産業株式会社 | Semiconductor integrated circuit |
IL157854A0 (en) * | 2001-03-28 | 2004-03-28 | Digital rights management system and method | |
ITMI20011938A1 (en) * | 2001-09-17 | 2003-03-17 | Cit Alcatel | METHOD TO ENCRYPT A FLOW OF DATA |
CA2363795A1 (en) * | 2001-11-26 | 2003-05-26 | Cloakware Corporation | Computer system protection by communication diversity |
US20030120938A1 (en) * | 2001-11-27 | 2003-06-26 | Miki Mullor | Method of securing software against reverse engineering |
CA2372034A1 (en) * | 2002-02-14 | 2003-08-14 | Cloakware Corporation | Foiling buffer-overflow and alien-code attacks by encoding |
US8819252B1 (en) * | 2002-05-03 | 2014-08-26 | Foundry Networks, Llc | Transaction rate limiting |
US7707295B1 (en) | 2002-05-03 | 2010-04-27 | Foundry Networks, Inc. | Connection rate limiting |
US8554929B1 (en) | 2002-05-03 | 2013-10-08 | Foundry Networks, Llc | Connection rate limiting for server load balancing and transparent cache switching |
US20030217280A1 (en) * | 2002-05-17 | 2003-11-20 | Keaton Thomas S. | Software watermarking for anti-tamper protection |
US7367053B2 (en) * | 2002-10-11 | 2008-04-29 | Yamatake Corporation | Password strength checking method and apparatus and program and recording medium thereof, password creation assisting method and program thereof, and password creating method and program thereof |
CA2415334C (en) * | 2002-12-31 | 2012-04-24 | Protexis Inc. | System for persistently encrypting critical software data to control operation of an executable software program |
US20040156388A1 (en) * | 2003-02-07 | 2004-08-12 | Lockheed Martin Corporation | System for maintaining quality of service |
US8510571B1 (en) | 2003-03-24 | 2013-08-13 | Hoi Chang | System and method for inserting security mechanisms into a software program |
US7249260B2 (en) * | 2003-06-12 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for implementing a pluggable password obscuring mechanism |
US7313817B2 (en) * | 2003-06-17 | 2007-12-25 | Lockheed Martin Corporation | Data transmission system utilizing efficient complexity estimation of the kolmogorov complexity for data transmission |
US20050071656A1 (en) * | 2003-09-25 | 2005-03-31 | Klein Dean A. | Secure processor-based system and method |
US20060020552A1 (en) * | 2004-07-26 | 2006-01-26 | James Sloan | Copy-restriction system for digitally recorded, computer disk-based music recordings |
US7900243B2 (en) * | 2006-10-19 | 2011-03-01 | Oracle America, Inc. | Method and system for managing execution of an application module |
US8752032B2 (en) | 2007-02-23 | 2014-06-10 | Irdeto Canada Corporation | System and method of interlocking to protect software-mediated program and device behaviours |
US8429637B2 (en) * | 2008-09-02 | 2013-04-23 | Apple Inc. | System and method for conditional expansion obfuscation |
KR20140058419A (en) * | 2011-03-24 | 2014-05-14 | 이르데토 비.브이. | System and method providing dependency networks throughout applications for attack resistance |
US9906360B2 (en) | 2012-03-30 | 2018-02-27 | Irdeto B.V. | Securing accessible systems using variable dependent coding |
CN107729147B (en) * | 2014-03-06 | 2021-09-21 | 华为技术有限公司 | Data processing method in stream computing system, control node and stream computing system |
US9858440B1 (en) * | 2014-05-23 | 2018-01-02 | Shape Security, Inc. | Encoding of sensitive data |
US9495111B2 (en) * | 2014-10-10 | 2016-11-15 | The Boeing Company | System and method for reducing information leakage from memory |
WO2016118216A2 (en) | 2014-11-06 | 2016-07-28 | Intertrust Technologies Corporation | Secure application distribution systems and methods |
US10082975B1 (en) | 2017-03-02 | 2018-09-25 | Micron Technology, Inc. | Obfuscation-enhanced memory encryption |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4525599A (en) * | 1982-05-21 | 1985-06-25 | General Computer Corporation | Software protection methods and apparatus |
US4740890A (en) * | 1983-12-22 | 1988-04-26 | Software Concepts, Inc. | Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media |
US4646234A (en) * | 1984-02-29 | 1987-02-24 | Brigham Young University | Anti-piracy system using separate storage and alternate execution of selected proprietary and public portions of computer programs |
GB2163577B (en) * | 1984-08-23 | 1988-01-13 | Nat Res Dev | Software protection device |
US4644493A (en) * | 1984-09-14 | 1987-02-17 | International Business Machines Corporation | Implementing a shared higher level of privilege on personal computers for copy protection of software |
US4864494A (en) * | 1986-03-21 | 1989-09-05 | Computerized Data Ssytems For Mfg., Inc. | Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software |
US5047928A (en) * | 1986-10-24 | 1991-09-10 | Wiedemer John D | Billing system for computer software |
US4866769A (en) * | 1987-08-05 | 1989-09-12 | Ibm Corporation | Hardware assist for protecting PC software |
US4937863A (en) * | 1988-03-07 | 1990-06-26 | Digital Equipment Corporation | Software licensing management system |
US5123045A (en) * | 1989-08-18 | 1992-06-16 | Massachusetts Institute Of Technology | Comprehensive software protection system |
EP0459046A1 (en) * | 1990-05-31 | 1991-12-04 | International Business Machines Corporation | Computer software protection |
CA2026998C (en) * | 1990-10-05 | 1994-05-10 | Thomas Edwin Glover | Dynamic trace elements |
US5359659A (en) * | 1992-06-19 | 1994-10-25 | Doren Rosenthal | Method for securing software against corruption by computer viruses |
AU682869B2 (en) * | 1993-05-10 | 1997-10-23 | Thinking Software, Inc | Method for minimizing uncertainty in computer software processes allowing for automatic identification of faults locations and locations for modifications due to new system requirements with introduction of an alternative form of the target process object code allowing for less recompilation and re-linkage processing |
US5613004A (en) * | 1995-06-07 | 1997-03-18 | The Dice Company | Steganographic method and device |
-
1996
- 1996-03-07 US US08/611,968 patent/US6088452A/en not_active Expired - Fee Related
- 1996-12-19 JP JP9531272A patent/JPH11511582A/en active Pending
- 1996-12-19 CA CA002243469A patent/CA2243469C/en not_active Expired - Fee Related
- 1996-12-19 DE DE69604307T patent/DE69604307T2/en not_active Expired - Lifetime
- 1996-12-19 EP EP96941553A patent/EP0885416B1/en not_active Expired - Lifetime
- 1996-12-19 WO PCT/CA1996/000859 patent/WO1997033216A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO1997033216A1 (en) | 1997-09-12 |
EP0885416B1 (en) | 1999-09-15 |
US6088452A (en) | 2000-07-11 |
JPH11511582A (en) | 1999-10-05 |
CA2243469C (en) | 2000-10-31 |
EP0885416A1 (en) | 1998-12-23 |
DE69604307D1 (en) | 1999-10-21 |
DE69604307T2 (en) | 1999-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2243469A1 (en) | Encoding technique for software and hardware | |
EP0674280A3 (en) | Launching computer program upon download of data created by program. | |
CY1107099T1 (en) | ANTIBIOTIC PARAMETERS AND THEIR SHRIMP | |
EP0633579A3 (en) | Improved pinless connector. | |
HK1030625A1 (en) | Methods and compositions for immunomodulation | |
BG103671A (en) | Combinations of sulphonylcarbamide-glytazone having synergetic effect for the treatment of diabetes | |
WO1995007994A3 (en) | Recombinant alphavirus vectors | |
ATE211761T1 (en) | DNA MUTAGENESIS BY RANDOM FRAGMENTATION AND RECONSTRUCTION | |
DE69023411T2 (en) | Vector quantizer and decoder. | |
EP0606152A3 (en) | Lever type connector. | |
IT9021451A0 (en) | CARBON BLACK AND ELASTOMERIC COMPOSITIONS THAT INCORPORATE IT. | |
AU6659198A (en) | Compositions and methods for modulating cellular nf-$g(k)b activation | |
EP0646994A3 (en) | Lever-type connector. | |
IL187254A (en) | ANTISENSE NUCLEOTIDES, COMPOSITIONS COMPRISING THEREOF AND THEIR USE IN MODULATING ACTIVATION OF NF-kB | |
EP0668581A4 (en) | Card processor with interlock processing function. | |
FI102653B (en) | A color television system equipped with devices for color television signal decoding and decoding | |
ID16084A (en) | ELEMENTS OF PTFE EXTENDED AND THE PARTS THAT MADE. | |
DE69407614T2 (en) | Lever type connector arrangement | |
WO1998000770A3 (en) | Encryption enhancement system | |
DE69015119D1 (en) | Stabilized enzyme mixtures. | |
EP0638849A3 (en) | Toner and developer composition containing the same. | |
ZA972186B (en) | Lytic peptides. | |
EP0616391A3 (en) | Lever-type connector. | |
WO1996005300A3 (en) | Or-1 on orphan receptor belonging to the nuclear receptor family | |
EP0632429A3 (en) | Vector quantizer. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20161219 |