A microprocessor for executing computer programs which have been enciphered during manufacture to deter the execution of the programs in unauthorized computers. This microprocessor deciphers and executes an enciphered program one instruction at a time, through a combination of substitutions, transpositions, and exclusive-OR additions, in which the address of each instruction is combined with the instruction. Each unit may use a unique set of substitutions so that a program that can be executed in one microprocessor can not be run in any other microprocessor. |
Citations|
| US3504132 | May 14, 1965 | Mar 31, 1970 | | MEMORY UNIT FOR REPERTORY DIALLER UTI-
LIZING CODED ENCAPSULATED RESISTORS | | US3798359 | Jun 30, 1971 | 1974 | | HSXA
HSSA | | US3911216 | Dec 17, 1973 | 1975 | | NONLINEAR CODE GENERATOR AND
DECODER FOR TRANSMITTING DATA
SECURELY | | US3944976 | Aug 9, 1974 | Mar 16, 1976 | | Electronic security apparatus | | US3958081 | Feb 24, 1975 | May 18, 1976 | International Business Machines Corporation | Block cipher system for data security | | US4037215 | Apr 30, 1976 | Jul 19, 1977 | International Business Machines Corporation | Key controlled address relocation translation system | | US4074066 | Apr 26, 1976 | Feb 14, 1978 | International Business Machines Corporation | Message verification and transmission error detection by block chaining | | US4120030 | Mar 11, 1977 | Oct 10, 1978 | Kearney & Trecker Corporation | Computer software security system |
Referenced by|
| US4246638 | Sep 14, 1978 | Jan 20, 1981 | | Method and apparatus for controlling usage of a programmable computing machine | | US4249180 | Sep 20, 1978 | Feb 3, 1981 | Northern Telecom Limited | Past dependent microcomputer cipher apparatus | | US4306289 | Feb 4, 1980 | Dec 15, 1981 | Western Electric Company, Inc. | Digital computer having code conversion apparatus for an encrypted program | | US4314097 | Mar 10, 1980 | Feb 2, 1982 | Burroughs Corporation | Authenticator device for precluding compensating text modifications in transmitted messages | | US4352952 | Mar 3, 1980 | Oct 5, 1982 | Motorola Inc. | Data security module | | US4408093 | Jun 5, 1981 | Oct 4, 1983 | ITT Industries, Inc. | Cryptographic encoder-decoder | | US4433207 | Sep 10, 1981 | Feb 21, 1984 | | Cryptographic decoder for computer programs | | US4442486 | Nov 25, 1981 | Apr 10, 1984 | U.S. Philips Corporation | Protected programmable apparatus | | US4488001 | Dec 17, 1981 | Dec 11, 1984 | NCR Corporation | Intellectual properties protection device | | US4498148 | Feb 23, 1983 | Feb 5, 1985 | International Business Machines Corporation | Comparing input words to a word dictionary for correct spelling | | US4503287 | Nov 23, 1981 | Mar 5, 1985 | Analytics, Inc. | Two-tiered communication security employing asymmetric session keys | | US4513174 | Mar 19, 1981 | Apr 23, 1985 | Standard Microsystems Corporation | Software security method using partial fabrication of proprietary control word decoders and microinstruction memories | | US4521853 | Jun 30, 1982 | Jun 4, 1985 | Texas Instruments Incorporated | Secure microprocessor/microcomputer with secured memory | | US4523271 | Jun 22, 1982 | Jun 11, 1985 | | Software protection method and apparatus | | US4525599 | May 21, 1982 | Jun 25, 1985 | General Computer Corporation | Software protection methods and apparatus | | US4534037 | Sep 14, 1982 | Aug 6, 1985 | Robert Bosch GmbH | Method and apparatus for scrambled pulse-code modulation transmission or recording | | US4558176 | Sep 20, 1982 | Dec 10, 1985 | | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software | | US4562305 | Dec 22, 1982 | Dec 31, 1985 | International Business Machines Corporation | Software cryptographic apparatus and method | | US4573119 | Jul 11, 1983 | Feb 25, 1986 | | Computer software protection system | | US4590552 | Jun 30, 1982 | May 20, 1986 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory | | US4593353 | Oct 26, 1981 | Jun 3, 1986 | Telecommunications Associates, Inc. | Software protection method and apparatus | | US4593376 | Apr 21, 1983 | Jun 3, 1986 | | System for vending program cartridges which have circuitry for inhibiting program usage after preset time interval expires | | US4603381 | Jun 30, 1982 | Jul 29, 1986 | Texas Instruments Incorporated | Use of implant process for programming ROM type processor for encryption | | US4633388 | Jan 18, 1984 | Dec 30, 1986 | Siemens Corporate Research & Support, Inc. | On-chip microprocessor instruction decoder having hardware for selectively bypassing on-chip circuitry used to decipher encrypted instruction codes | | US4634808 | Mar 15, 1984 | Jan 6, 1987 | M/A-COM Government Systems, Inc. | Descrambler subscriber key production system utilizing key seeds stored in descrambler | | US4644493 | Sep 14, 1984 | Feb 17, 1987 | International Business Machines Corporation | Implementing a shared higher level of privilege on personal computers for copy protection of software | | US4649510 | Apr 30, 1982 | Mar 10, 1987 | | Methods and apparatus for the protection and control of computer programs | | US4670857 | Oct 26, 1981 | Jun 2, 1987 | | Cartridge-controlled system whose use is limited to authorized cartridges | | US4683553 | Feb 5, 1986 | Jul 28, 1987 | Cii Honeywell Bull (Societe Anonyme) | Method and device for protecting software delivered to a user by a supplier | | US4724541 | Jul 24, 1985 | Feb 9, 1988 | | Data-dependent binary encoder/decoder | | US4748561 | Jun 27, 1986 | May 31, 1988 | | Method of protecting computer software | | US4757468 | Apr 21, 1987 | Jul 12, 1988 | Intel Corporation | Authenticated read-only memory | | US4764959 | Aug 31, 1984 | Aug 16, 1988 | Kabushiki Kaisha Toshiba | Single-chip microcomputer with encryptable function on program memory | | US4791565 | Jun 20, 1984 | Dec 13, 1988 | Effective Security Systems, Inc. | Apparatus for controlling the use of computer software | | US4796181 | Oct 24, 1986 | Jan 3, 1989 | | Billing system for computer software | | US4807288 | Nov 30, 1983 | Feb 21, 1989 | C.I.I. Honeywell Bull Etat Francais represente par le Ministre des P.T.T. (C.N.E.T.) Establissement Public de diffusion dit Telediffusion de France | Microprocessor intended particularly for executing the calculation algorithms of a public code encoding system | | US4817140 | Nov 5, 1986 | Mar 28, 1989 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor | | US4827508 | Oct 14, 1985 | May 2, 1989 | Personal Library Software, Inc. | Database usage metering and protection system and method | | US4860351 | Nov 5, 1986 | Aug 22, 1989 | IBM Corporation | Tamper-resistant packaging for protection of information stored in electronic circuitry | | US4864494 | Mar 21, 1986 | Sep 5, 1989 | 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 | | US4866769 | Aug 5, 1987 | Sep 12, 1989 | IBM Corporation | Hardware assist for protecting PC software | | US4903296 | Nov 12, 1986 | Feb 20, 1990 | International Business Machines Corporation | Implementing a shared higher level of privilege on personal computers for copy protection of software | | US4905277 | Apr 17, 1989 | Feb 27, 1990 | Fujitsu Limited | Method for enciphering and deciphering instructions in a microcomputer, and a microcomputer used for effecting same | | US4977594 | Feb 16, 1989 | Dec 11, 1990 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method | | US4984189 | Apr 3, 1986 | Jan 8, 1991 | NEC Corporation | Digital data processing circuit equipped with full bit string reverse control circuit and shifter to perform full or partial bit string reverse operation and data shift operation | | US5007082 | Feb 26, 1990 | Apr 9, 1991 | Kelly Services, Inc. | Computer software encryption apparatus | | US5034980 | Jun 21, 1990 | Jul 23, 1991 | Intel Corporation | Microprocessor for providing copy protection | | US5047928 | Jan 3, 1989 | Sep 10, 1991 | | Billing system for computer software | | US5050213 | Aug 6, 1990 | Sep 17, 1991 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method | | US5081675 | Nov 13, 1989 | Jan 14, 1992 | | System for protection of software in memory against unauthorized use | | US5095525 | Jun 26, 1989 | Mar 10, 1992 | Rockwell International Corporation | Memory transformation apparatus and method | | US5109413 | Nov 28, 1989 | Apr 28, 1992 | International Business Machines Corporation | Manipulating rights-to-execute in connection with a software copy protection mechanism | | US5117457 | Jan 24, 1990 | May 26, 1992 | International Business Machines Corp. | Tamper resistant packaging for information protection in electronic circuitry | | US5123045 | Feb 7, 1990 | Jun 16, 1992 | Massachusetts Institute of Technology | Comprehensive software protection system | | US5146575 | Nov 5, 1986 | Sep 8, 1992 | International Business Machines Corp. | Implementing privilege on microprocessor systems for use in software asset protection | | US5155680 | Apr 27, 1989 | Oct 13, 1992 | Signal Security Technologies | Billing system for computing software | | US5214697 | Mar 27, 1991 | May 25, 1993 | Kabushiki Kaisha Toshiba | Program execution apparatus for ensuring security of a program | | US5309363 | Mar 5, 1992 | May 3, 1994 | Frank M. Graves | Remotely rechargeable postage meter | | US5319705 | Oct 21, 1992 | Jun 7, 1994 | International Business Machines Corporation | Method and system for multimedia access control enablement | | US5335277 | May 3, 1993 | Aug 2, 1994 | The Personalized Mass Media Corporation | Signal processing appparatus and methods | | US5410598 | Sep 27, 1994 | Apr 25, 1995 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method | | US5416840 | Jul 6, 1993 | May 16, 1995 | Phoenix Technologies, Ltd. | Software catalog encoding method and system | | US5497479 | Feb 28, 1995 | Mar 5, 1996 | SofTel, Inc. | Method and apparatus for remotely controlling and monitoring the use of computer software | | US5515540 | Dec 28, 1993 | May 7, 1996 | Dallas Semiconducter Corp. | Microprocessor with single pin for memory wipe | | US5530752 | Feb 22, 1994 | Jun 25, 1996 | Convex Computer Corporation | Systems and methods for protecting software from unlicensed copying and use | | US5563945 | Feb 28, 1994 | Oct 8, 1996 | Motorola Inc. | Data storage device | | US5613089 | Feb 22, 1996 | Mar 18, 1997 | SofTel, Inc. | Method and apparatus for remotely controlling and monitoring the use of computer software | | US5623549 | Jan 30, 1995 | Apr 22, 1997 | | Cipher mechanisms with fencing and balanced block mixing | | US5649187 | Sep 29, 1995 | Jul 15, 1997 | SofTel, Inc. | Method and apparatus for remotely controlling and monitoring the use of computer software | | US5675645 | Apr 18, 1995 | Oct 7, 1997 | Ricoh Company, Ltd. Ricoh Corporation | Method and apparatus for securing executable programs against copying | | US5765197 | Jan 2, 1996 | Jun 9, 1998 | International Business Machines Corporation | Method and system for authentication of a memory unit for a computer system | | US5802275 | Jun 22, 1994 | Sep 1, 1998 | Lucent Technologies Inc. | Isolation of non-secure software from secure software to limit virus infection | | US5860094 | Sep 6, 1996 | Jan 12, 1999 | Samsung Electronics Co., Ltd. | System for protecting information stored on physical media | | US5887243 | Jun 7, 1995 | Mar 23, 1999 | Personalized Media Communications, L.L.C. | Signal processing apparatus and methods | | US5892826 | Jan 30, 1996 | Apr 6, 1999 | Motorola, Inc. | Data processor with flexible data encryption | | US5892900 | Aug 30, 1996 | Apr 6, 1999 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US5910987 | Dec 4, 1996 | Jun 8, 1999 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US5915019 | Jan 8, 1997 | Jun 22, 1999 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US5917912 | Jan 8, 1997 | Jun 29, 1999 | InterTrust Technologies Corporation | System and methods for secure transaction management and electronic rights protection | | US5920861 | Feb 25, 1997 | Jul 6, 1999 | InterTrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures | | US5933498 | Nov 5, 1997 | Aug 3, 1999 | MRJ, Inc. | System for controlling access and distribution of digital property | | US5943421 | Sep 11, 1996 | Aug 24, 1999 | Norand Corporation | Processor having compression and encryption circuitry | | US5943422 | Aug 12, 1996 | Aug 24, 1999 | InterTrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels | | US5982887 | Dec 26, 1996 | Nov 9, 1999 | Casio Computer Co., Ltd. | Encrypted program executing apparatus | | US5982891 | Nov 4, 1997 | Nov 9, 1999 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US6052780 | Jul 3, 1997 | Apr 18, 2000 | Open Security Solutions, LLC | Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information | | US6112181 | Nov 6, 1997 | Aug 29, 2000 | InterTrust Technologies Corporation | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information | | US6138119 | Apr 27, 1999 | Oct 24, 2000 | InterTrust Technologies Corp. | Techniques for defining, using and manipulating rights management data structures | | US6157721 | Aug 12, 1996 | Dec 5, 2000 | InterTrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments | | US6157966 | Jun 29, 1998 | Dec 5, 2000 | Schlumberger Malco, Inc. | System and method for an ISO7816 complaint smart card to become master over a terminal | | US6182216 | Sep 16, 1998 | Jan 30, 2001 | | Block cipher method | | US6185683 | Dec 28, 1998 | Feb 6, 2001 | InterTrust Technologies Corp. | Trusted and secure techniques, systems and methods for item delivery and execution | | US6199162 | Feb 17, 2000 | Mar 6, 2001 | | Block cipher method | | US6237786 | Jun 17, 1999 | May 29, 2001 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US6240185 | Feb 10, 1999 | May 29, 2001 | Intertrust Technologies Corporation | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels | | US6253193 | Dec 9, 1998 | Jun 26, 2001 | InterTrust Technologies Corporation | Systems and methods for the secure transaction management and electronic rights protection | | US6292569 | Oct 4, 2000 | Sep 18, 2001 | InterTrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments | | US6308270 | Feb 13, 1998 | Oct 23, 2001 | Schlumberger Technologies, Inc. | Validating and certifying execution of a software program with a smart card | | US6314409 | Oct 26, 1998 | Nov 6, 2001 | Veridian Information Solutions | System for controlling access and distribution of digital property | | US6327619 | Jul 8, 1998 | Dec 4, 2001 | Nielsen Media Research, Inc. | Metering of internet content using a control | | US6330678 | Nov 29, 2000 | Dec 11, 2001 | | Block cipher method | | US6345359 | Nov 14, 1997 | Feb 5, 2002 | Raytheon Company | In-line decryption for protecting embedded software | | US6363488 | Jun 7, 1999 | Mar 26, 2002 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US6378072 | Feb 3, 1998 | Apr 23, 2002 | Compaq Computer Corporation | Cryptographic system | | US6389402 | Jun 9, 1999 | May 14, 2002 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US6427140 | Sep 3, 1999 | Jul 30, 2002 | InterTrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US6438694 | Jan 25, 2001 | Aug 20, 2002 | Mitsubishi Corporation | Apparatus for data copyright management system | | US6449367 | Feb 23, 2001 | Sep 10, 2002 | InterTrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels | | US6460079 | Mar 4, 1999 | Oct 1, 2002 | Nielsen Media Research, Inc. | Method and system for the discovery of cookies and other client information | | US6473861 | Dec 3, 1998 | Oct 29, 2002 | Joseph Forte | Magnetic optical encryption/decryption disk drive arrangement | | US6564995 | Sep 17, 1998 | May 20, 2003 | Schlumberger Malco, Inc. | Smart card application-selection | | US6578150 | Nov 29, 2000 | Jun 10, 2003 | | Block cipher method | | US6591229 | Oct 9, 1998 | Jul 8, 2003 | Schlumberger Industries, SA | Metrology device with programmable smart card | | US6618484 | Jul 5, 2002 | Sep 9, 2003 | InterTrust Technologies Corporation | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels | | US6658568 | Oct 26, 1999 | Dec 2, 2003 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management | | US6715085 | Apr 18, 2002 | Mar 30, 2004 | International Business Machines Corporation | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function | | US6741991 | Nov 2, 2001 | May 25, 2004 | Mitsubishi Corporation | Data management system | | US6751319 | Oct 23, 2001 | Jun 15, 2004 | | Block cipher method | | US6789197 | Oct 2, 2000 | Sep 7, 2004 | Mitsubishi Corporation | Apparatus for data copyright management system | | US6851056 | Apr 18, 2002 | Feb 1, 2005 | International Business Machines Corporation | Control function employing a requesting master id and a data address to qualify data access within an integrated system | | US6938021 | Oct 18, 2002 | Aug 30, 2005 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information | | US6948070 | Oct 30, 2000 | Sep 20, 2005 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection | | US6957335 | Oct 23, 2003 | Oct 18, 2005 | International Business Machines Corporation | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function | | US6990204 | Mar 26, 2001 | Jan 24, 2006 | Kabushiki Kaisha Toshiba | Interface security system and method | | US7016494 | Mar 26, 2001 | Mar 21, 2006 | Hewlett-Packard Development Company, L.P. | Multiple cryptographic key precompute and store | | US7051212 | May 30, 2002 | May 23, 2006 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US7062500 | Sep 28, 2000 | Jun 13, 2006 | Intertrust Technologies Corp. | Techniques for defining, using and manipulating rights management data structures | | US7065508 | Aug 20, 2004 | Jun 20, 2006 | SL Patent Holdings LLC | System and method for operating a licensing server | | US7069451 | Jun 29, 1999 | Jun 27, 2006 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US7076652 | Jan 19, 2001 | Jul 11, 2006 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection | | US7085743 | Sep 30, 2004 | Aug 1, 2006 | SL Patent Holdings LLC | System and method for creating and running protected information | | US7089212 | May 21, 2004 | Aug 8, 2006 | SL Patent Holdings LLC | System and method for controlling access to protected information | | US7089419 | Apr 18, 2002 | Aug 8, 2006 | International Business Machines Corporation | Control function with multiple security states for facilitating secure operation of an integrated system | | US7092908 | Nov 12, 2004 | Aug 15, 2006 | SL Patent Holdings LLC | System and method for selling protected information in an oem context | | US7092914 | Feb 4, 2000 | Aug 15, 2006 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information | | US7095854 | Oct 3, 2000 | Aug 22, 2006 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US7100199 | Oct 28, 2003 | Aug 29, 2006 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US7110983 | Oct 18, 2002 | Sep 19, 2006 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information | | US7120248 | Mar 26, 2001 | Oct 10, 2006 | Hewlett-Packard Development Company, L.P. | Multiple prime number generation using a parallel prime number search algorithm | | US7120800 | Jun 1, 2001 | Oct 10, 2006 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US7120802 | Aug 6, 2001 | Oct 10, 2006 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure computing environments | | US7124302 | Sep 10, 2001 | Oct 17, 2006 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US7133845 | Jun 9, 1999 | Nov 7, 2006 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection | | US7133846 | Sep 17, 1999 | Nov 7, 2006 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management | | US7143066 | Oct 18, 2002 | Nov 28, 2006 | Intertrust Technologies Corp. | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information | | US7143290 | Aug 4, 2000 | Nov 28, 2006 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution | | US7158954 | Oct 27, 2004 | Jan 2, 2007 | SL Patent Holdings LLC | System and method for processing protected video information | | US7165174 | Dec 17, 1999 | Jan 16, 2007 | Intertrust Technologies Corp. | Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management | | US7209901 | Aug 29, 2001 | Apr 24, 2007 | SL Patent Holdings LLC c/o AOL Time Warner | Method for selling, protecting, and redistributing digital goods | | US7233948 | Mar 25, 1999 | Jun 19, 2007 | Intertrust Technologies Corp. | Methods and apparatus for persistent control and protection of content | | US7243236 | Jul 28, 2000 | Jul 10, 2007 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments | | US7249103 | Dec 30, 2004 | Jul 24, 2007 | SL Patent Holdings, Inc. | System and method for selectively enabling access based on lineage analysis of digital information | | US7266842 | Apr 18, 2002 | Sep 4, 2007 | International Business Machines Corporation | Control function implementing selective transparent data authentication within an integrated system | | US7270193 | Feb 13, 2001 | Sep 18, 2007 | Kabushiki Kaisha Toshiba | Method and system for distributing programs using tamper resistant processor | | US7281133 | Apr 7, 2005 | Oct 9, 2007 | Intertrust Technologies Corp. | Trusted and secure techniques, systems and methods for item delivery and execution | | US7302415 | Jan 3, 2000 | Nov 27, 2007 | Intarsia LLC | Data copyright management system | | US7313677 | Oct 6, 2003 | Dec 25, 2007 | Arm Limited | Processing activity masking in a data processing system | | US7319988 | Oct 20, 2004 | Jan 15, 2008 | SL Patent Holdings LLC | System and method for processing protected audio information | | US7321910 | Sep 29, 2003 | Jan 22, 2008 | IP-First, LLC | Microprocessor apparatus and method for performing block cipher cryptographic functions | | US7330837 | Jan 19, 2001 | Feb 12, 2008 | SL Patent Holdings LLC | Method for adapting a software product to an environment | | US7353205 | Dec 30, 2004 | Apr 1, 2008 | SL Patent Holdings LLC | Method for causing a digital product to revert to a demo mode | | US7353207 | Dec 15, 2004 | Apr 1, 2008 | SL Patent Holdings LLC | Method of altering a software product in response to predetermined events | | US7356707 | Oct 23, 2003 | Apr 8, 2008 | International Business Machines Corporation | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function | | US7376073 | Dec 12, 2001 | May 20, 2008 | ECD Systems, Inc. | Optical storage medium having distortion regions, and a method of modifying an optical storage medium to include distortion regions | | US7383447 | Jul 25, 2005 | Jun 3, 2008 | Intarsia Software LLC | Method for controlling database copyrights | | US7392395 | Apr 7, 2005 | Jun 24, 2008 | Intertrust Technologies Corp. | Trusted and secure techniques, systems and methods for item delivery and execution | | US7392400 | Mar 15, 2004 | Jun 24, 2008 | Via Technologies, Inc. | Microprocessor apparatus and method for optimizing block cipher cryptographic functions | | US7415617 | Jul 22, 2004 | Aug 19, 2008 | Intertrust Technologies Corp. | Trusted infrastructure support systems, methods and techniques for secure electronic commerce, electronic transactions, commerce process control and automation, distributed computing, and rights management | | US7424622 | Sep 30, 2002 | Sep 9, 2008 | Kabushiki Kaisha Toshiba | Microprocessor with improved task management and table management mechanism | | US7430670 | Jul 31, 2000 | Sep 30, 2008 | Intertrust Technologies Corp. | Software self-defense systems and methods | | US7447914 | Jul 16, 1997 | Nov 4, 2008 | Intarsia Software LLC | Method for controlling database copyrights | | US7502943 | Apr 16, 2004 | Mar 10, 2009 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results | | US7519833 | Apr 16, 2004 | Apr 14, 2009 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine | | US7529367 | Apr 16, 2004 | May 5, 2009 | VIA Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions | | US7529368 | Apr 16, 2004 | May 5, 2009 | VIA Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions | | US7532722 | Dec 4, 2003 | May 12, 2009 | IP-First, LLC | Apparatus and method for performing transparent block cipher cryptographic functions | | US7536560 | Apr 16, 2004 | May 19, 2009 | VIA Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size | | US7539876 | Apr 16, 2004 | May 26, 2009 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor | | US7542566 | Apr 16, 2004 | Jun 2, 2009 | IP-First, LLC | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions | | US7555463 | Nov 13, 2006 | Jun 30, 2009 | SL Patent Holdings LLC | System and method for selectively changing parameter settings based on lineage analysis of digital information | | US7555780 | Feb 16, 2005 | Jun 30, 2009 | Symantec Corporation | Information security method and system | | US7562396 | Feb 1, 2002 | Jul 14, 2009 | ECD Systems, Inc. | Systems and methods for media authentication | | US7607147 | Dec 11, 1996 | Oct 20, 2009 | The Nielsen Company (US), LLC | Interactive service device metering systems | | US7643393 | Feb 5, 2004 | Jan 5, 2010 | ECD Systems, Inc. | Systems and methods for optical media modification | | US7644422 | Oct 31, 2002 | Jan 5, 2010 | The Nielsen Company (US), LLC | Interactive service device metering systems | | US7657758 | Dec 20, 2000 | Feb 2, 2010 | Fujitsu Limited | Processing apparatus and integrated circuit to prevent illicit access and reverse engineering | | US7673155 | May 9, 2008 | Mar 2, 2010 | Kabushiki Kaisha Toshiba | Microprocessor with improved task management and table management mechanism | | US7680889 | Mar 30, 2005 | Mar 16, 2010 | Nielsen Media Research, Inc. | Use of browser history file to determine web site reach | | US7716485 | Feb 5, 2004 | May 11, 2010 | SCA IPLA Holdings Inc. | Systems and methods for media authentication | | US7730323 | Nov 6, 2006 | Jun 1, 2010 | | Controlling database copyrights | | US7730324 | Nov 2, 2001 | Jun 1, 2010 | | Method for controlling database copyrights | | US7734251 | Jun 6, 1995 | Jun 8, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7747217 | Jun 7, 1995 | Jun 29, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7752649 | May 24, 1995 | Jul 6, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7752650 | Jun 2, 1995 | Jul 6, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7761890 | Jun 7, 1995 | Jul 20, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7764685 | Jun 2, 1995 | Jul 27, 2010 | Personalized Media Communications, L.L.C. | Signal processing apparatus and methods | | US7769170 | May 22, 1995 | Aug 3, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7769344 | May 16, 1995 | Aug 3, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7774809 | Jun 7, 1995 | Aug 10, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and method | | US7783252 | May 23, 1995 | Aug 24, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7784082 | May 23, 1995 | Aug 24, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7793332 | Jun 7, 1995 | Sep 7, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7797717 | May 23, 1995 | Sep 14, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7801304 | May 24, 1995 | Sep 21, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7801817 | Jul 20, 2006 | Sep 21, 2010 | | Digital content management system and apparatus | | US7805738 | Jun 6, 1995 | Sep 28, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7805748 | May 23, 1995 | Sep 28, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7805749 | Jun 7, 1995 | Sep 28, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7810115 | Jun 2, 1995 | Oct 5, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7814526 | Jun 6, 1995 | Oct 12, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7817208 | Jun 7, 1995 | Oct 19, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7818761 | Jun 7, 1995 | Oct 19, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7818776 | Jun 7, 1995 | Oct 19, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7818777 | Jun 7, 1995 | Oct 19, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7818778 | Jun 7, 1995 | Oct 19, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7823175 | Jun 6, 1995 | Oct 26, 2010 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US7827109 | Dec 13, 2001 | Nov 2, 2010 | | Digital content management system and apparatus | | US7827586 | Jun 6, 1995 | Nov 2, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7827587 | Jun 2, 1995 | Nov 2, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7830925 | May 24, 1995 | Nov 9, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7831204 | Mar 2, 1995 | Nov 9, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7831516 | Dec 6, 2006 | Nov 9, 2010 | SL Patent Holdings LLC | System and method for redistributing and licensing access to protected information among a plurality of devices | | US7836480 | Jun 7, 1995 | Nov 16, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7840976 | May 23, 1995 | Nov 23, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7844053 | Dec 5, 2003 | Nov 30, 2010 | IP-First, LLC | Microprocessor apparatus and method for performing block cipher cryptographic functions | | US7844835 | Sep 20, 2005 | Nov 30, 2010 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection | | US7844995 | Jun 7, 1995 | Nov 30, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7849479 | May 23, 1995 | Dec 7, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7849480 | May 26, 1995 | Dec 7, 2010 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US7849493 | May 19, 1995 | Dec 7, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7853803 | Aug 28, 2002 | Dec 14, 2010 | Verizon Corporate Services Group Inc. Raytheon BBN Technologies Corp. | System and method for thwarting buffer overflow attacks using encrypted process pointers | | US7856649 | May 24, 1995 | Dec 21, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7856650 | Aug 30, 1993 | Dec 21, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7860131 | Jun 7, 1995 | Dec 28, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7860249 | May 15, 1995 | Dec 28, 2010 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US7861263 | Jun 6, 1995 | Dec 28, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7861278 | May 19, 1995 | Dec 28, 2010 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7864248 | Jun 7, 1995 | Jan 4, 2011 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7864956 | Jun 7, 1995 | Jan 4, 2011 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7865920 | May 19, 1995 | Jan 4, 2011 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US7870581 | Jun 7, 1995 | Jan 11, 2011 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7889865 | Jun 7, 1995 | Feb 15, 2011 | Personalized Media Communications, L.L.C. | Signal processing apparatus and methods | | US7900055 | Mar 15, 2004 | Mar 1, 2011 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms | | US7908638 | Jun 7, 1995 | Mar 15, 2011 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US7917749 | May 22, 2006 | Mar 29, 2011 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection | | US7925891 | Mar 25, 2005 | Apr 12, 2011 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest | | US7925898 | Jun 14, 2006 | Apr 12, 2011 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments | | US7926084 | Jun 2, 1995 | Apr 12, 2011 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US7940931 | Jun 7, 1995 | May 10, 2011 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US7944806 | Apr 17, 2008 | May 17, 2011 | SCA IPLA Holdings Inc. | Method for modifying optical path on optical recording medium having distortion regions | | US7953223 | May 23, 1995 | May 31, 2011 | Personalized Media Communications, L.L.C. | Signal processing apparatus and methods | | US7958527 | Jun 7, 1995 | Jun 7, 2011 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7962417 | Sep 30, 2004 | Jun 14, 2011 | SL Patent Holdings LLC | System and method for distributing protected information | | US7966640 | Jun 7, 1995 | Jun 21, 2011 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US7979354 | Aug 31, 2006 | Jul 12, 2011 | Intarsia Software LLC | Controlling database copyrights | | US7986785 | Aug 29, 2006 | Jul 26, 2011 | Intarsia Software LLC | Data management | | US7992169 | Jun 7, 1995 | Aug 2, 2011 | Personalized Media Communications LLC | Signal processing apparatus and methods | | US8024810 | Jul 3, 2006 | Sep 20, 2011 | Intarsia Software LLC | Method and apparatus for protecting digital data by double re-encryption | | US8046791 | Jun 2, 1995 | Oct 25, 2011 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US8060755 | Mar 15, 2004 | Nov 15, 2011 | VIA Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine | | US8060903 | May 19, 1995 | Nov 15, 2011 | Personalized Media PMC Communications, L.L.C. | Signal processing apparatus and methods | | US8095798 | Mar 15, 2010 | Jan 10, 2012 | SCA IPLA Holdings Inc. | Systems and methods for media authentication | | US8112782 | Jun 2, 1995 | Feb 7, 2012 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | US8140435 | Nov 4, 2004 | Mar 20, 2012 | SL Patent Holdings LLC | System and method for processing protected text information | | US8181021 | Aug 20, 2007 | May 15, 2012 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection | | US8185473 | Apr 13, 2006 | May 22, 2012 | Intertrust Technologies Corporation | Trusted infrastructure support systems, methods and techniques for secure electronic commerce, electronic transactions, commerce process control and automation, distributed computing, and rights management | | US8191091 | Jun 7, 1995 | May 29, 2012 | Personalized Media Communications, LLC | Signal processing apparatus and methods | | USRE40405 | Oct 7, 1999 | Jun 24, 2008 | Ricoh Company, Ltd. | Method and apparatus for securing executable programs against copying | | USRE41657 | Jun 13, 2002 | Sep 7, 2010 | | Data management system | | USRE42163 | Jun 1, 2006 | Feb 22, 2011 | Intarsia Software LLC | Data management system |
Claims1. A device for processing enciphered information comprising: - addressing means for generating a digital address; means for accepting a portion of enciphered information from storage means at a location selected by said address;
- deciphering means for converting said portion of enciphered information into deciphered information by combining said portion of enciphered information with said address, so as to form a substitute portion of deciphered information; and
- processing means for executing a plurality of computer instructions as a function of said deciphered information.
2. The device of claim 1, wherein said deciphering means comprises: - first substitution means for transforming said portion of enciphered information into substitute information, said substitution means comprising table means retaining binary numbers arranged in a secret arrangement; and
- gate means for combining the bits of said substitute information with bits of said digital address using modulo-2addition, thereby forming combined information.
3. The device of claim 2, further comprising second substitution means for transforming said combined information into second substitute information, said second substitution means comprising table means retaining binary numbers arranged in a secret arrangement. 4. The device of claim 2, wherein said gate means combines a first portion of bits of said digital address with said substitute information, and further comprising second gate means for combining said substitute information with a second portion of the bits of said digital address. 5. The device of claim 1, wherein said deciphering means comprises: - first substitution means for transforming said portion of enciphered information into first substitute information;
- second substitution means for transforming said digital address into second substitute information; and
- gate means for combining said first substitute information with said second substitute information using modulo-2 addition, thereby forming combined information.
6. The device of claim 1, wherein said deciphering means comprises: - scrambling means for performing a substitution transformation on said digital address, thereby forming a scrambled address; and
- gate means for combining the bits of said scrambled address with bits of said portion of enciphered information using module-2 addition, thereby forming combined information.
7. The device of claim 6, wherein said scrambling means comprises: - grouping means for grouping the bits of said digital address into m sets;
- first substitution means for transforming said m sets of bits into m sets of substitute bits, said substitution means comprising m tables, each table retaining numbers arranged in a secret arrangement;
- transposition means for regrouping said m sets of substitute bits from said first substitution means into n groups, such that one bit from each set is transposed to each group;
- second substitution means for transforming said n groups of bits into n groups of substitute bits, said substitution means comprising n tables, each table retaining numbers arranged in a secret arrangement; and
- forming means for grouping said n groups of substitute bits from said second substitution means, thereby forming said scrambled address.
8. The device of claim 6, wherein said deciphering means further comprises substitution means for converting said portion of enciphered information into substitute information, said substitution means consisting of table means retaining numbers arranged in a secret arrangement. 9. The device of claim 1 further comprising enciphering means for converting plain information into enciphered information by combining said plain information with said address. 10. A cryptographic apparatus for converting a block of binary information into a product block cipher, said apparatus comprising: - means for accepting said block of binary information and grouping the bits of said block into m sets of n bits each;
- first substitution means for transforming said m sets of bits into m sets of substitute bits, said substitution means comprising m tables, each table retaining 2.sup.n different numbers consisting of n bits each, arranged in said table in one secret arrangement out of 2.sup.n ! arrangements;
- transposition means for regrouping said m sets of n substitute bits from said first substitution means into n groups of m bits each, such that one and only one bit from each set is transposed to each group;
- second substitution means for transforming said n groups of bits into n groups of substitute bits, said substitution means comprising n tables, each table retaining 2.sup.m different numbers consisting of m bits each, arranged in said table in one secret arrangement out of 2.sup.m ! arrangements; and
- forming means for grouping said n groups of m bits from said second substitution means to form said product block cipher.
11. A process for deciphering enciphered information comprising the steps of: - generating a digital address; obtaining a byte of enciphered information from a location specified by said digital address;
- combining said byte of enciphered information with said address, thereby forming a substitute byte of deciphered information; and
- repeating the above steps for each of a plurality of addresses.
12. The process of claim 11, wherein said combining step comprises: - selecting a first subset of bits from said address;
- selecting a second subset of bits from said address;
- combining said addressed byte of enciphered information with said first address subset, thereby forming a combined byte;
- forming a substitute byte as a function of said combined byte; and
- combining said substitute byte with said second address subset, thereby forming a deciphered byte.
13. The process of claim 12, wherein said first combining step comprises: - forming a second substitute byte as a function of said addressed byte; and
- adding said second substitute byte to said first address subset, using modulo-2 addition.
14. The process of claim 12, wherein said first combining step comprises: - forming a second substitute byte as a function of said first address subset; and
- adding said second substitute byte to said addressed byte, using modulo-2 addition.
15. The process of claim 11, wherein said combining step comprises: - selecting a first subset of bits from said address;
- selecting a second subset of bits from said address;
- forming a first substitute byte as a function of said first address subset;
- forming a second substitute byte as a function of said second address subset;
- combining said addressed byte of enciphered information with said first substitute byte, thereby forming a combined byte; and
- combining said combined byte with said second substitute byte, thereby forming a deciphered byte.
16. The process of claim 11, wherein said combining step comprises: - substituting a scrambled address for said generated address;
- adding said scrambled address to said byte of enciphered information using modulo-2 addition, thereby forming a deciphered byte.
17. The process of claim 16, wherein said substituting step comprises the steps of: - grouping the bits of said generated address into a plurality of sets;
- substituting one substitute set of bits for each said set, as determined by a secret arrangement of numbers in a substitution table means;
- transposing said substitute bits to form a plurality of groups of bits, such that one bit from each said set is transposed to each said group; and
- substituting one substitute group of bits for each said group, as determined by a secret arrangement of numbers in a substitution table means, thereby producing a scrambled address.
18. The process of claim 16 further comprising a step of combining a first portion of said scrambled address with a second portion of said address using modulo-2 addition, thereby producing a doubly scrambled address. 19. The process of claim 11 further comprising a step of enciphering said digital address such that said location is a secret function of said digital address. 20. A process for enciphering plain information comprising the steps of: - generating an address for selecting the location where a byte of enciphered information will be stored during a later storing step;
- substituting a scrambled address for said generated address;
- adding said scrambled address to one byte of said plain information using modulo-2 addition, thereby forming an enciphered byte;
- storing said enciphered byte into a storage means at a location selected by said address; and
- repeating the above steps for each of a plurality of plain bytes.
21. A process for enciphering a block of binary information comprising the steps of: - grouping the bits of said block into m sets, each set having n bits, where m and n are both greater than one;
- substituting for each said set of n bits, one combination of n bits out of 2.sup.n ! combinations of n bits, as determined by a secret arrangement of said combinations in a substitution table means;
- transposing said substitute bits to form n groups of m bits each, such that one and only one bit from each said combination of n bits is transposed to each said group of m bits; and
- substituting for each said group of m bits, one combination of m bits out of 2.sup.m ! combinations of m bits, as determined by a secret arrangement of said combinations in a substitution table means, thereby producing a product block cipher.
22. The process of claim 21 for enciphering a 16-bit number, comprising the steps of: - grouping the bits of said number into four 4-bit sets;
- substituting a 4-bit substitution cipher for each said set;
- transposing the 16 bits from said four substitution ciphers to form four 4-bit groups, such that each group obtains one and only one bit from each said set; and
substituting a 4-bit substitution cipher for each said group, thereby producing a cipher block of 16 bits. 23. The process of claim 21 for enciphering a 20-bit number, comprising the steps of: - grouping the bits of said number into four 5-bit sets;
- substituting a 5-bit substitution cipher for each said set;
- transposing the 20 bits from said four substitution ciphers to form five 4-bit groups, such that each group obtains one and only one bit from each said set; and
- substituting a 4-bit substitution cipher for each said group, thereby producing a cipher block of 20 bits.
24. The process of claim 21 for enciphering a 25-bit number, comprising the steps of: - grouping the bits of said number into five 5-bit sets;
- substituting a 5-bit substitution cipher for each said set;
- transposing the 25 bits from said five substitution ciphers to form five 5-bit groups, such that each group obtains one and only one bit from each said set; and
- substituting a 5-bit substitution cipher for each said group, thereby producing a cipher block of 25 bits.
25. A microprocessor apparatus for executing a computer program stored in enciphered form as a plurality of bytes of enciphered information, while protecting the deciphered form of the program, wherein each said byte of enciphered information is identified by a digital address, the apparatus comprising: - deciphering means using alternating steps of substitution and exclusive-OR addition for combining a byte of said enciphered information with its corresponding digital address as a function of substitution information so as to produce a byte of deciphered information;
- memory means for storing said substitution information during the production of said byte of deciphered information by said deciphering means; and
- processing means for fetching a byte of said deciphered information containing at least a portion of an executable instruction, and for executing said executable instruction, and for addressing a successor byte of enciphered information, said processing means being operative to produce output information from which less than a significant part of said program in deciphered form can be obtained.
26. The apparatus of claim 25, further comprising protective body means of rigid material intimately surrounding said deciphering means, said memory means, and said processing means, for deterring access by anyone to said deciphering means, memory means, and processing means. 27. The apparatus of claim 26, wherein said memory means comprises volatile memory means continuously powered by electrical supply means through a power conductor embedded in said rigid material, wherein damage to said rigid material opens said power conductor and results in erasure of said substitution information. 28. The apparatus of claim 26, wherein said deciphering means, said memory means, and said processing means are constructed as an integrated circuit on a chip of semiconductor material, wherein said chip of semiconductor material comprises a portion of said rigid material, and wherein a second portion of said rigid material consists of opaque glass covering said integrated circuit. 29. The apparatus of claim 26, wherein said deciphering means, said memory means, and said processing means are constructed as a hybrid integrated circuit on chips of semiconductor material, wherein said rigid material includes potting resin in which said hybrid integrated circuit is embedded. 30. A microprocessor apparatus for executing a computer program stored in enciphered form as a plurality of bytes of enciphered information, while protecting the deciphered form of the program, wherein each said byte of enciphered information is identified by a digital address, the apparatus comprising: - scrambling means for performing a substitution transformation on the digital address of a byte of said enciphered information, so as to produce a scrambled address:
- means for deciphering said byte of enciphered information by combining said scrambled address with said byte of enciphered information so as to produce a byte of deciphered information; and
- processing means for fetching a byte of said deciphered information containing at least a portion of an executable instruction, for executing said executable instruction, and for addressing a successor byte of enciphered information, said processing means being operative to produce output information from which less than a significant part of said program in deciphered form can be obtained.
31. The apparatus of claim 30, further comprising protective body means of rigid material intimately surrounding said scrambling means, said deciphering means, and said processing means, for deterring access by anyone to said scrambling means, deciphering means, and processing means. 32. The apparatus of claim 31, wherein the operation of said scrambling means is a function of substitution information, wherein said apparatus further comprises volatile memory means for storing said substitution information during the production of said scrambled address, and wherein said protective body means intimately surrounds said volatile memory means in addition to said scrambling means, said deciphering means and said processing means. 33. The apparatus of claim 30, wherein said scrambling means comprises substitution table means retaining binary integers arranged in a secret arrangement, wherein a portion of said scrambled address is obtained from said substitution table means by table lookup of a portion of said digital address. 34. The apparatus of claim 30, wherein said scrambling means comprises: - grouping means for grouping the bits of said digital address into m sets;
- first substitution means for transforming said m sets of bits into m sets of substitute bits, said substitution means comprising m tables, each table retaining integers arranged in a secret arrangement;
- transposition means for regrouping said m sets of substitute bits from said first substitution means into n groups, such that one bit from each set is transposed to each group;
- second substitution means for transforming said n groups of bits into n groups of substitute bits, said substitution means comprising n tables, each table retaining integers arranged in a secret arrangement; and
- forming means for grouping said n groups of bits from said second substitution means, thereby forming said scrambled address.
35. The apparatus of claim 30, wherein said deciphering means comprises exclusive-OR means for combining said scrambled address with said byte of enciphered information using modulo-2 addition. 36. The apparatus of claim 30, wherein said deciphering means further comprises substitution table means for converting said byte of enciphered information into substitute information. 37. A microprocessor apparatus for executing a computer program stored in enciphered form as a plurality of bytes of enciphered information, while protecting the deciphered form of the program, wherein each said byte of enciphered information is identified by a digital address, the apparatus comprising: - memory means for storing a plurality of bytes of information;
- deciphering means for combining a byte of enciphered information obtained from said memory means with its corresponding digital address so as to produce a byte of deciphered information;
- processing means for fetching a byte of said deciphered information containing at least a portion of an executable instruction, for executing said executable instruction, and for addressing a successor byte of enciphered information, said processing means being operative to produce output information from which less than a significant part of said program in deciphered form can be obtained; and
- protective body means of rigid material intimately surrounding said deciphering means, said memory means, and said processing means, for deterring access by anyone to said deciphering means, memory means, and processing means.
38. The apparatus of claim 37, wherein the operation of said deciphering means is a function of substitution information, wherein said apparatus further comprises volatile storage means for storing said substitution information during the production of said deciphered information, and wherein said protective body means intimately surrounds said volatile storage means in addition to said memory means, said deciphering means and said processing means. 39. A microprocessor apparatus for providing restricted access to data information available to the apparatus in enciphered form, while controlling the amount of the data information output by the apparatus in deciphered form, wherein each byte of said enciphered data information is identified by a digital address, the apparatus comprising: - deciphering means for combining a byte of enciphered information with its corresponding digital address so as to produce a byte of deciphered information;
- processing means for fetching and executing a plurality of executable instructions, and for addressing portions of enciphered information responsive to said instructions, so as to restrict the portions of enciphered information which are deciphered by said deciphering means, and for producing output information from said byte of deciphered information; and
- protective body means of rigid material intimately surrounding said deciphering means and said processing means, for deterring access by anyone to said deciphering means, processing means, and executable instructions.
40. A cryptographic microprocessor constructed as an integrated circuit chip comprising: - substitution table means included in said chip for cryptographically transforming a byte of an enciphered program of executable instructions obtained from a storage means location to produce a byte of deciphered information;
- processing means included in said chip for fetching a byte of said deciphered information containing at least a portion of an executable instruction in said program, and for executing said executable instruction, and for fetching a byte of said deciphered information containing at least a portion of a storage means address, and for addressing a location in said storage means specified by the storage means address to select a byte of said enciphered program for transforming by said table means, the processing means being operative to produce output information;
- external bus means for conveying said output information to a location externally of the microprocessor; and
- internal bus means included in said chip for conveying said instruction portion and said address portion from said substitution table means to said processing means, the internal bus means being selectively isolated from said external bus means so as to prevent external access through said external bus means to portions of said deciphered information.
41. A cryptographic microprocessor for executing a computer program stored in enciphered form as a plurality of portions of enciphered information, while protecting the deciphered form of the program, the apparatus comprising: - first substitution means comprising m tables of integers, the integers in each table having a predetermined permutation, for transforming m portions of said enciphered information into m sets of substitute bits, wherein m is greater than one;
- transposition means for regrouping said m sets of substitute bits into n groups of bits and for transposing one bit from each set to each group, wherein n is greater than one;
- second substitution means comprising n tables of integers, the integers in each table having a predetermined permutation, for transforming said n groups of bits into n groups of substitute bits, wherein said n groups of substitute bits comprise a portion of deciphered information;
- processing means for fetching a byte of said deciphered information containing at least a portion of an executable instruction, and for executing said executable instruction, and for fetching a byte of said deciphered information containing at least a portion of a storage means address, the processing means being operative to produce output information; and
- external bus means for conveying said output information externally of the microprocessor.
42. The microprocessor of claim 41, further comprising: - internal bus means for conveying said instruction portion and said address portion from said second substitution means to said processing means, the internal bus means being selectively isolated from said external bus means so as to prevent external access via said external bus means to portions of said deciphered information.
43. The microprocessor of claim 41, further comprising: - internal bus means for conveying said instruction portion and said address portion from said second substitution means to said processing means; and
- buffer means connected to receive said output information from said processing means, and connected to said external bus means, and operating under control of said processing means in either an output state or an isolation state, and for conveying said output information to said external bus means during said output state, and for substantially isolating said internal bus means from said external bus means during said isolation state, said processing means effecting the isolation state of the buffer means during said fetching of a byte of said deciphered information via said internal bus means, thereby preventing external access via said external bus means to said computer program in deciphered form.
44. The microprocessor of claim 41, further comprising memory means for storing said portions of enciphered information. 45. The microprocessor of claim 41, further comprising enciphering means for transforming a portion of unenciphered information into a portion of enciphered information. 46. A cryptographic microprocessor for providing limited access to data information available to the apparatus in enciphered form, while controlling the amount of the data information output by the apparatus in deciphered form, the apparatus comprising: - first substitution means comprising m tables of integers, the integers in each table having a predetermined permutation, for transforming portions of said enciphered information into m sets of substitute bits, wherein m is greater than one;
- transposition means for regrouping said m sets of substitute bits into n groups of bits and for transposing one bit from each set to each group, wherein n is greater than one;
- second substitution means comprising n tables of integers, the integers in each table having a predetermined permutation, for transforming said n groups of bits into n groups of substitute bits, wherein said n groups of substitute bits comprise a portion of deciphered information;
- processing means for fetching and executing a plurality of executable instructions, and for addressing portions of said enciphered information responsive to said instructions, and for producing output information from said portion of deciphered information;
- external bus means for conveying said output information externally of the apparatus; and
- internal bus means selectively isolated from said external bus means, for conveying said portion of decipered information from said second substitution means to said processing means, the isolation between said buses preventing external access via said external bus means to portions of said deciphered information not output by said processing means.
47. The microprocessor of claim 46, further comprising memory means for storing said portions of enciphered information. 48. A cryptographic apparatus for converting a block of binary information into a product block cipher, the apparatus comprising: - first substitution means comprising m tables of integers, the integers in each table having a predetermined permutation, for transforming m portions of said block into m sets of substitute bits, wherein m is greater than one;
- transposition means for regrouping said m sets of substitute bits into n groups of bits and for transposing one bit from each set to each group, wherein n is greater than one; and
- second substitution means comprising n tables of integers, the integers in each table having a predetermined permutation, for transforming said n groups of bits into n groups of substitute bits, wherein said n groups of substitute bits comprise said product block cipher.
49. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of instructions stored in enciphered form in a storage means as a plurality of bytes of enciphered program information, the apparatus comprising: - deciphering means included in said chip for cryptographically transforming a portion of said enciphered program information obtained from a storage means location to produce a portion of deciphered information;
- processing means included in said chip for fetching a byte of said deciphered information containing at least a portion of an executable instruction in said program, and for executing said executable instruction, and for fetching a byte of said deciphered information containing at least a portion of a storage means address, and for addressing a location in said storage means specified by the storage means address to select a portion of said enciphered program information for transforming by said deciphering means, the processing means being operative to produce output information;
- external bus means for conveying said output information to a location externally of the apparatus; and
- internal bus means included in said chip for conveying said instruction portion and said address portion from said deciphering means to said processing means, the internal bus means being selectively isolated from said external bus means so as to prevent external access through said external bus means to portions of said deciphered information.
50. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of instructions stored in enciphered form in a storage means as a plurality of bytes of enciphered program information, the apparatus comprising: - deciphering means included in said chip for cryptographically transforming a portion of said enciphered program information obtained from a storage means location to produce a portion of deciphered information;
- processing means included in said chip for fetching a byte of said deciphered information containing at least a portion of an executable instruction in said program, and for executing said executable instruction, and for fetching a byte of said deciphered information containing at least a portion of a storage means address, and for addressing a location in said storage means specified by the storage means address to select a portion of said enciphered program information for transforming by said deciphering means, the processing means being operative to produce output information;
- external bus means for conveying said output information to a location externally of the apparatus;
- internal bus means included in said chip for conveying said instruction portion and said address portion from said deciphering means to said processing means; and
- buffer means included in said chip and connected to receive said output information from said processing means, and connected to said external bus means, and operating under control of said processing means in either an output state or an isolation state, and for conveying said output information to said external bus means during said output state, and for substantially isolating said internal bus means for said external bus means during said isolation state, said processing means effecting the isolation state of the buffer means during said fetching of a byte of said deciphered information through said internal bus means, thereby preventing external access through said external bus means to said computer program in deciphered form.
51. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as a plurality of bytes of enciphered program information, the apparatus comprising: - deciphering means for cryptographically transforming a portion of said enciphered program information into a portion of deciphered information;
- processing means for fetching a byte of said deciphered information containing at least a portion of an executable instruction, and for executing said executable instruction, and for fetching a byte of said deciphered information containing at least a portion of a storage means address, the processing means being operative to produce output information;
- external bus means for conveying said output information to a location externally of the apparatus; and
- internal bus means for conveying said instruction portion and said address portion from said deciphering means to said processing means, the internal bus means being selectively isolated from said external bus means so as to prevent external access through said external bus means to portions of said deciphered information.
52. A cryptographic microprocessor apparatus for executing a computer program of instructions including executable portions stored in enciphered form as portions of enciphered program information, portions of the program being stored at respective storage means locations, each location having a storage means address, the apparatus comprising: - deciphering means for cryptographically transforming a portion of said enciphered program information from said storage means to produce a portion of deciphered information;
- processing means for fetching a byte of said deciphered information containing an executable portion of an instruction in said program, and for executing said instruction, and for fetching a byte containing at least a portion of a specific address in said program, and for addressing in said storage means a location specified by said specific address to select a subsequent portion of said enciphered program information for transforming by said deciphering means; and
- internal bus means for conveying said executable portion form said deciphering means to said processing means, the internal bus means being isolated from external access during conveying of said executable portion so as to prevent external access to portions of said program in deciphered form.
53. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of instructions including executable portions and address portions stored in enciphered form as a plurality of bytes of enciphered program information at respective storage means locations, the apparatus comprising: - deciphering means included in said chip for cryptographically transforming a portion of said enciphered program information from said storage means to produce a portion of deciphered information;
- processing means included in said chip for fetching a byte of said deciphered information containing an executable portion of an instruction in said program, and for executing said instruction, and for fetching a byte of said deciphered information containing at least a portion of a deciphered address in said program, and for addressing in said storage means a location specified by said deciphered address to select a subsequent portion of said enciphered program information for transforming by said deciphering means; and
- internal bus means included in said chip for conveying said executable portion and said address portion from said deciphering means to said processing means, the internal bus means being isolated from external access during said conveying so as to prevent external access to portions of said program in deciphered form.
|