VEST

From Wikipedia, the free encyclopedia


VEST
High Level Structure of VEST
Designer(s): Sean O'Neil
First published: June 13 2005
Key size(s): any
Structure: NLFSR, SPN
Best public cryptanalysis:
As of October 2006, there are no known attacks against VEST ciphers or VEST hash functions.

VEST (Very Efficient Substitution Transposition) ciphers are a set of families of general-purpose hardware-dedicated ciphers that support single pass authenticated encryption and can operate as collision-resistant hash functions. VEST cannot be implemented efficiently in software.

VEST is based on bijective nonlinear feedback shift registers with parallel feedback (NLPFSRs) assisted by non-linear RNS based counters. The four VEST family trees described in the cipher specification are VEST-4, VEST-8, VEST-16, and VEST-32. VEST ciphers support keys and IVs of variable sizes and instant re-keying. All VEST ciphers release output on every clock cycle.

Synaptic Laboratories state that all the VEST variants are covered by several pending patent applications.

VEST was submitted to the eSTREAM competition by Sean O'Neil, Benjamin Gittins and Howard Landman. It has been selected for Phase 2 of the process, but its patent ruled it out of being a focus candidate.

Contents

[edit] Overview

Cipher: VEST-4 VEST-8 VEST-16 VEST-32 AES-128
Output, bits per call: 4 8 16 32 128
Claimed security, bits: 80 128 160 256 128
Recommended key length, bits: 160 256 320 512 128
Recommended hash length, bits: 160 256 320 512
Counter size, bits: 163 163 171 171
Core size, bits: 83 211 331 587
State size, bits: 256 384 512 768 128

[edit] Design

[edit] Overall Structure

VEST ciphers consist of four components: a non-linear counter, a linear counter diffusor, a bijective non-linear accumulator with a large state and a linear output combiner (as illustrated by the image on the top-right corner of this page). The RNS counter consists of sixteen NLFSRs with prime periods, the counter diffusor is a set of 5-to-1 linear combiners with feedback compressing outputs of the 16 counters into 10 bits while at the same time expanding the 8 data inputs into 9 bits, the core accumulator is an NLPFSR accepting 10 bits of the counter diffusor as its input, and the output combiner is a set of 6-to-1 linear combiners.

[edit] Accumulator

The core NLPFSR accumulator in VEST ciphers can be seen as a SPN constructed using non-linear 6-to-1 feedback functions, one for each bit, all of which are updated simultaneously. The VEST-4 core accumulator is illustrated below:

Partial high-level illustration of the VEST-4 core

It accepts 10 bits (d0 - d9) as its input. The least significant five bits (p0 - p4) in the accumulator state are updated by a 5x5 substitution box and linearly combined with the first five input bits on each round. The next five accumulator bits are linearly combined with the next five input bits and with a non-linear function of four of the less significant accumulator bits. In authenticated encryption mode, the ciphertext feedback bits are also linearly fed back into the accumulator (e0 - e3) with a non-linear function of four of the less significant accumulator bits. All other bits in the VEST accumulator state are linearly combined with non-linear functions of five less significant bits of the accumulator state on each round. This substitution operation is followed by a pseudorandom transposition of all the bits in the state (see picture below).

[edit] Data Authentication

VEST ciphers can be executed in their native authenticated encryption mode similar to that of Phelix but authenticating ciphertext rather than plaintext at the same speed and occupying the same area as keystream generation. However, unkeyed authentication (hashing) is performed only 8 bits at a time by loading the plaintext into the counters rather than directly into the core accumulator.

[edit] Family keying

The four root VEST cipher families are referred to as VEST-4, VEST-8, VEST-16, and VEST-32. Each of the four family trees of VEST ciphers supports family keying to generate other independent cipher families of the same size. The family-keying process is a standard method to generate cipher families with unique substitutions and unique counters with different periods. Family keying enables the end-user to generate a unique secure cipher for every chip.

[edit] Periods

VEST ciphers are assisted by a non-linear RNS counter with a very long period. According to the authors, determining average periods of VEST ciphers or probabilities of the shortest periods of VEST-16 and VEST-32 falling below their advertised security ratings for some keys remains an open problem and is computationally infeasible. They believe that these probabilities are below 2-160 for VEST-16 and below 2-256 for VEST-32. The shortest theoretically possible periods of VEST-4 and VEST-8 are above their security ratings as can be seen from the following table.

Period: VEST-4 VEST-8 VEST-16 VEST-32
Guaranteed Minimum 2134 2134 2143 2143
Longest Possible 2251 2383 2519 2791

[edit] Performance

[edit] Computational Efficiency in Software

The core NLPFSR accumulator in VEST ciphers has a complex, highly irregular structure that resists its efficient implementation in software.

The VEST-4 core: Substitution followed by Transposition
Enlarge
The VEST-4 core: Substitution followed by Transposition

