Content deleted Content added
→top: ce, add "Cryptography" wikilink; rm context tag |
m Simplified the psuedocode by removing the excessive 'a' variable. |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 10:
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}}
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".<ref name="Kulesza2006">{{cite
The VMPC function is used in an [[encryption]] algorithm – the VMPC [[stream cipher]]. The algorithm allows for efficient in software implementations; to encrypt {{mono|L}} bytes of plaintext do:
Line 17:
i := 0
'''while''' GeneratingOutput:
'''output''' S[S[S[j]] + 1]
swap S[i] and S[j] <span style="color: green;">(''b := S[j]; S[
i := i + 1
|