New techniques have been discovered to find the secret keys stored in smart-cards. These techniques have caused concern for they can allow people to recharge their smartcards (in effect printing money), or illegally use phone or digital TV services. We propose a new processor design which will counteract these techniques. By randomising the instruction stream being executed by the processor we can hide the secret key stored in a smartcard. The extension we propose can be added to existing processors, and is transparent to the algorithm.