Abstract
A JavaCard is a typical smart card which conforms to all smart card standards and thus requires no change to existing smart card-aware applications. However, in JavaCard, a Java Virtual Machine (JVM) is implemented in its read-only memory mask. The JVM executes a Java bytecode subset on the smart card, ultimately providing the functions accessible from outside, such as signature, log-in and loyalty applications.