Encrypting Software with Mathematical Jigsaw Puzzles
Encryption is a very important security tool for computers and users, as it protects some of our most personal information, but it does more than secure passwords and credit card numbers. Software is occasionally encrypted to protect its code from being stolen and to hide any unpatched security flaws, but it is not often successful as it is limited, so as to not impair the software's performance. Now researchers at the University of California, Los Angeles have developed a new method that secures software without any impairment.
The new encryption utilizes multilinear jigsaw puzzles to break apart the often human-readable code of a piece of software into a mess of numbers. At least it will look like a mess of numbers to a human. A computer with the correct information will be able to identify the patterns among the numbers and thus operate the software. Without that information a modern computer would require hundreds of years to decrypt the software.
A consequence of this work was a breakthrough for functional encryption, allowing it to support any computable function. Functional encryption uses a function to decrypt information, instead of a single key, allowing it to except multiple inputs as verification that somewhere is allowed to access the information. Such a system allows the same encrypted packet to be sent to multiple people, and depending on their credentials, they will only be able to decrypt specific information.