Hubbry Logo
search button
Sign in
Variably Modified Permutation Composition
Variably Modified Permutation Composition
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
Variably Modified Permutation Composition
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the Variably Modified Permutation Composition Wikipedia article. Here, you can discuss, collect, and organize anything related to Variably Modified Permutation Composition. The ...
Add your contribution
Variably Modified Permutation Composition

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. 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 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.[citation needed]

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:

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).

References

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