Apparatus for generating encryption/decryption look-up tables using a session key
Abstract
An encryption/decryption apparatus enables encrypted communication between two stations each incorporating such an apparatus. The apparatus is arranged to generate a set of look-up tables in accordance with a session key and temporarily store these tables in memory (18), and to convert each successive element (e.g. character) of a message to a code through use of the look-up tables. The session key can be changed as often as desired but the fresh set of look-up are created quickly each time; then the conversion process for each element of the message is carried out quickly yet maintaining a high level of security.

Term
No projected expiry on record.
- Priority and filed
- Published
- Today
7 claims: 4 independent, 3 dependent
- 1CLAIMS 1) An encryption/decryption apparatus to enable encrypted communication between two stations each incorporating such an apparatus, the apparatus being arranged to..generate a set of look-up tables in accordance with a session key and temporarily store said tables in memory, and to convert each successive element of a message to a code through use of said look-up tables.
- 55) An apparatus as claimed in any preceding claim, in which at least one of the look-up tables comprises a transposition table.
- 66) An apparatus as claimed in any preceding claim, in which at least one of the look-up tables comprises a displacement table.
- 77) An apparatus as claimed in any preceding claim, in which at least one of the look-up tables comprises a sequence the entries of which are read consecutively.
Independent claims4
41 paragraphs in 1 section, as filed
APPARATUS FOR GENERATING ENCRYPTION/DECRYPTION LOOK-UP TABLES USING A
0002SESSION KEY.
0003The present invention relates to arrangements for the automatic encryption and decryption of electronically transmitted messages, particularly in the fields of telephone, facsimile or computer data transmission for example. 5 The present invention is concerned with providing arrangements for encrypting and decrypting messages at high speeds yet maintaining a high level of security.
0004In accordance with this invention, there is provided an encryption/decryption apparatus to enable encrypted 0 communication between two stations each incorporating such an apparatus, the apparatus being arranged to generate a set of look-up tables in accordance with a session key and temporarily store said tables in memory, and to convert each successive element of a message to a code through use of said look-up 5 tables.
0005It will be appreciated that a fresh session key is used for each transmission or session: a fresh set of look-up tables is therefore generated at the start of each transmission or session. The session key can in fact be changed (and a new 0 set of look-up tables consequently generated) at intervals during the course of each transmission.
0006The set of look-up tables can be generated quickly, and the procedure to encode each element (e.g. character, bit or block) of the message can be carried out quickly yet 5 maintaining a high level of security.
0007Each element of the message may be converted to its code by addressing one of the look-up tables, the output of which is used to address another of the look-up tables, and so on. The conversion procedure may involve at least two look-up 0 tables being addressed simultaneously and their outputs being combined (e.g. added together) . At least one of the tables may comprise a pseudo random sequence, the terms (or entries) of which are read consecutively, the pointer returning to the first term when the last term of the table has been read: the 5 pointer may start at any predetermined position of the sequence. It will be appreciated that for encryption of a message by the sender and correct decryption by the recipient, both sender and recipient apparatus must use the same session key for each transmission (or part thereof) , so that the two stations can generate corresponding look-up tables. Our International patent application PCT/GB94/02004 describes one arrangement in which a sender apparatus generates a session key and the same session key is recreated at the recipient.
0008Embodiments of this invention will now be described by way of examples only and with reference to the accompanying drawings, in which:
0009FIGURE<sup>'</sup> 1 is a schematic block diagram of an encrypting/decrypting unit used at each sender/recipient station; FIGURE 2 is a schematic flow diagram to explain the operation of one form of high speed cypher in accordance with the invention;
0010FIGURE 3 is a similar flow diagram to explain the operation of another form of high speed cypher in accordance with the invention;
0011FIGURE 4 is a worked example of an encryption procedure performed by an apparatus in accordance with the invention; and
0012FIGURE 5 is a worked example of another encryption procedure performed by an apparatus in accordance with the invention.
0013Referring to Figure 1, there is shown an encryption/decryption unit in accordance with this invention, in simplified diagrammatic form. Typically the unit will form part of a communications machine (e.g. facsimile machine) . The unit includes an external port 10 for transmitting encrypted data to, and receiving encrypted data from, a corresponding unit at another station, with which it is desired to communicate. The unit also includes a port 12 for the flow of data to and from local host equipment. The unit further includes a microprocessor 14 having a program memory 16 and a memory 18 for temporarily holding look-up tables which are used for encrypting data to be transmitted via the external port 10, and for decrypting data received via the external port 10.
0014For each fresh transmission (or session) between the unit and a corresponding unit at another station, a new set of look-up tables is generated and programmed into the memory 18 of the two units. Each new set of look-up tables is generated in accordance with a new, random session key: the program memory 16 of the two communicating units stores the same algorithm for generating (and subsequently using) the look-up tables, so that both units generate the same look-up tables from the same session key. One unit acts as sender and generates the random session key and sends this in encrypted form to the other (or recipient) unit: the session key may be generated at the sender, and recreated at the recipient, in the manner described in our International patent application PCT/GB94/02004. As previously noted, the session key can be changed at intervals within each transmission (or session) . Once each new set of look-up tables has been created, from the new session key, at the sender and recipient units, the encrypted transmission of data can proceed: thus, a plain message received at port 12 of the sender unit is encrypted, under control of the microprocessor 14 and using the look-up tables, and then transmitted via the data port 10; the recipient unit correspondingly receives the encrypted message and decrypts it.
0015The look-up tables are preferably of the types T,IT, D,
0016ID or PR, as will now be described. Each table may have more than 4000 entries, but the essential character of the different types of table can be exemplified as follows using 10 entries only.
0017A transposition table (Type T) is a table in which numbers or characters are in a different order from the original, for example as follows:
0018Original order 0 1 2 3 4 5 6 7 8 9 T Table 4 3 5 7 1 0 8 6 9 2
0019The inverse transposition table (Type ID) is the inverse of the above in that it restores the original order when it is applied to the T table:
00200 1 2 3 4 5 6 7 8 9 IT Table 5 4 9 1 0 2 7 3 6 8
0021The displacement table (Type D) is derived from the transposition table and gives the positive displacement of each entry in the transposition table from its original position: Original order 0 1 2 3 4 5 6 7 8 9 T Table 4 3 5 7 1 0 8 6 9 2
0022D Table 4 2 3 4 7 5 2 9 1 3 The inverse displacement table (Type IT) is the displacement table corresponding to the inverse transposition table.
0023A pseudo-random table (Type PR) is composed of pseudo- randomly generated numbers in a specified domain: Domain 0 1 2 3 4 5 6 7 8 9
0024PR Table 1 4 4 8 7 6 3 2 8 5
0025In a PR table, numbers within the domain may be omitted and others duplicated because the choice of entry at any part of the table does not depend on the choice of previous entries. In the example shown in Figure 2 , each successive character of the message to be encrypted is referred to a first look-up table which may be of any type previously described. The output of the first look-up table addresses the second look-up table and the output of the second addresses the third and so on. In this way, a succession of elements (e.g. character, bit or block) in the input message is converted to a corresponding succession of encrypted outputs from the final look-up table, for transmission from the sender to the recipient. The look-up tables of the set may be used in different order on different transmissions as a means of increasing the complexity of the cypher: alternatively, each element in the main message may be converted by addressing two or more look-up tables simultaneously and combining (e.g. adding together) their outputs, as shown in Figure 3.
0026In the art of computer programming, reading a look-up table requires fewer steps than the multiplication and division steps usually carried out in element-by-element encryption, so that, once a set of tables has been generated, an algorithm largely based on reading tables permits rapid encryption. The decryption at the receiver is carried out in a similar manner, i.e. by each encrypted element of the received message being converted, by a corresponding arrangement of look-up tables, to the original element itself. Figure 4 shows an example using a single T table and a single PR table. In this example, A = 0, B = 1, .... Z = 25, and all additions are modulo 26. After each character of the message is transposed by the transposition table, the next successive term of the PR table is added to provide the encryption of the original character.
0027Figure 5 shows an example using two D tables. However, the first table (Dl) makes one rotary shift (i.e. the lower or output line shifts one step to the left) per character of the message: similarly, the second table (D2) makes one rotary shift per 26 characters of the message. Thus, for each character, the input and output of the first table (Dl) are added together; this result is used to address the second table (D2) and is added together with the corresponding output of the second table (D2) .
0028The session key may typically comprise a numerical decimal-digit number, for example up to 12 digits long. Many ways are known for generating a PR table from such a session key. Any convenient way may be used to generate a transposition table from such a session key, and one example will be explained with reference to the following table.
00290 1 2 3 4 5 6 7 8 9
00304 4 1 2 3 0 5 6 7 8 9
00311 4 1 2 3 0 5 6 7 8 9
00323 4 1 3 2 0 5 6 7 8 9
00336 4 1 3 6 0 5 2 7 8 9
00340 0 1 3 6 4 5 2 7 8 9
00351 0 5 3 6 4 1 2 7 8 9
00364 0 5 3 6 2 1 4 7 8 9
00370 7 5 3 6 2 1 4 0 8 9
00386 7 5 3 6 2 1 8 0 4 9
00390 9 5 3 6 2 1 8 0 4 7
0040The session key is set out in the vertical column at
0041, the extreme right hand side of the table. The successive terms of the session key (starting at the top of the column) are used in successive steps to change the original order (0, 1
00429) given in the top row, to the T table given in the bottom row. In the first step, the term "4" of the session key dictates that, in the initial row, the term in column 4 is exchanged with the term in column 0<sub>.</sub> (all other terms in the second row remain as in the first row) . In the second step, the term "1" of the session key dictates that the term in column 1 is exchanged with the term in column 1<sub>.</sub> (with no net change in this case) . In the third step, the term "3" of the session key dictates that the term in column 3 is exchanged with the term in column 2<sub>.</sub>. The procedure progresses in this manner until, in the final step, the term "0" of the session key dictates that the term in column 0 is exchanged with the term in the inal column. Having thus produced the T table, a D table can be generated, each of its terms being the displacement of the T table term from its corresponding original term.
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| USRE39589E | Cited by | United States of America | – | Search report | – |
| WO0001110A1 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| WO9914888A3 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| WO9914888A2 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| USRE39589E1 | Cited by | United States of America | – | Search report | – |
| US6449473B1 | Cited by | United States of America | – | Applicant | – |
| US4776011A | Cites | United States of America | X | International search | 1,7 |
| WO9103113A1 | Cites | World Intellectual Property Organization (WIPO) | X | International search | 1,5,7 |
| C.H.MEYER & W.L.TUCHMAN: "ESTABLISHMENT OF USER KEYS IN A MULTI-USER NETWORK", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 22, no. 2, NEW YORK US, pages 629 - 631 | Non-patent | – | – | International search | – |
13 members in 6 offices
Members13
| Document | Office | Kind | |
|---|---|---|---|
| WO9508232A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU7620394A | Australia | A | |
| WO9526087A1This record | World Intellectual Property Organization (WIPO) | A1 | |
| AU2076695A | Australia | A | |
| GB2296639A | United Kingdom | A | |
| DE4496863T1 | Germany | T1 | |
| GB2302246A | United Kingdom | A | |
| JPH09502845A | Japan | A | |
| DE19581586T1 | Germany | T1 | |
| JPH09510591A | Japan | A | |
| US5768381A | United States of America | A | |
| US5832087A | United States of America | A | |
| JP3814687B2 | Japan | B2 |
9 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Non-entry into the national phaseNENP | NENP | CA | |
| Ep: pct application non-entry in european phase122 | 122 | WO | |
| De translation (de og part 6b)RET | RET | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| 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 |
Numbers
- Publication
- 95/26087
- Application
- 9500660
Titles2
- English
- APPARATUS FOR GENERATING ENCRYPTION/DECRYPTION LOOK-UP TABLES USING A SESSION KEY
- French
- DISPOSITIF SERVANT A GENERER DES TABLES DE CHIFFREMENT/DECHIFFREMENT AU MOYEN D'UN CODE DE SESSION
Classification
- CPC, 3
- H04L9/0656
- H04L2209/12
- H04L2209/24
- IPC, 4
- G09C1 00
- H04L9 06
- H04N1 44
- H04L9 08
Designated states76
- Regional, 35
- Kenya
- Malawi
- Sudan
- Eswatini
- Uganda
- Austria
- Belgium
- Switzerland
- Germany
- Denmark
- Spain
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden
- Burkina Faso
- Benin
- Central African Republic
and 11 moreShow fewer
- Congo
- Côte d’Ivoire
- Cameroon
- Gabon
- Guinea
- Mali
- Mauritania
- Niger
- Senegal
- Chad
- Togo
- National, 41
- Armenia
- Australia
- Barbados
- Bulgaria
- Brazil
- Belarus
- Canada
- China
- Czechia
- Estonia
- Finland
- Georgia
- Hungary
- Iceland
- Japan
- Kyrgyzstan
- Democratic People’s Republic of Korea
- Republic of Korea
- Kazakhstan
- Sri Lanka
- Liberia
- Lithuania
- Latvia
- Republic of Moldova
and 17 moreShow fewer
- Madagascar
- Mongolia
- Mexico
- Norway
- New Zealand
- Poland
- Romania
- Russian Federation
- Singapore
- Slovenia
- Slovakia
- Tajikistan
- Trinidad and Tobago
- Ukraine
- United States of America
- Uzbekistan
- Viet Nam