A Block-Cipher Cryptographic System utilizing a unique user supplied key to control the cryptographic function and including means for modifying an input data block prior to performing a key-controlled transformation operation thereon. Said means includes means for extracting a segment of data utilized in a prior cryptographic transformation of the system and combining said segment with the input data block. The means for combining comprises a transformation which is a discrete valued function which in the preferred embodiment is an exclusive-or. In the preferred embodiment of the invention a block of ciphertext data is combined with the just succeeding input data block by an exclusive-or operation prior to the key-controlled transformation operation which produces said ciphertext blocks. |
Citations|
| US3657699 | Jun 30, 1970 | Apr 18, 1972 | | MULTIPATH ENCODER-DECODER ARRANGEMENT | | US3740475 | Aug 16, 1971 | Jun 1, 1973 | | APPARATUS FOR PRODUCING CODING PULSE | | US3798359 | Jun 30, 1971 | 1974 | | HSXA
HSSA | | US3798360 | Jun 30, 1971 | Mar 19, 1974 | | KEY
REGISTER | | US3911216 | Dec 17, 1973 | 1975 | | NONLINEAR CODE GENERATOR AND
DECODER FOR TRANSMITTING DATA
SECURELY |
Referenced by|
| US4157454 | Dec 19, 1977 | Jun 5, 1979 | International Business Machines Corporation | Method and system for machine enciphering and deciphering | | US4229818 | Dec 29, 1978 | Oct 21, 1980 | International Business Machines Corporation | Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system | | US4249180 | Sep 20, 1978 | Feb 3, 1981 | Northern Telecom Limited | Past dependent microcomputer cipher apparatus | | US4259720 | Jan 9, 1978 | Mar 31, 1981 | Interbank Card Association | Security system for electronic funds transfer system | | US4304961 | Mar 3, 1980 | Dec 8, 1981 | Burroughs Corporation | Authenticator code generator | | US4408203 | Nov 10, 1980 | Oct 4, 1983 | MasterCard International, Inc. | Security system for electronic funds transfer system | | US4658292 | Apr 27, 1983 | Apr 14, 1987 | NEC Corporation | Enciphering key distribution system for subscription TV broadcast or catv system | | US4661980 | Jun 25, 1982 | Apr 28, 1987 | The United States of America as represented by the Secretary of the Navy | Intercept resistant data transmission system | | US4731843 | Dec 30, 1985 | Mar 15, 1988 | Paradyne Corporation | Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier | | US4757533 | Sep 11, 1985 | Jul 12, 1988 | Computer Security Corporation | Security system for microcomputers | | US5003596 | Aug 17, 1989 | Mar 26, 1991 | Cryptech, Inc. | Method of cryptographically transforming electronic digital data from one form to another | | US5068895 | Apr 26, 1989 | Nov 26, 1991 | NEC Corporation | Encryption and decryption methods using bit-length preservation decryptor | | US5159634 | Sep 13, 1991 | Oct 27, 1992 | AT&T Bell Laboratories | Cryptosystem for cellular telephony | | US5235641 | Mar 12, 1991 | Aug 10, 1993 | Hitachi, Ltd. | File encryption method and file cryptographic system | | US5367410 | Mar 1, 1993 | Nov 22, 1994 | Hewlett-Packard Company | Storage of data on tape in multi-track frames of interleaved data, with data transfer on individual track basis | | US5377266 | Jul 21, 1993 | Dec 27, 1994 | Matsushita Electric Industrial Co., Ltd. | Scramble apparatus and descramble apparatus | | US5592553 | Feb 8, 1996 | Jan 7, 1997 | International Business Machines Corporation | Authentication system using one-time passwords | | US5636279 | Sep 23, 1994 | Jun 3, 1997 | Matsushita Electric Industrial Co., Ltd. | Scramble apparatus and descramble apparatus | | US5647001 | Jan 23, 1996 | Jul 8, 1997 | Litton Systems, Inc. | Nonlinear dynamic substitution devices and methods for block substitutions employing coset decompositions and direct geometric generation | | US5664016 | Oct 17, 1995 | Sep 2, 1997 | Northern Telecom Limited | Method of building fast MACS from hash functions | | US5684876 | Sep 23, 1996 | Nov 4, 1997 | Scientific-Atlanta, Inc. | Apparatus and method for cipher stealing when encrypting MPEG transport packets | | US5724428 | Nov 1, 1995 | Mar 3, 1998 | RSA Data Security, Inc. | Block encryption algorithm with data-dependent rotations | | US5727062 | Jul 6, 1995 | Mar 10, 1998 | | Variable size block ciphers | | US5838794 | Jan 11, 1996 | Nov 17, 1998 | Teledyne Electronic Technologies | Method and apparatus for inter-round mixing in iterated block substitution systems | | US5838795 | Jul 7, 1997 | Nov 17, 1998 | Teledyne Industries, Inc. | Method and apparatus for statistical diffusion in iterated block substitution | | US5838796 | Jul 7, 1997 | Nov 17, 1998 | Teledyne Industries, Inc. | Statistically optimized bit permutations in interated block substitution systems | | US5978481 | Apr 22, 1997 | Nov 2, 1999 | Intel Corporation | Modem compatible method and apparatus for encrypting data that is transparent to software applications | | US6038317 | Apr 8, 1998 | Mar 14, 2000 | | Secret key cryptosystem and method utilizing factorizations of permutation groups of arbitrary order 2.sup.l | | US6154544 | Jun 11, 1997 | Nov 28, 2000 | The Chamberlain Group, Inc. | Rolling code security system | | US6175312 | Dec 4, 1992 | Jan 16, 2001 | Microchip Technology Incorporated | Encoder and decoder microchips and remote control devices for secure unidirectional communication | | US6182216 | Sep 16, 1998 | Jan 30, 2001 | | Block cipher method | | US6199162 | Feb 17, 2000 | Mar 6, 2001 | | Block cipher method | | US6215876 | Dec 31, 1997 | Apr 10, 2001 | Transcrypt International, Inc. | Apparatus for and method of detecting initialization vector errors and maintaining cryptographic synchronization without substantial increase in overhead | | US6249582 | Dec 31, 1997 | Jun 19, 2001 | Transcrypt International, Inc. | Apparatus for and method of overhead reduction in a block cipher | | US6269163 | Jun 15, 1998 | Jul 31, 2001 | RSA Security Inc. | Enhanced block ciphers with data-dependent rotations | | US6330678 | Nov 29, 2000 | Dec 11, 2001 | | Block cipher method | | US6459792 | Apr 22, 1998 | Oct 1, 2002 | Matsushita Electric Industrial Co., Ltd. | Block cipher using key data merged with an intermediate block generated from a previous block | | US6493449 | Feb 26, 1998 | Dec 10, 2002 | Arithmetica, Inc. | Method and apparatus for cryptographically secure algebraic key establishment protocols based on monoids | | US6578150 | Nov 29, 2000 | Jun 10, 2003 | | Block cipher method | | US6690796 | Jan 21, 2000 | Feb 10, 2004 | The Chamberlain Group, Inc. | Rolling code security system | | US6751319 | Oct 23, 2001 | Jun 15, 2004 | | Block cipher method | | US6760439 | Mar 7, 2000 | Jul 6, 2004 | Deutsche Telekom AG | Device for implementing a block-ciphering process | | US6980655 | Oct 17, 2001 | Dec 27, 2005 | The Chamberlain Group, Inc. | Rolling code security system | | US7136484 | Apr 24, 2002 | Nov 14, 2006 | Silicon Image, Inc. | Cryptosystems using commuting pairs in a monoid | | US7260217 | Mar 6, 2002 | Aug 21, 2007 | Cavium Networks, Inc. | Speculative execution for data ciphering operations | | US7277543 | Nov 14, 2000 | Oct 2, 2007 | Honeywell International Inc. | Cryptographic combiner using two sequential non-associative operations | | US7376235 | Jul 29, 2002 | May 20, 2008 | Microsoft Corporation | Methods and systems for frustrating statistical attacks by injecting pseudo data into a data system | | US7412056 | Sep 29, 2003 | Aug 12, 2008 | The Chamberlain Group, Inc. | Rolling code security system | | US7433470 | Sep 28, 2004 | Oct 7, 2008 | Sony Corporation | Cryptographic processing apparatus, cryptographic processing method, and computer program | | US7492898 | Jul 2, 2004 | Feb 17, 2009 | The Chamberlain Group, Inc. | Rolling code security system | | US7492905 | Aug 14, 2002 | Feb 17, 2009 | The Chamberlain Group, Inc. | Rolling code security system | | US7623663 | Dec 21, 2005 | Nov 24, 2009 | The Chamberlain Group, Inc. | Rolling code security system | | US7673153 | Mar 14, 2000 | Mar 2, 2010 | Sony Corporation | Data processing method, apparatus and system for encrypted data transfer | | US7889864 | Apr 6, 2006 | Feb 15, 2011 | Panasonic Corporation | Data processing system and method | | US8023648 | Jan 11, 2008 | Sep 20, 2011 | Valtion Teknillinen Tutkimuskesjus | Anonymous telecommunication traffic measurement data associated user identifications | | US8031866 | Sep 16, 2008 | Oct 4, 2011 | Sony Corporation | Cryptographic processing apparatus and cryptographic processing method, and computer program | | US8180048 | Sep 14, 2004 | May 15, 2012 | Prahlad P. Singanamala | Method and system for computational transformation | | US8194856 | Jul 22, 2008 | Jun 5, 2012 | The Chamberlain Group, Inc. | Rolling code security system | | US8233625 | Jul 22, 2008 | Jul 31, 2012 | The Chamberlain Group, Inc. | Rolling code security system |
Claims1. In a cryptographic system which includes a key-controlled block-cipher cryptographic process which comprises taking an input data block of fixed size, called a full-block and cryptographically transforming same into an output data block of the same fixed size as a function of a unique user supplied key, the improvement which comprises - combining each new block of input data and initially transforming same by a mathematically invertible function which depends on a data word which existed during a previous key-controlled block-cipher cryptographic transformation and using said transformed data block as the input block to said key-controlled block-cipher cryptographic transformation.
2. A cryptographic method as set forth in claim 1 including using the output data block of a previous key-controlled block-cipher cryptographic transformation as said previously existing data word. 3. A cryptographic method as set forth in claim 2 including selecting the output data block of the immediately preceding key-controlled block-cipher cryptographic transformation as said previously existing data word. 4. A cryptographic method as set forth in claim 3 including using a predetermined constant in place of said previously existing data word during an encryption sequence when there is no available data word. 5. A cryptographic method as set forth in claim 4 wherein the invertible mathematical transformation utilized in combining a new input data block with a previously existing data word is a bitwise exclusive-or operation. 6. A cryptographic method as set forth in claim 3 including detecting that a data block that is shorter than the fixed full-block size required by the block-cipher cryptographic process, is to be transformed by the cryptographic system comprising; - determining the length of the short-block,
- transforming a previously existing data word by the block-cipher cryptographic process, to produce a full output data block, then
- transforming said input short block into an output short block of the same size by a mathematically invertible function of said input short block, said function depending on said full output data word.
7. A cryptographic method as set forth in claim 6, including utilizing the cryptographically transformed output data block of the previous cryptographic transformation as the previously existing data word for said further block-cipher cryptographic process for producing said short output data block and further including the step of retaining said further cryptographically tranformed data word for use in the combining operation for the next input data block if one is present. 8. In a key-controlled block-cipher cryptographic system including input data chaining means for cryptographically transforming an input data block x.sub.i ' into an output data block y.sub.i under control of a unique user supplied key K whereby the output data block is cryptographically transformed in accordance with the relationship: - y.sub.i = f.sub.K (x.sub.i ')
- and wherein x.sub.i ' may be retrieved in accordance with the relationship:
- x.sub.i ' = f.sub.K.sup.-1 (y.sub.i)
- the improvement which comprises means for chaining successive blocks (x.sub.i) of input data and performing an initial transformation thereon prior to said block-cipher cryptographic transformation defined by the relationship:
- x.sub.i ' = x.sub.i + u.sub.i
- where u.sub.i comprises a data word which was utilized in the block-cipher cryptographic system during a preceding transformation and wherein + comprises a logical element which performs a dyadic operation having a right inverse.
9. A key-controlled cryptographic system as set forth in claim 8 including exclusive-or circuit means for performing said + function and means for introducing a cryptographically transformed output block u.sub.i from a prior block-cipher cryptographic transformation to said exclusive-or means as one input thereto, means for supplying a current input block x.sub.i as the other output. 10. In a block-cipher cryptographic system including a key-controlled block-cipher cryptographic subsystem having means for cryptographically transforming an input of data block of a fixed predetermined length into a output block of the same length as a function of a unique user supplied key, the improvement which comprises an initial transformation system including means for combining each new block of input data in an initial transformation as a mathematically invertible function, said transformation depending on an output data block from a previous cryptographic transformation and means for supplying said data word to said combining means as each new input block is received, said combining means including logic means for performing said mathematically invertible function on said input data block which function depends on said supplied data word, and means for supplying said initially transformed input data block to the key-controlled cryptographic subsystem as the input data block thereto. 11. A key-controlled cryptographic system as set forth in claim 10 wherein said supplying means includes means for transferring the output data block of the immediately preceding cryptographic transformation to said combining means. 12. A key-controlled cryptographic system as set forth in claim 10 including means for detecting that an input block of a length shorter than said fixed predetermined length is to be transformed by the cryptographic system including means for determining the length of the short block, means for supplying a predetermined data word to said block-cipher cryptographic subsystem and causing a key-controlled cryptographic transformation to occur thereon, means for taking the cryptographically transformed output of said subsystem and selecting a portion thereof equal in length to the length of said short block, and supplying said two equal length blocks as the input to said combining means and means for gating the output of said combining means as the output of said cryptographic system for said short input block which is the same length as said short input block. 13. A key-controlled cryptographic system as set forth in claim 12 including means for selectively utilizing the cryptographically transformed output data block of the preceding key-controlled cryptographic transformation or a predetermined constant as the predetermined data word to be supplied to said cryptographic subsystem prior to combining with an input short data block and means for retaining said cryptographically transformed data word for use in a subsequent initial transformation. 14. In a block-cipher cryptographic system including a key-controlled block-cipher cryptograhic subsystem, having means for performing a cryptographic transformation on an input data block of a fixed predetermined size, said transformation being a function of a unique user supplied key, the improvement which comprises: - an initial transformation subsystem including first register means for receiving an input block of data to be transformed;
- second register means for receiving a unique data block which existed at a prior time in the key-controlled block-cipher cryptographic subsystem;
- means for gating the output of said cryptographic subsystem onto a system output bus and selectively into said second register;
- logic means for effecting a mathematically invertible initial transformation on the contents of said first register means which is a function of the contents of said second register means;
- means for gating the output of said logic means into said cryptographic subsystem means as a input data block to be cryptographically transformed thereby; and
- means for selectively loading said second register means when a data word from a previous cryptographic transformation is not available.
15. A block-cipher cryptographic system as set forth in claim 14 including first means for determining that a block of data shorter than said fixed predetermined length has been received at the system input; - second means for determining the length of said short block,
- means responsive to said first determining means for gating the current contents of said second register means directly to said cryptographic subsystem means where a cryptographicc transformation is performed thereon;
- means for reloading the second register means with the output of said cryptographic transformation;
- means under control of said second determining means for gating the short block contents of said first register and as many bits of the cryptographically transformed contents of said second register as there are bits in said short block to said logic means; and
- means for transferring the output of said logic means directly to said system output bus as the short block output of said block-cipher cryptographic system.
16. A block-cipher cryptographic system as set forth in claim 14 wherein said logic means comprises an exclusive-or circuit having as one input the N-bit contents of said first register means, and which has as a second input the N-bit contents of said second register means to produce an N-bit output word. |