1. A method for executing applications on an untrusted device, comprising: selecting one or more applications as sensitive applications, modifying, by an external dongle, one or more instruction sequences of the one or more sensitive applications by randomly mixing instructions of at least two of the instruction sequences of the sensitive applications, wherein the randomly mixing includes permuting the instructions of the one or more instruction sequences with a predetermined pseudorandom permutation, executing the one or more sensitive applications on the untrusted device according to the modified instruction sequences, and checking, by the external dongle, correct execution of instructions of the modified instruction sequences by transmitting results of executed instructions of one of the modified instruction sequences to the external dongle and checking, by the external dongle, the transmitted results based on the modifications performed on the one or more instruction sequences.