We disclose methods and apparatuses for securing cryptographic devices
against attacks involving external monitoring and analysis. A
"self-healing" property is introduced, enabling security to be
continually re-established following partial compromises. In addition to
producing useful cryptographic results, a typical leak-resistant
cryptographic operation modifies or updates secret key material in a
manner designed to render useless any information about the secrets that
may have previously leaked from the system. Exemplary leak-proof and
leak-resistant implementations are shown for symmetric authentication,
certified Diffie-Hellman (when either one or both users have
certificates), RSA, ElGamal public key decryption.