|(algorithm, cryptography)||synchronous key encryption - Data encryption using two
interlocking keys where enything encoded using one key may be
decoded using the other key. This means if someone makes one
of the two keys publicly available (as in public-key encryption) and keeps the other private, then anyone may send
them a message or data that only they can decode, giving
privacy, and furthermore, the sender may also encrypt that
same message additionally with their own private key, making
it impossible to read without decoding first with *their*
_public_ key by the receiver, this gives authenticity.|
It is a very powerful system. One cannot determine one key from the other, nor can they crack the encryption by computing all combinations, because, depending on the size of the keys (sometimes as large as 1024 bytes, though having grown from smaller versions in popular implementations of the software which does this), the amount of computing power required to crack the code is unavailable, even supercomputers would take more than a hundred years to crack it.
PGP is a publicly availble software implementation written by Phil Zimmermann.