
The unique white-box cryptography technology utilized by whiteCryption is based on a combination of sophisticated mathematical techniques. The core of the whiteCryption technology is Multi-Channel Finite Automata Code Transformation (MCFACT). It is a method of protecting sensitive data and the key areas of the program code by transforming them into finite-state automata. Program code that is transformed into finite-state automata is able to perform computations on encrypted data without the data ever being decrypted. MCFACT is based on the proposition that once encryption, decryption, and computation finite automata of a certain subprogram are composed into a single finite automaton, the internal secrets of the computation are effectively hidden. At run time, the transformed program code is executed by a virtual processing unit. Finite automata perform the actual operations in a single pass. The composition of the finite automata ensures that no intermediate plain data or information about the operation can be retrieved.
MCFACT prevents an adversary from obtaining an inside view of the protected program code and protected data through observation of the program’s run-time behavior. The program code is transformed into large finite automata tables. An adversary cannot reverse-engineer the automata tables, because a reverse transformation to program code would involve the decomposition of large finite automata, which is a near impossible mathematical problem.
If an adversary wants to attack the automata tables, he is forced to decompose large multi-channel finite automata. Experience with the decomposition of large finite automata has been obtained by analyzing the Chinese public key algorithm FAPKC. One version of this algorithm was broken by reversing the public key. However, reversing is not a security issue for MCFACT. Today there are no known approaches to breaking MCFACT by using decomposition.