Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Twofish

From Wikipedia, the free encyclopedia
Block cipher
Twofish
The Twofish algorithm
General
DesignersBruce Schneier
First published1998
Derived fromBlowfish,SAFER,Square
Related toThreefish
CertificationAES finalist
Cipher detail
Key sizes128, 192 or 256 bits
Block sizes128 bits
StructureFeistel network
Rounds16
Best publiccryptanalysis
Truncated differential cryptanalysis requiring roughly 251 chosen plaintexts.[1]Impossible differential attack that breaks 6 rounds out of 16 of the 256-bit key version using 2256 steps.[2]

Incryptography,Twofish is asymmetric keyblock cipher with ablock size of 128bits andkey sizes up to 256 bits. It was one of the five finalists of theAdvanced Encryption Standard contest, but it was not selected for standardization. Twofish is related to the earlier block cipherBlowfish.

Twofish's distinctive features are the use of pre-computed key-dependentS-boxes, and a relatively complexkey schedule. One half of an n-bit key is used as the actual encryption key and the other half of the n-bit key is used to modify the encryption algorithm (key-dependent S-boxes). Twofish borrows some elements from other designs; for example, thepseudo-Hadamard transform[3] (PHT) from theSAFER family of ciphers. Twofish has aFeistel structure likeDES. Twofish also employs aMaximum Distance Separable matrix.

When it was introduced in 1998, Twofish was slightly slower thanRijndael (the chosen algorithm forAdvanced Encryption Standard) for 128-bitkeys, but somewhat faster for 256-bit keys. Since 2008, virtually all AMD and Intel processors have included hardware acceleration of the Rijndael algorithm via theAES instruction set; Rijndael implementations that use the instruction set are now orders of magnitude faster than (software) Twofish implementations.[4]

Twofish was designed byBruce Schneier,John Kelsey,Doug Whiting,David Wagner,Chris Hall, andNiels Ferguson: the "extended Twofish team" met to perform furthercryptanalysis of Twofish. Other AES contest entrants includedStefan Lucks,Tadayoshi Kohno, andMike Stay.

The Twofish cipher has not beenpatented, and thereference implementation has been placed in thepublic domain. As a result, the Twofish algorithm is free for anyone to use without any restrictions whatsoever. It is one of a few ciphers included in theOpenPGP standard (RFC 9580). However, Twofish has seen less widespread usage thanBlowfish, which has been available longer.

Performance

[edit]

During the design of Twofish, performance was always an important factor. It was designed to allow for several layers of performance trade offs, depending on the importance of encryption speed, memory usage, hardware gate count, key setup and other parameters. This allows a highly flexible algorithm, which can be implemented in a variety of applications.

There are multiple space–time tradeoffs that can be made, in software as well as in hardware for Twofish. An example of such a tradeoff would be the precomputation of round subkeys or s-boxes, which can lead to speed increases of a factor of two or more. These come, however, at the cost of moreRAM needed to store them.

The estimates in the table below are all based on existing 0.35 μmCMOS technology.

Hardware trade offs (128-bit key)[5]
Gate countsh blocksClocks
per block
Pipeline
levels
Clock speedThroughput
(Mbit/s)
Startup
clocks
Comments
14000164140 MHz804subkeys on the fly
19000132140 MHz16040
23000216140 MHz32020
26000232280 MHz64020
280002483120 MHz96020
300002644150 MHz120020
80000216180 MHz640300S-box RAMs

Cryptanalysis

[edit]

In 1999,Niels Ferguson published animpossible differential attack that breaks 6 rounds out of 16 of the 256-bit key version using 2256 steps.[2]

As of 2000[update], the best published cryptanalysis of the Twofish block cipher is atruncated differential cryptanalysis of the full 16-round version. The paper claims that the probability of truncated differentials is 2−57.3 per block and that it will take roughly 251 chosen plaintexts (32 petabytes worth of data) to find a good pair of truncated differentials.[6]

Bruce Schneier responded in a 2005 blog entry that this paper did not present a full cryptanalytic attack, but only some hypothesized differential characteristics: "But even from a theoretical perspective, Twofish isn't even remotely broken. There have been no extensions to these results since they were published in 2000."[7]

See also

[edit]

References

[edit]
  1. ^Ship Moriai;Yiqun Lisa Yin (2000)."Cryptanalysis of Twofish (II)"(PDF). Retrieved2013-01-14.{{cite journal}}:Cite journal requires|journal= (help)
  2. ^abNiels Ferguson (1999-10-05)."Impossible differentials in Twofish"(PDF). Retrieved2013-01-14.{{cite journal}}:Cite journal requires|journal= (help)
  3. ^"Team Men In Black Presents: TwoFish"(PDF). Archived fromthe original(PDF) on 26 September 2017. Retrieved26 September 2017.
  4. ^Bruce Schneier; Doug Whiting (2000-04-07)."A Performance Comparison of the Five AES Finalists"(PDF/PostScript). Retrieved2013-01-14.{{cite journal}}:Cite journal requires|journal= (help)
  5. ^Schneier, Bruce (15 June 1998)."Twofish: A 128-Bit Block Cipher"(PDF).Counterpane: 68.
  6. ^Shiho Moriai; Yiqun Lisa Yin (2000)."Cryptanalysis of Twofish (II)"(PDF). Retrieved2013-01-14.{{cite journal}}:Cite journal requires|journal= (help)
  7. ^Schneier, Bruce (2005-11-23)."Twofish Cryptanalysis Rumors". Schneier on Security blog. Retrieved2013-01-14.

Articles

[edit]

External links

[edit]
Common
algorithms
Less common
algorithms
Other
algorithms
Design
Attack
(cryptanalysis)
Standardization
Utilization
General
Mathematics
Retrieved from "https://en.wikipedia.org/w/index.php?title=Twofish&oldid=1267271687"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp