A method of masking a cryptographic operation using a secret value,
comprising the steps of dividing the secret value into a plurality of
parts; combining with each part a random value to derive a new part such
that the new parts when combined are equivalent to the original secret
value; and utilizing each of the individual parts in the operation.