Key generation
Modern cryptographic systems include symmetric-key algorithms (such as DES and AES) and public-key algorithms (such as RSA).  Symmetric-key algorithms use a single shared key; keeping data secret requires keeping this key secret.  Public-key algorithms use a public key and a private key.  The public key is made available to anyone (often by means of a digital certificate).  A sender will encrypt data with the public key; only the holder of the private key can decrypt this data.