J1 (cipher): Difference between revisions

Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{Infobox encryption method
{{Infobox encryption method
| name          = J1 (Nisan)
| name          = J1 (Nisan)
| image        =  
| image        = File:6-Figure3.2-1.png
| caption      =  
| caption      = A contracting unbalanced Feistel network with 4 branches, like J1.
| designers    = [[Air Force Intelligence Directorate Unit 28]]
| designers    = [[Air Force Intelligence Directorate Unit 28]]
| publish date  = 1974 (standardized)<br> 1998 (declassified)
| publish date  = 1974 (standardized)<br> 1998 (declassified)

Revision as of 23:03, 22 May 2018

J1 (Nisan)
6-Figure3.2-1.png
A contracting unbalanced Feistel network with 4 branches, like J1.
General
DesignersAir Force Intelligence Directorate Unit 28
First published1974 (standardized)
1998 (declassified)
Cipher detail
Key sizes242 bits
Block sizes36 bits
StructureUnbalanced Feistel network
Rounds127

The J1 cipher, also known by its code name of Nisan (Arabic: نيسان, English: April), is a symmetric key block cipher with a key length of 242 bits and a block size of 36 bits. It was developed by Unit 28 (Cryptography) of the Riysian Air Force Intelligence Directorate (Mukhabarat) as a cipher for the encryption of military, government, and diplomatic teletype and later data networks. The algorithm was issued in 1974, but due to its sensitive nature, it was only declassified in 1998, after it had been superseded by more modern algorithms such as the J2. It is notable for being the first fully electronic Riysian cipher, and for using a structure similar to an unbalanced Feistel network, which was considered highly complex in its time.

History

Description

An example of a J1 long-term key.

J1 uses a block size of 36 bits, with a key size of 242 bits and an initialization vector (IV) of 61 bits randomly generated from an LSFR. The internal structure is similar to an unbalanced Feistel network, with four branches and 127 rounds. Its key schedule is very simple, forming two subkeys each 121 bits in length by splitting the main key in half, with a periodic repetition every 121 rounds. Like most ciphers of its age, it is implemented in specific hardware.

An unusual feature of the J1 cipher is that it accepts two keys, a short-term key and a plug-in long-term key. The short-term key is the nominal secret key for encryption, while the long-term key is a printed circuit board with unique wiring per series. This long-term key performs a function similar to both the S-boxes and P-box of modern block ciphers, accepting 9 individual inputs - each similar to an S-box - of 4 bits each, and then performing a permutation as in a P-box. The function of the long-term key is similar to the concept of a tweak.

Though designed as a block cipher, J1 was almost always used in a stream cipher mode. When used as a stream cipher, the block cipher is run through its full 127 cycles, with a function on the long-term key circuit board extracting a single bit. To encrypt a single 5-bit Baudot character, 13 bits are required, for a total of 1,651 cycles; 3 bits of these 13 are randomly chosen to be dropped, with the remaining 10 bits used to doubly-encrypt the character in a 5+5 scheme. As the IV is needed in the decryption process, the 61-bit IV would be transmitted in the clear as part of a 125-bit/25-character "synchronization sequence".

Cryptanalysis

Despite its age,

Technology/Hardware