OK. If this isn't the solution, it at least makes it past Eric's last objection. Alice hashes her file and uses that hash as the key to encrypt the file. She sends the file to Dave, and sends the original hash when she wants it back. Dave decrypts, and confirms the hash. Unfortunately, this still doesn't quite close the loop--Dave knows the contents of the file once Alice sends the key. It does, however, make it very difficult for Dave to know anything about Alice's file. In a real-world implementation, Dave is going to want to get the file back to Alice as quickly as possible, since that's part of what she's paying for. Scanning the file as it leaves will slow down delivery--especially if it's "suspicious" and must get routed to a human--so it's uneconomical for Dave to do anything until later. Once he's returned the file, the deed has been done, and it does little good to know that Alice was hoarding plans to build a nuke, as she's got them back again--the cat's out of the bag. b& -- Ben.Goren@asu.edu, Arizona State University School of Music Finger ben@tux.music.asu.edu for PGP public key ID 0xCFF23BD5.