Ah, that makes sense; been doing a bit of reading on some of the key sharing via public encryption and such. As I understand it, the private and public keys used to encrypt and decrypt data are different but mathematically linked, allowing for one to encrypt data and not decrypt, and vice versa. I shall read up on that algorithm to see!
Another very interesting thing I read was a method for transferring data between two entities each having different keys, the analogy for which follows:
Jim wants to send some secret package to Bob, so he puts the package in the box and locks it with his personal padlock, and sends it to Bob. When Bob gets this box, he can't unlock Jim's lock but he puts his own lock on the box, then sends it back to Jim. At this point, Jim takes his padlock off of the box and then sends it back to Bob. Bob then takes his padlock off of the box, and has the package. Although both have different keys, all 3 times the package was sent, it was locked with 1 or more locks.
As this applies in computerized data encryption, computer A would encrypt the data with its own key, send it to computer 2 where the data encrypted with computer 1's key is encrypted with computer 2's key, sent back to computer 1 where it's decrypted with computer 1's key, then finally sent back to computer 2 which it decrypts with computer 2's key and has the data.
This method has a few downsides, those being that the keys must be commutative to facilitate the layered encryption and such, an example is XORing the data with the key, as shown in this example:
KEY 1:
101
KEY 2:
011
---------------------------------------
ORIGINAL DATA
001
XOR WITH KEY 1:
100
XOR WITH KEY 2:
111
REVERSE XOR WITH KEY 1:
010
REVERSE XOR WITH KEY 2:
001
The other downside is that it requires 3 data transfers and not 1, so would in theory take around 3 times longer for the data to go un-encrypted on one computer to un-encrypted on the next. Does anyone know if or how often this method is used?