Reference articles on history, science, culture and more
Encyclopedia

Variably Modified Permutation Composition

Stream cipher

VMPC (Variably Modified Permutation Composition) for cryptography is a stream cipher similar to the well known and popular cipher RC4 designed by Ron Rivest. It was designed by Bartosz Żółtak, presented in 2004 at the Fast Software Encryption conference.

The core of the cipher is the VMPC function, a transformation of n-element permutations defined as:

for x from 0 to n-1: g(x) = VMPC(f)(x) = f(f(f(x))+1)

The function was designed such that inverting it, i.e. obtaining f from g, would be a complex problem. According to computer simulations the average number of operations required to recover f from g for a 16-element permutation is about 211; for 64-element permutation, about 253; and for a 256-element permutation, about 2260.

In 2006 at Cambridge University, Kamil Kulesza investigated the problem of inverting VMPC and concluded "results indicate that VMPC is not a good candidate for a cryptographic one-way function".

The VMPC function is used in an encryption algorithm, the VMPC stream cipher. The algorithm allows for efficient in software implementations; to encrypt L bytes of plaintext do:

All arithmetic is performed modulo 256. i := 0 while GeneratingOutput: j := S[j + S[i]] output S[S[S[j]] + 1] swap S[i] and S[j] (b := S[j]; S[j] := S[i]; S[i] := b)) i := i + 1 endwhile

Where 256-element permutation P and integer value s are obtained from the encryption password using the VMPC-KSA (Key Scheduling Algorithm).

Watch videos about Variably Modified Permutation CompositionExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Variably Modified Permutation Composition, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.