The highly irregular input structure coulped with a unique set of inputs for each feedback function hinders efficient software execution. As a result, all the feedback functions need to be calculated sequentially in software, thus resulting in the hardware-software speed difference being approximately equal to the number of gates occupied by the feedback logic in hardware (see the column "Difference" in the table below).

Implementation: Clock VEST-4 VEST-8 VEST-16 VEST-32
Hardware 250 MHz ~1 Gb/s ~2 Gb/s ~4 Gb/s ~8 Gb/s
Software 250 MHz < 1.0 Mb/s < 0.8 Mb/s < 1.1 Mb/s < 1.3 Mb/s
Difference > 1000 x > 2300 x > 3500 x > 6000 x

The large differential between VEST's optimised hardware execution and equivalently clocked software optimised execution offers a natural resistance against low cost general-purpose software processor clones masquerading as genuine hardware authentication tokens.

In bulk challenge-response scenarios such as RFID authentication applications, bitsliced implementations of VEST ciphers on 32-bit processors are only 2-4 times slower than the AES.

[edit] Hardware Performance

VEST is submitted to the eStream competition under the Profile II as designed for "hardware applications with restricted resources such as limited storage, gate count, or power consumption", and shows high speeds in FPGA and ASIC hardware according to the evaluation by ETH Zurich.

The authors claim that according to their own implementations using "conservative standard RapidChip design front-end sign-off process", "VEST-32 can effortlessly satisfy a demand for 256-bit secure 10 Gb/s authenticated encryption @ 167 MHz on 180ηm LSI Logic RapidChip platform ASIC technologies in less than 45K Gates and zero SRAM". On the 110ηm Rapidchip technologies, VEST-32 offers 20 Gb/s authenticated encryption @ 320 MHz in less than 45 K gates". They also state that unrolling the round function of VEST can halve the clock-speed and reduce power consumption while doubling the output per clock-cycle, at the cost of increased area.

[edit] Key Agility

VEST ciphers offer 3 keying strategies:

  • Instantly loading the entire cipher state with a cryptographically strong key (100% entropy) supplied by a strong key generation or key exchange process;
  • Instant reloading of the entire cipher state with a previously securely initialised cipher state;
  • Incremental key loading (of an imperfect key) beginning with the least significant bit of the key loaded into the counter 15, sliding the 16-bit window down by one bit on each round until the single bit 1 that follows the most significant bit of the key is loaded into the counter 0. The process ends with 32 additional sealing rounds. The entire cipher state can now be stored for instant reloading.
Key Bits Rounds to load a key
80 128
160 208
256 304
320 368
512 560

VEST ciphers offer only 1 resynchronisation strategy:

  • Hashing the (IV) by loading it incrementally 8-bits at a time into the first 8 RNS counters, followed by additional 32 sealing rounds.
IV Bits Rounds to load an IV
64 40
128 48
256 64

[edit] History

According to the cipher specification, VEST was designed by Sean O'Neil and was submitted to the eStream competition in June 2005 which seems to be the first available publication of the cipher.

[edit] Security

The authors claim that VEST security margins are inline with the guidelines proposed by Lars Knudsen in the paper "Some thoughts on the AES process" and the more conservative guidelines recently proposed by Nicolas Courtois in the paper “Cryptanalysis of Sfinks”. Although the authors are not publishing their own cryptanalysis, VEST ciphers seem to have a high security margin and they have already survived more than a year of public scrutiny as a part of the eStream competition organised by the ECRYPT and were advanced to the second phase.

[edit] Attacks

As of September 2006, there are no known attacks against VEST ciphers or VEST hash functions that are faster than serial brute-force of the key space or of the internal state.

[edit] External links

[edit] References

Stream ciphers
v  d  e
Algorithms: A5/1 | A5/2 | FISH | Grain | HC-256 | ISAAC | MUGI | Panama | Phelix | Pike | Py | Rabbit | RC4 | Salsa20 | Scream | SEAL | SOBER | SOBER-128 | SOSEMANUK | Trivium | VEST | WAKE
Theory: Shift register | LFSR | NLFSR | Shrinking generator   Standardization: eSTREAM
Hash algorithms: Gost-Hash | HAS-160 | HAVAL | MDC-2 | MD2 | MD4 | MD5 | N-Hash | RIPEMD | SHA family | Snefru | Tiger | VEST | WHIRLPOOL | crypt(3) DES
MAC algorithms: Data Authentication Code | CBC-MAC | HMAC | OMAC/CMAC | PMAC | UMAC | Poly1305-AES | VEST
Authenticated encryption modes: CCM | EAX | GCM | OCB | VEST   Attacks: Birthday attack | Collision attack | Preimage attack | Brute force attack
Standardization: CRYPTREC | NESSIE   Misc: Avalanche effect | Hash collision | Hash functions based on block ciphers
Cryptography
v  d  e
History of cryptography | Cryptanalysis | Cryptography portal | Topics in cryptography
Symmetric-key algorithm | Block cipher | Stream cipher | Public-key cryptography | Cryptographic hash function | Message authentication code | Random numbers
In other languages