**Asymmetric encryption**is an approach to encryption whereby anyone can encrypt a message with a receiver's public key. The corresponding private key is required to decrypt such messages.

**Symmetric encryption**is encryption based on private keys that may be shared between entities to achieve secure communications.

## Keys

Asymmetric encryption requires pairs of public/private keys that match such that it is infeasible to guess the private key from the public key. Asymmetric keys have a special structure based on large prime numbers. This structure makes keys easier to guess meaning that asymmetric keys need to be much longer than a symmetric key to be secure.Symmetric keys can be any string as they have no special properties. As such, they can be generated in a random fashion that makes them more difficult to guess. A symmetric key of 256 bits may be more secure than a far larger asymmetric key.## Distribution

Symmetric keys need to be distributed to partners in order to communicate using encryption. This presents a security challenge when dealing with a large number of communication endpoints. Asymmetric encryption solves this problem with public keys that can be published securely to anyone.## Speed

Asymmetric encryption relies on algorithms that are far slower than symmetric encryption.## Asymmetric + Symmetric

It is common to use asymmetric encryption to exchange symmetric keys and then communicate with symmetric encryption. This approach gains the distribution advantages of the asymmetric approach and the speed and enhanced key strength of symmetric encryption.## Data Encryption

Local applications of encryption such as encrypting data is storage is typically achieved with symmetric encryption.Asymmetric Encryption vs Symmetric Encryption | ||

Asymmetric Encryption | Symmetric Encryption | |

Definition | Encryption based on public/private key pairs that allows anyone to send an encrypted message to a receiver that only the receiver can read. | Encryption based on private keys. |

Advantages | Distributing keys over the internet and other large networks. | SpeedKeys can be fully random |