Computer readable medium having a private key encryption program
First Claim
1. A computer-readable medium comprising a program for encrypting a private key used in cryptography, wherein the private key conforms to a predetermined key format, the program being executable on a computer to carry out the steps of:
- dividing an exponent of the private key into a most significant portion and a least significant portion;
encrypting the least significant portion using a secret known to a user associated with the private key; and
combining the most significant portion, without encryption, and the encrypted version of the least significant portion to form a storable private key sequence, the storable private key sequence being such that a decryption of the storable private key sequence using a proposed secret other than the secret known to the user results in a decrypted pseudo-key, wherein a pseudo-key is a key that conforms to the predetermined key format but does not match the private key and wherein the number of proposed secrets that lead to a pseudo-key is larger than a security threshold; and
storing the storable private key sequence as the encrypted private key.
9 Assignments
0 Petitions
Accused Products
Abstract
A digital wallet stores an cryptographically camouflaged access-controlled datum, e.g., a private key encrypted under the user'"'"'s PIN. Entry of the correct PIN will correctly decrypt the stored key. Entry of certain pseudo-valid PINs will also decrypt the stored key, but improperly so, resulting in a candidate key indistinguishable from the correct key. Such pseudo-valid PINs are spread thinly over the space of PINs, so that the user is unlikely to realize a pseudo-valid PIN via a typographical error in entering the correct PIN. In existing wallet technologies, which lack pseudo-valid PINs, only the correct PIN produces a decrypted key; thus, hackers can find the correct PIN by entering all possible PINs until a key is produced. The present invention'"'"'s plurality of candidate keys prevent a hacker from knowing when he has found the correct key. In addition, hacker detection may be moved off-line into devices accepting messages signed with candidate keys, and/or the lockout threshold may be increased. Thus, the wallet can be forgiving of typographic or transposition errors, yet a hacker trying large numbers of PINs will eventually guess a pseudo-valid (but still incorrect) PIN and recover a candidate private key whose fraudulent use will be detected. The wallet may be used with associated key generation, certification, and verification technologies. Such technologies may include pseudo-public keys embedded in pseudo-public certificates, i.e., public keys that are not generally known and which are contained in certificates that are verifiable only by entities so authorized by the certifying authority.
-
Citations
12 Claims
-
1. A computer-readable medium comprising a program for encrypting a private key used in cryptography, wherein the private key conforms to a predetermined key format, the program being executable on a computer to carry out the steps of:
-
dividing an exponent of the private key into a most significant portion and a least significant portion;
encrypting the least significant portion using a secret known to a user associated with the private key; and
combining the most significant portion, without encryption, and the encrypted version of the least significant portion to form a storable private key sequence, the storable private key sequence being such that a decryption of the storable private key sequence using a proposed secret other than the secret known to the user results in a decrypted pseudo-key, wherein a pseudo-key is a key that conforms to the predetermined key format but does not match the private key and wherein the number of proposed secrets that lead to a pseudo-key is larger than a security threshold; and
storing the storable private key sequence as the encrypted private key. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable medium comprising a program for encrypting a private key used in cryptography, wherein the private key conforms to a predetermined key format, the program being executable on a computer to carry out the steps of:
-
dividing the private key into a first portion and a second portion;
encrypting the second portion using a secret known to a user associated with the private key to form an encrypted second portion such that a substitution of an incorrectly decrypted encrypted second portion for the correctly decrypted encrypted second portion results, for at least some proposed secrets other than the secret known to the user, in a pseudo-key that conforms to the predetermined key format but is different from the private key; and
combining the first portion, without encryption, and the encrypted second portion to form a storable private key sequence, the storable private key sequence being such that a decryption of the storable private key sequence using at least some proposed secrets other than the secret known to the user results in a decrypted pseudo-key, wherein the number of proposed secrets that lead to a pseudo-key is larger than a security threshold; and
storing the storable private key sequence as the encrypted private key. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification