To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Trivium (cipher)

From Wikipedia, the free encyclopedia

Structure of Trivium

Trivium is a synchronous stream cipher designed to provide a flexible trade-off between speed and gate count in hardware, and reasonably efficient software implementation.

Trivium was submitted to the Profile II (hardware) of the eSTREAM competition by its authors, Christophe De Cannière and Bart Preneel, and has been selected as part of the portfolio for low area hardware ciphers (Profile 2) by the eSTREAM project. It is not patented and has been specified as an International Standard under ISO/IEC 29192-3.[1]

It generates up to 264 bits of output from an 80-bit key and an 80-bit IV. It is the simplest eSTREAM entrant; while it shows remarkable resistance to cryptanalysis for its simplicity and performance, recent attacks leave the security margin looking rather slim.

YouTube Encyclopedic

  • 1/3
    Views:
    2 542
    207 932
    38 890
  • 25c3: An introduction to new stream cipher designs
  • Apple's MacBook Pro vs. Microsoft's Surface Book 2
  • Unboxing the Product (RED) iPhone 8 Plus

Transcription

Description

Trivium's 288-bit internal state consists of three shift registers of different lengths. At each round, a bit is shifted into each of the three shift registers using a non-linear combination of taps from that and one other register; one bit of output is produced. To initialize the cipher, the key and IV are written into two of the shift registers, with the remaining bits starting in a fixed pattern; the cipher state is then updated 4 × 288 = 1152 times, so that every bit of the internal state depends on every bit of the key and of the IV in a complex nonlinear way.

No taps appear on the first 65 bits of each shift register, so each novel state bit is not used until at least 65 rounds after it is generated. This is the key to Trivium's software performance and flexibility in hardware.

Specification

Trivium may be specified very concisely using three recursive equations.[2] Each variable is an element of GF(2); they can be represented as bits, with "+" being XOR and "•" being AND.

  • ai = ci−66 + ci−111 + ci−110ci−109 + ai−69
  • bi = ai−66 + ai−93 + ai−92ai−91 + bi−78
  • ci = bi−69 + bi−84 + bi−83bi−82 + ci−87

The output bits r0 ... r264−1 are then generated by

  • ri = ci−66 + ci−111 + ai−66 + ai−93 + bi−69 + bi−84

Given an 80-bit key k0 ... k79 and an l-bit IV v0 ... vl−1 (where 0 ≤ l < 80), Trivium is initialized as follows:

  • (a−1245 ... a−1153) = (0, 0 ... 0, k0 ... k79)
  • (b−1236 ... b−1153) = (0, 0 ... 0, v0 ... vl−1)
  • (c−1263 ... c−1153) = (1, 1, 1, 0, 0 ... 0)

The large negative indices on the initial values reflect the 1152 steps that must take place before output is produced.

To map a stream of bits r to a stream of bytes R, we use the LSb-first mapping Ri = Σj=0, ..., 7 2j r8i+j.

Performance

A straightforward hardware implementation of Trivium would use 3488 logic gates and produce one bit per clock cycle. However, because each state bit is not used for at least 64 rounds, 64 state bits can be generated in parallel at a slightly greater hardware cost of 5504 gates. Different tradeoffs between speed and area are also possible.

The same property allows an efficient bitslice implementation in software; performance testing by eSTREAM give bulk encryption speeds of around 4 cycles/byte on some x86 platforms, which compares well to the 19 cycles/byte of the AES reference implementation on the same platform.

Security

[Trivium] was designed as an exercise in exploring how far a stream cipher can be simplified without sacrificing its security, speed or flexibility. While simple designs are more likely to be vulnerable to simple, and possibly devastating, attacks (which is why we strongly discourage the use of Trivium at this stage), they certainly inspire more confidence than complex schemes, if they survive a long period of public scrutiny despite their simplicity.[3]

As of April 2015, no cryptanalytic attacks better than brute-force attack are known, but several attacks come close. The cube attack requires 268 steps to break a variant of Trivium where the number of initialization rounds is reduced to 799.[4] Previously other authors speculate that these techniques could lead to a break for 1100 initialisation rounds, or "maybe even the original cipher".[5] This builds on an attack due to Michael Vielhaber that breaks 576 initialization rounds in only 212.3 steps.[6]

Another attack recovers the internal state (and thus the key) of the full cipher in around 289.5 steps (where each step is roughly the cost of a single trial in exhaustive search).[7] Reduced variants of Trivium using the same design principles have been broken using an equation-solving technique.[8] These attacks improve on the well-known time-space tradeoff attack on stream ciphers, which with Trivium's 288-bit internal state would take 2144 steps, and show that a variant on Trivium which made no change except to increase the key length beyond the 80 bits mandated by eSTREAM Profile 2 would not be secure. Using optimised solving strategy, it is further possible to reduce the state-recovery complexity to 2132 steps.[9]

A detailed justification of the design of Trivium is given in a paper "A Stream Cipher Construction Inspired by Block Cipher Design Principles".[10]

References

  1. ^ ISO/IEC 29192-3:2012
  2. ^ eSTREAM Phorum, 2006-02-20
  3. ^ Christophe De Cannière, Bart Preneel (2005-04-29). "Trivium specifications" (PDF). eSTREAM submitted papers. Archived from the original (PDF) on 2016-10-20. Retrieved 2006-10-09. {{cite journal}}: Cite journal requires |journal= (help)
  4. ^ Fouque, Pierre-Alain; Vannet, Thomas (2015-04-05). "Improving Key Recovery to 784 and 799 rounds of Trivium using Optimized Cube Attacks" (PDF). Cryptology ePrint Archive. ePrint 20150406:231124. Retrieved 2015-04-17. {{cite journal}}: Cite journal requires |journal= (help)
  5. ^ Dinur, Itai; Shamir, Adi (2008-09-13). "Cube Attacks on Tweakable Black Box Polynomials" (PDF). Cryptology ePrint Archive. ePrint 20080914:160327. Retrieved 2008-12-04. {{cite journal}}: Cite journal requires |journal= (help)
  6. ^ Michael Vielhaber (2007-10-28). "Breaking ONE.FIVIUM by AIDA an Algebraic IV Differential Attack".
  7. ^ Alexander Maximov, Alex Biryukov (2007-01-23). "Two Trivial Attacks on Trivium" (PDF). Cryptology ePrint. {{cite journal}}: Cite journal requires |journal= (help) (Table 6, page 11)
  8. ^ Håvard Raddum (2006-03-27). "Cryptanalytic results on Trivium" (PostScript). eSTREAM submitted papers. Retrieved 2006-10-09. {{cite journal}}: Cite journal requires |journal= (help)
  9. ^ Pavol Zajac (2012-08-01). "Solving Trivium-based Boolean Equations Using the Method of Syllogisms". IOS Press. {{cite journal}}: Cite journal requires |journal= (help)
  10. ^ Christophe De Cannière, Bart Preneel (2006-01-02). "Trivium - A Stream Cipher Construction Inspired by Block Cipher Design Principles" (PDF). eSTREAM submitted papers. Archived from the original (PDF) on 2011-05-26. Retrieved 2006-10-09. {{cite journal}}: Cite journal requires |journal= (help)

External links

This page was last edited on 17 October 2023, at 03:18
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.