This page uses content from Wikipedia and is licensed under CC BY-SA.
One round of Simon
|Designers||Ray Beaulieu, Douglas Shors, Jason Smith, Stefan Treatman-Clark, Bryan Weeks, Louis Wingers NSA|
|Key sizes||64, 72, 96, 128, 144, 192 or 256 bits|
|Block sizes||32, 48, 64, 96 or 128 bits|
|Structure||Balanced Feistel network|
|Rounds||32, 36, 42, 44, 52, 54, 68, 69 or 72 (depending on block and key size)|
|Speed||7.5 cpb (21.6 without SSE) on Intel Xeon 5640 (Simon128/128)|
|Best public cryptanalysis|
|Differential cryptanalysis can break 46 rounds of Simon128/128 with 2125.6 data, 240.6 bytes memory and time complexity of 2125.7 with success rate of 0.632.|
Simon is a family of lightweight block ciphers publicly released by the National Security Agency (NSA) in June 2013. Simon has been optimized for performance in hardware implementations, while its sister algorithm, Speck, has been optimized for software implementations.
The Simon block cipher is a balanced Feistel cipher with an n-bit word, and therefore the block length is 2n. The key length is a multiple of n by 2, 3, or 4, which is the value m. Therefore, a Simon cipher implementation is denoted as Simon2n/nm. For example, Simon64/128 refers to the cipher operating on a 64-bit plaintext block (n=32) that uses a 128-bit key. The block component of the cipher is uniform between the Simon implementations; however, the key generation logic is dependent on the implementation of 2, 3 or 4 keys.
Simon supports the following combinations of block sizes, key sizes and number of rounds:
|Block size (bits)||Key size (bits)||Rounds|
The key schedule is mathematically described as
The key schedule structure may or may not be balanced. The key word count of is used to determine the structure of the key expansion, resulting in a total bit width of . The key word expansion consists of a right shift, XOR and a constant sequence, . The bit operates on the lowest bit of the key word once per round.
The constant sequence, is created by a Linear Feedback Shift Register (LFSR). The logical sequence of bit constants is set by the value of the key and block sizes. The LFSR is created by a 5-bit field. The constant bit operates on a key block once per round on the lowest bit in order to add non-key-dependent entropy to the key schedule. The LFSR has different logic for each sequence; however, the initial condition is the same for encryption. The initial condition of the LFSR for decryption varies on the round.
German, Japanese and Israeli delegates to the International Organization for Standardization have opposed efforts by the NSA to standardise the Simon and Speck ciphers, citing concerns that the NSA is pushing for their standardisation with knowledge of exploitable weaknesses in the ciphers, based on partial evidence of weaknesses in the ciphers, lack of clear need for standardisation of the new ciphers, and the NSA's previous involvement in the creation and promotion of the backdoored Dual_EC_DRBG cryptographic algorithm.
|This cryptography-related article is a stub. You can help Wikipedia by expanding it.|