VMPC One-Way Function P vs NP Project VMPC Encryption Technology VMPC-R CSPRNG VMPCrypt Application Permutu Game Publications About Author Contact

Welcome to the VMPC Project by Bartosz Zoltak

Download the "VMPC One-Way Function and Stream Cipher" paper published at the
International Association for Cryptologic Research (IACR)
Fast Software Encryption (FSE) 2004 conference

vmpc.pdf     vmpc.ps     vmpc.dvi

FSE 2004

VMPC One-Way Function - is P=NP?

The main objective of my project is to finish the proof that the VMPC function which I discovered in 1998 is a one-way function. This would settle that P ≠ NP. The question whether P=NP is one of the seven Millennium Problems by Clay Mathematics Institute.

I have worked on the problem for 20 years, writing down about 1700 A4 pages of notes.
As of 2019 the paper with the proof is almost complete.

A brief history of the project:

In 1998 I discovered the VMPC one-way function. Probably the simplest one-way function in the world: F(F(F(x))+1).

In the following years using the function I developed the VMPC Encryption Technology. It includes the VMPC Stream Cipher, two variants of its Key Scheduling Algorithm (VMPC-KSA and VMPC-KSA3) and an authenticated encryption scheme VMPC-MAC.

In 2004 I employed the VMPC Encryption Technology in a privacy protection application VMPCrypt.

In 2010 I designed the VMPC-R Cryptographically Secure Pseudo-Random Number Generator (or Stream Cipher). It was published in 2013 and as of 2019 I am not aware of any publication reporting any weakness in the algorithm.

In 2019 I published an authenticated encryption scheme for the VMPC-R stream cipher.


VMPC One-Way Function
Just f(f(f(x))+1). Despite this simplicity it appears that the function is one-way - it cannot be efficiently inverted.

VMPC One-Way Function - is P=NP?
We attempt to prove that VMPC is a one-way function and thus solve the P vs NP problem by determining that P ≠ NP.

VMPC Encryption Technology comprising:
  • VMPC Stream Cipher
    An efficient stream cipher with a dedicated key scheduling algorithm. Employs the VMPC one-way function.
  • VMPC KSA3 Algorithm
    An algorithm obtaining an additional layer of security from the Key Scheduling Algorithm. Data encrypted using this algorithm remain secure even if the underlying cipher is broken.

VMPC-R Cryptographically Secure Pseudo-Random Number Generator
An algorithm producing high quality pseudo-random numbers. Can also be used as a stream cipher. Available with an authenticated encryption scheme (MAC).

VMPCrypt Application
A data encryption application for PC employing the VMPC Encryption Technology.

Permutu board game
A board game inspired by the VMPC one-way function. The game's mechanics reflect the process of inverting the VMPC function. Despite complex mathematical roots the game is incredibly simple.

Copyright © 1999-2022 by Bartosz Zoltak