When we encrypt a file, we substitute the problem of protecting the file with the problem of protecting its key. If attackers can retrieve our secret keys, then our cryptographic measures give no protection. Keys face two attack vectors: attempts to guess a key and attempts to intercept a key. We face three key management problems:
Sharing keys with exactly the right people, no more or less
Choosing keys that attackers can’t guess
Handling keys so attackers can’t guess or intercept them
The third problem itself has several facets. First, there’s the key distribution problem: We need to share keys with others without risking security. Second, we need to store the keys safely so that attackers can’t retrieve ...