Variably Modified Permutation Composition

VMPC (Variably Modified Permutation Composition) is a stream cipher technology designed by Bartosz Zoltak, presented in 2004 at the Fast Software Encryption conference. VMPC is a modification of the RC4 cipher.[1]

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

for x from 0 do 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".[2]

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:

1  n = 0
2  Repeat steps 3-6 L times:
3    s = P[ (s + P[n]) mod 256 ]
4    Output P[ (P[P[s]]+1) mod 256 ]
5    Swap(P[n], P[s])                  # Temp = P[n]; P[n] = P[s]; P[s] = Temp
6    n = (n + 1) mod 256

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

References

  1. Alexander Maximov (2007-02-22). "Two Linear Distinguishing Attacks on VMPC and RC4A and Weakness of RC4 Family of Stream Ciphers (Corrected)". (originally presented at FSE 2006 confernece)
  2. Kulesza, Kamil (2008-10-27). "On Inverting the VMPC One-Way Function" (PDF). Retrieved 9 February 2015.

External links

This article is issued from Wikipedia - version of the Tuesday, March 22, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.