Oblivious checking of a digital good is performed by identifying a
plurality of key instructions within a function of a digital good. Each
key instruction is an instruction that possibly modifies a register or a
flag. An extra instruction is then inserted into the function for each of
the key instructions. The extra instructions each correspond to one of
the key instructions and modify a register in a deterministic fashion
based on the corresponding key instruction. A set of inputs to the
function are then identified that result in different valid computation
paths in the function being taken. A checksum for the function is then
generated by using a mapping function which maps the contents of the
register to the set of inputs.