The purpose of a signature is to authenticate the creator of the signed object.
In the case of blind dates and internet shopping there is nothing to authenticate at the first exchange of information, because all merchants and blind date partners are total strangers anyway. What matters is that the correspondence that follows the first exchange of information is with the same stranger, not with some other stranger.
The scheme is that message M_n signature is a secure hash of a concatenation of all messages since the first message, message M_n included. If M_1 is a file with the very first message that the signer sent and M_2 is the 2. message that the signer sent, then a way to calculate the signature is:
cat ./M_1.blob > ./x.blob # The ">" is required for overwriting the old x.blob .
cat ./M_2.blob >> ./x.blob # The ">>" in stead of the ">" is
# required to add in stead of overwriting.
cat ./M_3.blob >> ./x.blob
cp ./x.blob ./x_hijacker.blob
cat ./M_n.blob >> ./x.blob
sha256sum ./x.blob > ./the_signature.txt
cat ./M_n_hijacker >> ./x_hijacker.blob
sha256sum ./x_hijacker.blob > ./hijacked_branch_message_signature.txt
The M_n must be included to the signature calculation x.blob to make sure that an eavesdropper can not reuse the signature for signing its own message. To make eavesdropping and hijacking more difficult, different messages might be sent through different channels.
The message M_1 might be accompanied by M_0, which might be some bitstream that is distributed as a small piece of paper with a QR-code. Given that NSA and alike do not intercept paper-mail/snail-mail without specifically targeting someone, because the cost of doing physical processing of physical letters is too high, some initial symmetric cryptography keys and the M_0 might be sent by using snail-mail. Snail-mail has various different channels and part of the cryptography keys might be sent through one channel, part through another and if all of the channels are used at once, the eavesdroppers might be overwhelmed, because they might run out of resources to break/intercept/demand-with-a-court-order all different parcel delivery services at once. On the other hand, sending paper with bitstreams is also "legal". Physical exchange of objects is never anonymous, because the sender of the object, even, if drop sites are used, can use trackers, send poisons or bombs, etc. The anonymity that was used by the Cold War spies of the United States and/or Soviet Union, was a cooperative anonymity, where the spy wanted its co-workers to stay anonymous from itself, but at 21. century non-cooperative anonymity is required. The proposed "Chainsignature" scheme is usable with non-cooperative anonymity.
Similar Ideas and Projects
The obvious source of inspiration is the Bitcoin. Some other related ideas and projects are:
- a 2018_04_07 blog post (archival copy, local copy) by Matthew Green;
- Merkle trees and the Lamport One-Time Signature;