A smartcard that enables one-time PIN code offline security authentication with a card reader, the smartcard including: a memory adapted to store one-time PIN codes and make available to the card reader any one-time PIN codes stored therein; a user interface including a code display operable to display one-time PIN codes and code input keys operable to receive input PIN codes; and a microprocessor that is interfaced with the memory and the user interface, and operable to receive input PIN codes from the code input keys, wherein the memory further stores therein an encrypted digest of a user PIN, which encrypted digest has been generated with an encryption algorithm, the microprocessor generates and displays a one-time PIN code on the display upon receiving an input PIN code from the code input keys, the microprocessor further determines, after the one-time PIN code is displayed, if the input PIN code matches the user PIN code by generating an encrypted digest of the input PIN code with the same encryption algorithm with which the stored digest has been created and by comparing the generated encrypted digest with the stored encrypted digest; and the microprocessor stores the one-time PIN code in the memory for access by the card reader if the generated encrypted digest matches the stored encrypted digest, wherein the smartcard is configured to reset the stored one-time PIN code in memory to an invalid value after a predetermined condition is met, and wherein the predetermined condition includes any one of lapsing of a predetermined time, deactivating of the display, and detecting with the microprocessor that the one-time PIN has been used in an authentication process. a memory adapted to store one-time PIN codes and make available to the card reader any one-time PIN codes stored therein; a user interface including a code display operable to display one-time PIN codes and code input keys operable to receive input PIN codes; and a microprocessor that is interfaced with the memory and the user interface, and operable to receive input PIN codes from the code input keys, wherein the memory further stores therein an encrypted digest of a user PIN, which encrypted digest has been generated with an encryption algorithm, the microprocessor generates and displays a one-time PIN code on the display upon receiving an input PIN code from the code input keys, the microprocessor further determines, after the one-time PIN code is displayed, if the input PIN code matches the user PIN code by generating an encrypted digest of the input PIN code with the same encryption algorithm with which the stored digest has been created and by comparing the generated encrypted digest with the stored encrypted digest; and the microprocessor stores the one-time PIN code in the memory for access by the card reader if the generated encrypted digest matches the stored encrypted digest, wherein the smartcard is configured to reset the stored one-time PIN code in memory to an invalid value after a predetermined condition is met, and wherein the predetermined condition includes any one of lapsing of a predetermined time, deactivating of the display, and detecting with the microprocessor that the one-time PIN has been used in an authentication process.