Self authentication ciphertext chaining
Abstract
Existing key encryption approaches are extended by using overlapping portions of encrypted information. Another provision inserts one or more bits of data to ensure correct encryption/decryption. The inserted data can also be used for authentication.

Term
No projected expiry on record.
- Priority and filed
- Published
- Today
1 claim: 1 independent, 0 dependent
- 1WHAT IS CLAIMED IS:L A method for encrypting information using encryption keys, wherein each key encrypts a portion of information of a predetermined block length, the method comprising using a first key to encrypt a first portion of a message;adding at least one bit of information to the encrypted first portion of the message;using a second key to encrypt a second portion of the message wherein the second portion overlaps with the first portion and also includes the added one or more bits of information.
31 paragraphs in 2 sections, as filed
SELF AUTHENTICATION CIPHERTEXT CHAINING
0002CROSS-REFERENCES TO RELATED APPLICATIONS This application claims priority from U.S. Provisional Patent Application No. 60/138,412, filed June 8, 1999, the disclosure of which is incorporated herein in its entirety by reference for all purposes.
0003FIELD OF THE INVENTION The present invention relates to cryptographic systems in general and in particular to a system for encrypting information efficiently using encryption keys having a fixed modulus size.
BACKGROUND OF THE INVENTION
0005Encryption is the process of converting a message from plaintext to ciphertext in such a way that only those that are authorized readers can decrypt the plaintext from the ciphertext. Often, encryption is used to secure a message that is expected to be transported through an untrusted channel or stored on an insecure data storage medium. The term "message" often refers to a communication between a sender and a receiver but as used here the term refers to any data that might need to be secured between the time and/or place of its creation or acceptance by the sender and the time and/or place of its receipt by the receiver. Thus, a message could be an e-mail communication, a program, a dataset, an image, a collection of data objects treated as a single message, a stream of data, or combinations of the above or similar objects.
0006One method of determining whether or not the receiver is authorized to read, or otherwise access, the plaintext of the message is the use of "keys". Typically a key is representable by data, such as a string of bits. An example is a 128-bit key, which is a string of 128 bits. Using this method, the sender would use an encryptor to encrypt the plaintext of the message into the ciphertext in such a way that any recipient of the ciphertext, authorized or not, that did not have knowledge of the key could not decrypt the plaintext from the ciphertext without some threshold of computing effort and/or time. It is well understood that, except for a limited class of encryption schemes such as using one time pads, the plaintext can be extracted from the ciphertext without the key with enough computing effort and/or time. For example, an attacker (i.e., an unauthorized recipient) could attempt to decrypt the message by serially decrypting using each possible key. However, in a well-designed encryption system, the amount of computing effort needed to decrypt without the key costs more than the value of having decrypted the message or would take so much time that the value of keeping the message secure has passed before the message is decrypted. There are several aspects of message security that an encryption system provides. One aspect is secrecy, in that the plaintext of a message can be kept from unauthorized readers even if the reader has possession of the ciphertext of the message. Another aspect is authentication, in that the recipient of the ciphertext can verify that the message was actually sent by the purported sender. Yet another aspect is integrity, in that the recipient can verify that the message was not modified after leaving the control of the sender. In some instances, only one aspect is used. For example, a digital signature process creates a data sequence that authenticates a message and that message is often sent "in the clear" so that anyone can read the message. Thus, the message is not kept secret, but it can still be authenticated. Although a system does not always encrypt a message before transport or storage, as is the case for digital signatures, the system is nonetheless generically referred to as an encryption system.
0007Encryption systems are often classified into private key systems and public key systems, often referred to as symmetric key systems and asymmetric key systems, respectively. In a private key system, the key is used by the sender to encrypt the message and the same key is used by the receiver to decrypt or verify the message. As a result, the key must be kept secret from unauthorized entities. With public key systems, the key is a pair of key parts comprising a public part and a private part. The public part is not necessarily kept secret and can be used to verify messages and perform other processes on a message, but typically the private key is needed to extract plaintext from the ciphertext of a secret message.
0008One example of a public key standard is the widely used RSA standard. One advantage of using a standard public key system is that many components of the system are readily available, such as e-mail encryptors, key managers, encoders, decoders, verifiers, and the like. However, a problem with many standard encryption systems is that they operate on the message in blocks of fixed sizes per key length, requiring padding when the message to be sent does not fill an integer number of blocks exactly. Random data should be used for padding, to avoid easy attacks on decrypting the message without the key. The use of fixed size blocks is not a problem where messages are always sized to be an integer number of blocks, but where the messages are not an integer number of blocks, but instead comprise zero or more full blocks and a partial block, the partial block must be padded up to a whole block before processing. Where the amount of processing to encrypt, decrypt or verify a message is a function of the number of blocks and the amount of processing needed for a block is considerable, a processing routine might perform many unnecessary operations on a partial block if the message portion of the partial block is much smaller than the block size.
0009For example, the block size is often dictated by a key modulus used to encrypt a block. If the key modulus is 512 bits, messages will be encoded in 512 bit blocks. If a message to be encrypted happens to be 1025 bits long, the message would be encrypted into three 512-bit blocks, one of which would represent only one bit of the message.
0010SUMMARY OF THE INVENTION In an encryption system according to one embodiment of the present invention, existing fixed key modulus size encryption approaches are extended to use overlapping portions of encrypted information in generating encrypted messages. In another aspect of the invention, the encryption system can insert one or more bits of data to ensure correct encryption/decryption and the inserted data can be used for authentication.
0011A further understanding of the nature and the advantages of the inventions disclosed herein may be realized by reference to the remaining portions of the specification and the attached drawings.
0012BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of an encryption system as might be used to implement an embodiment of the present invention.
0013Fig. 2 is a flow diagram illustrating a process of encrypting a full block and a residue block of a message.
0014Fig. 3 is a flow diagram illustrating a variation of the process shown in Fig. 2, without the use of a secondary authentication block.
0015Fig. 4 is a flow diagram illustrating a process of decrypting a full block and a residue block of a message encrypted as shown in Fig. 2. DESCRIPTION OF THE SPECIFIC EMBODIMENTS
0016Fig. 1 is a block diagram of an encryption system 10, wherein plaintext 12 of a message is encrypted by an encryptor 14 using an encryption key to produce an encryptor output 16 that could be ciphertext, verification data (such as a digital signature), or both. Encryptor output 16 is conveyed to a channel and/or storage medium 18, where such channel or storage medium is untrusted and therefore considered insecure. A decryptor 20 receives encryptor output 16 from channel and/or storage medium 18 and, using a decryption key, produces plaintext or authorization indications 22.
0017In an encryption/decryption operation, the encryptor might encrypt plaintext, which the decryptor would decrypt to obtain the plaintext. In another operation, the encryptor might generate a digital signature that the decryptor could use to verify a message and issue an authenticateαVunauthenticated signal.
0018In a fixed modulus encryption operation, plaintext 12 is divided into blocks of the modulus size and where plaintext 12 is of a size not evenly divisible by the modulus, the encryption of the last full block and the partial remaining block of plaintext
001912 is performed as shown in Fig. 2.
0020Fig. 2 is a series of transformations of the full block and the partial remaining block resulting in the encryption of that data. Fig. 2(a) illustrates a message and an authentication block, AB. AB could represent a number of data elements about the message. In one example, AB is a concatenation of a zero bit or byte (to prevent overflows), a unit identity address (such as a MAC address), a sequence number (to prevent replay attacks), and other data about the message. In the description below, the following variables are used to represent lengths of various elements:
0021AB en length of AB field Payload_len length of the data to be encoded (a full block and a partial block)
0022Enc_len length of blocks used in encoding process
0023As shown in Fig. 2(b), the encryptor logically splits the message into a main payload M and a residual payload R, where the split is done so that the length of M, len(M), is such that len(M) + ABJen = Enc en. With that split, the length of R, is R_len = Payloadjen - len(M) = Payloadjen - Enc_len + ABJen.
0024As shown in Fig. 2(c), AB || M (where "||" is a concatenation operator) is encrypted using an encryption key encKey_e to produce a ciphertext field C where len(C) = Encjen. In one embodiment, the blocks are encoded using an RSA encoding process. For example, C might be (AB || M)<sup>A</sup>encKey_e mod modulus_n, where values of Encjen can be expressed as unique numbers less than modulusjn. As used here, lengths can be in any units, but a common measurement of data length is in bits.
0025As shown in Fig. 2(d), C is then divided into two fields, Cl and C2, where the lengths of Cl and C2 are such that the following equations are satisfied: len(C2) = Encjen - A2 Jen - len(R)
0026= 2*EncJen - A2 Jen - Payloadjen - ABJen len(Cl) = len(C) - len(C2) where A2Jen is the length of a secondary authentication block, A2, shown in Fig. 2(e). Since the length of A2 || C2 || R is Encjen, that concatenation can be encrypted using encKey_e, to produce a residue ciphertext, RC. As illustrated by Fig. 2(f), Cl and RC can be provided to a decryptor.
0027The insertion of a secondary authentication block, such as A2 in Fig. 2(e), is optional. Where A2 is not used, the authentication block AB would authenticate R, due to the overlap, since the cryptographic effects of AB feed through from ciphertext C2, which is combined with R and encrypted as shown by Figs. 2(e)-(f). So long as there are enough bits in C2 for the feedthrough effect to be cryptographically valid (e.g., C2 being 128 bits or more), then the inclusion of A2 in the generation of RC is not needed to authenticate R. However, using A2 would be useful where C2 is too small. Thus, it should be understood that in the figures, len(A2) could range from zero to some positive value. Fig. 3 illustrates the feedthrough effect.
0028Fig. 4 is a flow diagram illustrating a process of decrypting a full block and a residue block of a message encrypted as shown in Fig. 2. As illustrated by Figs. 4(a)-(b), the received block is split into a Cl portion and an RC portion. The decryptor can properly split its input into Cl and RC knowing only len(Cl || RC) and Encjen, since len(RC) - Encjen.
0029As shown in Figs. 4(c)-(g), RC is decrypted and segmented into A2, C2 and R. The segmentation can be performed if the decryptor knows A2Jen and either len(R) or Payloadjen, Encjen, ABJen, from which len(R) can be calculated. If A2 is used and cannot be verified, the message is discarded. Otherwise, the message is parsed into Cl and C2.
0030Once Cl and C2 are identified, they can be concatenated to form C, which can then be decrypted to produce AB and M. Finally, M and R can be combined to reconstruct the original plaintext message. If AB cannot be verified, the message is discarded. One case where the message is not verified is where the value for a key sequence is stored in AB and the message has a sequence number lower than, or out of order relative to, a prior received sequence number.
0031In the process of decrypting (see Fig. 4(c)), the decryptor verifies A2 and discards the message if A2 is other than expected. One cause for A2 being an unexpected value is if the ciphertext message had been altered as it passed from the encryptor to the decryptor. In one embodiment, A2 is simply a null value, such as a "0" bit or a "00" byte.
0032Because of some overlap between C and RC through C2, the authentication of R can be done by just verifying that A2 is as expected and AB is as expected. In effect, this allows both blocks to be authenticated using just one authentication block, AB, resulting in bandwidth and processing savings. In operation, the strength of AB for authenticating the partial block is related to the amount of overlap, i.e., len(C2). The overlap, len(C2), should preferably be at least 128 bits.
0033One use of the system described above is for securely passing keys to a remote security chip that is only accessible over an untrusted channel. Although the invention has been described with reference to particular embodiments thereof, these embodiments are merely illustrative, and not limiting, of the present invention, the scope of which is to be determined solely by the appended claims.
Contents2
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| EP1639743A4 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US10068103B2 | Cited by | United States of America | – | Applicant | – |
| US9871770B2 | Cited by | United States of America | – | Applicant | – |
| US9613220B2 | Cited by | United States of America | – | Applicant | – |
| EP2602953A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| EP2605446A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US9613220B2 | Cited by | United States of America | – | Applicant | – |
| US12093412B2 | Cited by | United States of America | – | Applicant | – |
| US9985932B2 | Cited by | United States of America | – | Applicant | – |
| US10031679B2 | Cited by | United States of America | – | Applicant | – |
| US9935923B2 | Cited by | United States of America | – | Applicant | – |
| US9774449B2 | Cited by | United States of America | – | Applicant | – |
| EP2076985A4 | Cited by | European Patent Office (EPO) | – | Search report | – |
| EP2602953A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| EP1639743A2 | Cited by | European Patent Office (EPO) | – | Search report | – |
| KR100736047B1 | Cited by | Republic of Korea | – | Search report | – |
| EP2602954A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US9985932B2 | Cited by | United States of America | – | Applicant | – |
| US12141299B2 | Cited by | United States of America | – | Applicant | – |
| US9733849B2 | Cited by | United States of America | – | Applicant | – |
| US11178116B2 | Cited by | United States of America | – | Applicant | – |
| US9906500B2 | Cited by | United States of America | – | Applicant | – |
| US9881177B2 | Cited by | United States of America | – | Applicant | – |
| WO2009154959A2 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| US9992170B2 | Cited by | United States of America | – | Applicant | – |
| EP2602954A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US9613220B2 | Cited by | United States of America | – | Applicant | – |
| WO2009154959A3 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| US8549291B2 | Cited by | United States of America | – | Applicant | – |
| US8345713B2 | Cited by | United States of America | – | Applicant | – |
| EP2605446A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US10402582B2 | Cited by | United States of America | – | Applicant | – |
| KR100335476B1 | Cited by | Republic of Korea | – | Search report | – |
| US5412728A | Cites | United States of America | A | International search | 1 |
| US5412728A | Cites | United States of America | A | International search | 1 |
| US5495533A | Cites | United States of America | Y | International search | 1 |
| US5495533A | Cites | United States of America | Y | International search | 1 |
| FEISTEL H ET AL: "Some cryptographic techniques for machine-to-machine data communications", PROCEEDINGS OF THE IEEE, NOV. 1975, USA, vol. 63, no. 11, pages 1545 - 1554, XP002150274, ISSN: 0018-9219 | Non-patent | – | – | International search | – |
| EHRSAM W F ET AL: "FRACTIONAL BLOCK-SIZE CIPHER", IBM TECHNICAL DISCLOSURE BULLETIN,US,IBM CORP. NEW YORK, vol. 22, no. 2, 1 June 1979 (1979-06-01), pages 640 - 642, XP002051943, ISSN: 0018-8689 | Non-patent | – | – | International search | – |
11 members in 8 offices; this record represents the family
Members11
| Document | Office | Kind | |
|---|---|---|---|
| CA2373787A1 | Canada | A1 | |
| WO0076118A1This record | World Intellectual Property Organization (WIPO) | A1 | |
| AU5601900A | Australia | A | |
| KR20020016636A | Republic of Korea | A | |
| EP1190524A1 | European Patent Office (EPO) | A1 | |
| TW496054B | Taiwan Province of China | B | |
| CN1360771A | China | A | |
| AU775055B2 | Australia | B2 | |
| CN1160900C | China | C | |
| CA2373787C | Canada | C | |
| US7450717B1 | United States of America | B1 |
16 legal events, as 4 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Wipo information: withdrawn in national officeWithdrawnWWW | WWW | WO | |
| Wipo information: refused in national officeWWR | WWR | WO | |
| Non-entry into the national phaseNENP | NENP | JP | |
| Procedure relating to pct application: ceased to have effect for deCeased8642 | 8642 | DE | |
| Wipo information: published in national officeWWP | WWP | WO | |
| Wipo information: published in national officeWWP | WWP | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| Entry into the national phaseENP | ENP | CA | |
| Entry into the national phaseENP | ENP | CA | |
| Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)DFPE | DFPE | WO | |
| Ep: the epo has been informed by wipo that ep was designated in this application121 | 121 | WO | |
| Designated statesAK | AK | WO | |
| Designated countries for regional patentsAL | AL | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO |
Numbers
- Publication
- 00/76118
- Application
- 15869
Titles2
- English
- SELF AUTHENTICATION CIPHERTEXT CHAINING
- French
- AUTHENTIFICATION AUTOMATIQUE DU CHAINAGE DE TEXTES CRYPTES
Classification
- CPC, 4
- H04L9/3247
- H04L9/32
- H04L9/0618
- H04L2209/38
- IPC, 2
- H04L9 06
- H04L9 32
Designated states105
- Regional, 54
- Ghana
- Gambia
- Kenya
- Lesotho
- Malawi
- Mozambique
- Sudan
- Sierra Leone
- Eswatini
- United Republic of Tanzania
- Uganda
- Zimbabwe
- Armenia
- Azerbaijan
- Belarus
- Kyrgyzstan
- Kazakhstan
- Republic of Moldova
- Russian Federation
- Tajikistan
- Turkmenistan
- Austria
- Belgium
- Switzerland
and 30 moreShow fewer
- Cyprus
- Germany
- Denmark
- Spain
- Finland
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden
- Burkina Faso
- Benin
- Central African Republic
- Congo
- Côte d’Ivoire
- Cameroon
- Gabon
- Guinea
- Guinea-Bissau
- Mali
- Mauritania
- Niger
- Senegal
- Chad
- Togo
- National, 51
- United Arab Emirates
- Antigua and Barbuda
- Albania
- Australia
- Bosnia and Herzegovina
- Barbados
- Bulgaria
- Brazil
- Canada
- China
- Costa Rica
- Cuba
- Czechia
- Dominica
- Algeria
- Estonia
- Grenada
- Georgia
- Croatia
- Hungary
- Indonesia
- Israel
- India
- Iceland
and 27 moreShow fewer
- Japan
- Democratic People’s Republic of Korea
- Republic of Korea
- Saint Lucia
- Sri Lanka
- Liberia
- Lithuania
- Latvia
- Morocco
- Madagascar
- North Macedonia
- Mongolia
- Mexico
- Norway
- New Zealand
- Poland
- Romania
- Singapore
- Slovenia
- Slovakia
- Türkiye
- Trinidad and Tobago
- Ukraine
- Uzbekistan
- Viet Nam
- Yugoslavia, later Serbia and Montenegro (until 2006)
- South Africa