Key generation
From Free net encyclopedia
Key generation is the process of generating keys for cryptography. A key is used to encrypt and decrypt whatever data is being encrypted/decrypted.
Generally with modern advanced cryptographic systems there are two keys. An encryption key and a decryption key. The encryption key can also be a public key and the decryption key can be the private key. This means that you can give someone else the public key and they can give you encrypted data that only you can decrypt with your private key. Most of the time these transactions go on behind the scenes when you log on to secure servers: logging on to your bank or using SSH for example.
So one might imagine if these keys are simple or predictable then the process is pointless so key generation needs to be difficult to predict. The better keys are usually randomly generated using a Random Number Generator (RNG) or Pseudo Random Number Generator (PRNG), the latter being a computer algorithm that produces data which appears random under analysis. Of the PRNGs those which use system entropy to seed data generally produce better results. The other factor is key length, the more data in the key the harder it is to analyse the data and discover the key. Template:Crypto-stub