Variably Modified Permutation Composition: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: template type. | You can use this bot yourself. Report bugs here. | Activated by Zppix | Category:Cryptography stubs‎ | via #UCB_Category
mNo edit summary
Line 4:
well known and popular cipher [[RC4]] designed by [[Ron Rivest]]. It was designed by Bartosz Zoltak, presented in 2004 at the [[Fast Software Encryption]] conference. VMPC is a modification of the [[RC4]] cipher.<ref name=maximov>{{cite document |title=Two Linear Distinguishing Attacks on VMPC and RC4A and Weakness of RC4 Family of Stream Ciphers (Corrected) |author=Alexander Maximov |date=2007-02-22 |url=https://eprint.iacr.org/2007/070 }} (originally presented at FSE 2006 confernece)</ref>
 
The core of the cipher is the VMPC function, a transformation of ''n''-element [[permutation]]s 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 {{mono|f}} from {{mono|g}}, would be a complex problem. According to computer simulations the average number of operations required to recover {{mono|f}} from {{mono|g}} for a 16-element permutation is about 2<sup>11</sup>; for 64-element permutation, about 2<sup>53</sup>; and for a 256-element permutation, about 2<sup>260</sup>.{{Citation needed|date=September 2015}}
Line 17:
n = 0
Repeat steps 3-8 L times:
s = P[ (s + P[n]) mod 256 ]
Output P[ (P[P[s]]+1) mod 256 ]
Temp = P[n]
P[n] = P[s]
P[s] = Temp #Swap(P[n], P[s])
n = (n + 1) mod 256
</source>
Where 256-element permutation {{mono|P}} and integer value {{mono|s}} are obtained from the encryption password using the VMPC-KSA (Key Scheduling Algorithm).