Is signing a message hash a valid replacement for blind signature? I didn't understand how the blind signature implementations work. But I devised my own way of doing it:


Alice would compose the message
Alice would calculate the hash of the message
Alice would hand the hash to Bob
Bob would sign it with his private key
Alice would hand the message and the signed hash to Carol
Carol would calculate the actual hash using the message
Carol would decode the signed hash with Bob's public key
Carol would compare the actual hash with the decoded hash


Wouldn't this algorithm replace the blind signature implementation as described in Wikipedia in every case?
Wouldn't this algorithm replace the blind signature implementation as described in Wikipedia in every case?


No, because hashing is a deterministic algorithm. Let M be Alice's message, and $H(\cdot)$ be the hash function.

In your algorithm, Alice passes H(M) to Bob, who can store H(M) for later reference. This way, Bob effectively creates a database of message hashes signed by him, as well as the ID of the user who asked for Bob's signature. Let $D = \{\langle H(M_1), ID_1 \rangle, \langle H(M_2), ID_2 \rangle, \ldots \}$ be this database.

On seeing a message-signature pair $(M, \sigma)$, Bob hashes M to H(M), and searches D for H(M). If H(m) is found, Bob can easily recover the ID of the user. Hence, this method does not blind the identity of the user.