Cryptography can generally be divided into two broad categories: secret (symmetric) key and public (asymmetric) key cryptography. In secret key cryptography, users share a secret key which is used to encrypt and decrypt messages. The primary difficulty lies in securely distributing the secret key, especially as the complexity and size of the network(s) scale upwards.
In contrast, public key cryptography involves the use of a public and private key pair. A user may freely distribute the public key but must always keep the private key secret. The concept behind public key cryptography is that of a one-way (or trapdoor) function f, where if given x, it is easy to compute f(x). However, if given f(x), it is not computationally practical to determine x.
The obvious advantage to public key cryptosystems is that there is no need to worry about key distribution. It is more flexible and as hardware advances make exhaustive searches faster, it is easy to simply select larger keys. With private key cryptographic methods, new keys must be generated and somehow disseminated. The disadvantage to public key cryptography is that it is necessarily slower and may also introduce added complexity as key length grows.
In actual practice, VOCAL employs both cryptographic types together in security systems to exploit the advantages of each. An example of one such process is a ‘digital envelope’. Private key cryptography is used to encrypt a message m, yielding ciphertext c. The secret key s is then encrypted using public key cryptography, yielding k. The encrypted message and key pair (c, k) may then be sent securely, where only the recipient may recover s from k. The secret key s may then be used to quickly decode ciphertext c, yielding original message m.
VOCAL’s security software can provide that communications security assurance, as either an API or as a comprehensive system of encryption protocols. Please contact us to discuss your application security requirements.