HOME

TheInfoList



OR:

In
cryptography Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
, the Iraqi block cipher was a
block cipher In cryptography, a block cipher is a deterministic algorithm that operates on fixed-length groups of bits, called ''blocks''. Block ciphers are the elementary building blocks of many cryptographic protocols. They are ubiquitous in the storage a ...
published in C
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
form by
anonymous FTP The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and dat ...
upload around July 1999, and widely distributed on
Usenet Usenet (), a portmanteau of User's Network, is a worldwide distributed discussion system available on computers. It was developed from the general-purpose UUCP, Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Elli ...
. It is a five round unbalanced Feistel cipher operating on a 256 bit block with a 160 bit key. The source code shows that the algorithm operates on blocks of 32 bytes (or 256 bits). That's four times larger than DES or 3DES (8 bytes) and twice as big as Twofish or AES (16 bytes). It also shows that the key size can vary from 160 to 2048 bits. A detailed analysis of the source code of the algorithm shows that it uses a 256-byte S-Box that is key-dependant (as on Blowfish, it uses a first fixed S table that will generate, with the key, the second S-Box used for encryption/decryption). The algorithm also uses a 16-column x 16-row P-Box, which is also key-dependent and also initialized from a fixed P table. Each round uses one row from P-Box and 16 columns, which means that the algorithm can use up to 16 rounds. A
comment Comment may refer to: Computing * Comment (computer programming), explanatory text or information embedded in the source code of a computer program * Comment programming, a software development technique based on the regular use of comment tags ...
suggests that it is of
Iraq Iraq, officially the Republic of Iraq, is a country in West Asia. It is bordered by Saudi Arabia to Iraq–Saudi Arabia border, the south, Turkey to Iraq–Turkey border, the north, Iran to Iran–Iraq border, the east, the Persian Gulf and ...
i origin. However, like the
S-1 block cipher In cryptography, the S-1 block cipher was a block cipher posted in source code form on Usenet on 11 August 1995. Although incorrect security markings immediately indicated a hoax, there were several features of the code which suggested it might b ...
, it is generally regarded as a
hoax A hoax (plural: hoaxes) is a widely publicised falsehood created to deceive its audience with false and often astonishing information, with the either malicious or humorous intent of causing shock and interest in as many people as possible. S ...
, although of lesser quality than S-1. Although the comment suggests that it is Iraqi in origin, all comments, variable and function names and printed
string String or strings may refer to: *String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects Arts, entertainment, and media Films * ''Strings'' (1991 film), a Canadian anim ...
s are in English rather than Arabic; the code is fairly inefficient (including some pointless operations), and the cipher's security may be flawed (no proof). Because it has a constant
key schedule In cryptography, the so-called product ciphers are a certain kind of cipher, where the (de-)ciphering of data is typically done as an iteration of '' rounds''. The setup for each round is generally the same, except for round-specific fixed va ...
the cipher is vulnerable to a
slide attack The slide attack is a form of cryptanalysis designed to deal with the prevailing idea that even weak ciphers can become very strong by increasing the number of rounds, which can ward off a differential attack. The slide attack works in such a wa ...
. However, it may take 264 chosen texts to create a single slid pair, which would make the attack unfeasible. It also has many fixed points, although that is not necessarily a problem, except possibly for hashing modes. No public attack is currently available. As with S-1, it was David Wagner who first spotted the security flaws.


References


External links


Source code for the cipher

File encryption with IBC in ECB and CBC Mode

Source code of the Iraqi block cipher ECB Mode

Source code for Microsoft Visual C++ 5.0 ECB Mode

Compiled code (Console Application) ECB Mode

Source code of the Iraqi block cipher CBC Mode

Source code for Microsoft Visual C++ 5.0 CBC Mode

Compiled code (Console Application) CBC Mode
{{Cryptography navbox , block Block ciphers Internet hoaxes 1999 hoaxes