13.09.2014 Views

vulcan-cryptanalysis

vulcan-cryptanalysis

vulcan-cryptanalysis

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

cannot be independently verified and must therefore be considered mere conjecture.<br />

Nonetheless, every claim in this paper is made in good faith, in that we<br />

believe the information to be as accurate as possible, and we are not trying to<br />

deliberately deceive or mislead anyone. We certainly welcome any corrections<br />

or additions to the information presented in this paper.<br />

We are absolutely confident in our technical reporting of Vulcan because<br />

that information was determined solely via reverse-engineering. Furthermore,<br />

we verified the accuracy of our analysis by comparing simulation data to that<br />

obtained from genuine DVP hardware.<br />

1.2 Terminology<br />

Unless specifically stated to the contrary, all mathematical operations described<br />

in this paper are on the Galois Field GF (2). Accordingly, multiplication corresponds<br />

to a logical AND function and addition corresponds to a logical XOR<br />

function. Additionally, we adopt digital filter terminology for shift register delay<br />

elements, using the notation z −1 to indicate a delay of one bit.<br />

In our figures, we use a square with the text z −1 inside it to denote a 1-<br />

bit delay element that is equivalent to a D flip-flop. We use a circle with a<br />

multiplication sign in to denote multiplication over GF (2), which is equivalent<br />

to a logical AND gate. We use a circle with a plus sign in it to denote addition<br />

over GF (2), which is equivalent to a logical XOR gate.<br />

As much as possible, we try to use cryptographic vocabulary appropriate<br />

for stream ciphers in this paper. As such, we prefer that the term key refer to<br />

the keystream generated by the stream cipher instead of the user-selected secret<br />

key, which we prefer to identify with the term cryptovariable (CV).<br />

Thus when we refer to a bit of key, we are referring to a keystream bit<br />

that is added modulo-2 to plaintext to produce ciphertext during an encrypt<br />

operation, and added modulo-2 to ciphertext to produce plaintext during a<br />

decrypt operation. Likewise when we refer to a bit of cryptovariable, we are<br />

referring to a bit of the (preferably randomly selected) secret that must be<br />

shared amongst all users of the cryptosystem in order for secure communication<br />

to be possible.<br />

Additionally, we prefer the term ciphertext autokey (or the equivalent acronym<br />

CTAK) instead of cipher feedback (CFB) for describing the mode in which the<br />

Vulcan stream cipher operates. Ciphertext autokey implies that the keystream<br />

is generated automatically based solely upon prior ciphertext and the cryptovariable.<br />

This provides a self-synchronizing property that is advantageous for<br />

channels that do not easily provide for cryptographic synchronization [1].<br />

As we previously mentioned, Vulcan is the internal code name by which<br />

the cipher presented in this paper is known to Motorola. Motorola marketed<br />

products based on the Vulcan cipher as DVP. We use the terms Vulcan and<br />

DVP more or less interchangeably in this paper, but observe the convention<br />

that Vulcan can only refer to the cipher itself, whereas DVP can refer to either<br />

the cipher or a product that incorporates it.<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!