A
system for secure transfer of encrypted data involves a sender
client (36), a recipient
client (38), a main
server (40), and a
key server (42). The sender
client (36) receives instructions from a first user identifying transfer data and a recipient identifier, creates an encoding key, encodes the transfer data using the key, and communicates the key and the recipient identifier to a main
server (40). The main
server (40) communicates the key and the recipient identifier to the
key server (42), which associates the recipient identifier with a secure
package identifier and communicates the secure
package identifier to the main server (40), which communicates the secure
package identifier to the sender client (36). The recipient client (38) receives and identifies the secure
package identifier and the encoded transfer data, receives from a second user a
user identifier, and communicates the
user identifier and the secure
package identifier to the main server (40), which communicates them to the
key server (42). The key server (42) communicates the key to the main server (40) only if the secure
package identifier received from the recipient client (38) matches the secure package identifier created by the main server (40) and if the
user identifier matches the recipient identifier. The main server (40) communicates the key to the recipient client (38).