Patent ID: 9703979
Date: 2017-07-11
CPC Classifications: G06F,H04L

Claim:
1. An encryption method comprising: providing an encryption application for installation on a computing device; operating the encryption application to determine a keystore seed comprising a seed bit set with L seed bits in an ordered sequence where L is an integer greater than 3, wherein each seed bit in the seed bit set has a seed bit position in the ordered sequence, and the L seed bits in the seed bit set are independent and identically distributed; storing the keystore seed on the computing device using the encryption application; operating the encryption application to determine a plurality of key derivation sets, each key derivation set including at least one key derivation value; randomly selecting a selected key derivation set from the plurality of key derivation sets; operating the encryption application to generate a key bit sequence having l bits from the seed bit set and the selected key derivation set, wherein l is a positive integer less than L; generating an encryption key having u bits using the key bit sequence, wherein u is a positive integer not greater than l; determining keying information corresponding to the encryption key, the keying information being determined from the selected key derivation set, wherein the selected key derivation set is derivable from the keying information and wherein a mutual information amount between the encryption key and the keying information is zero such that the encryption key and the keying information are statistically independent, and the keying information discloses zero information about the encryption key absent knowledge of the keystore seed; receiving, by the encryption application, plaintext data; operating the encryption application to generate ciphertext data by encrypting the plaintext data using the encryption key; and storing the ciphertext data and the corresponding keying information using the encryption application.