Patent ID: 8510726

Claim:
A computer-implemented method of generating a protected software application using white-box cryptography, comprising: receiving at least one input source file including application source code and abstracted white-box function calls, where each abstracted function call can be instantiated by a developer using a late binding code translation approach to implement a white-box call performing a tamper-resistant function related to protecting the input source file in its application runtime from external vulnerability attackers; receiving a parameterization file containing cryptographic domain parameters for each abstracted white-box function call; wherein the domain parameters are expressed in each parameterization file as concrete values pertinent to the associated cryptographic domain that are replaced by the late-binding to provide a translated form of the tamper-resistant function instantiated from using the received abstracted white-box function; generating white-box call definition data defining each abstracted white-box function call in accordance with its cryptographic domain parameters; applying at least one data transformation to the input source file and the white-box call definition data to respectively generate a transformed source file and transformed white-box call definition data; generating data initializations containing instance-specific data for each white-box function call in accordance with the white-box call definition data and the transformed white-box call definition data; compiling the transformed source file, the transformed white-box definition data and the data initialization code, and linking the resulting compiled code to a white-box library to provide an executable software application; and wherein generating the white-box call definition data comprises generating a white-box call definition file and white-box metadata specifying parameters chosen for each white-box function call.