As establishing a relationship and securely sharing an encryption key to secure the information that will be exchanged, a set of roles, policies, and procedures to accomplish this has been developed; it is known as the public key infrastructure, or PKI.
Once PKI has established a secure connection, a symmetric key can be shared between endpoints.
[6][7] There are several methods for encrypting data in transit, such as IPsec, SCP, SFTP, SSH, OpenPGP and HTTPS.
For example, encryption can be configured at the disk layer, on a subset of a disk called a partition, on a volume, which is a combination of disks or partitions, at the layer of a file system, or within user space applications such as database or other applications that run on the host operating system.
[citation needed] The performance of encryption software is measured relative to the speed of the CPU.
Thus, cycles per byte (sometimes abbreviated cpb), a unit indicating the number of clock cycles a microprocessor will need per byte of data processed, is the usual unit of measurement.
[13] Cycles per byte serve as a partial indicator of real-world performance in cryptographic functions.
[14] Applications may offer their own encryption called native encryption, including databases applications such as Microsoft SQL, Oracle, and MongoDB, and commonly rely on direct usage of CPU cycles for performance.
This often impacts the desirability of encryption in businesses seeking greater security and ease of satisfying compliance by impacting the speed and scale of how data within organizations through to their partners.