1. A system for performing a multiplication, the system being arranged for receiving a first data value, comprising means for calculating at run time a set of instructions for performing a multiplication using the first data value; storage means for storing the set of instructions calculated at run time; and multiplication means arranged for receiving a second data value and at least one instruction from the stored set of instructions and arranged for performing multiplication of the first and the second data values using the at least one instruction.