Blind Signatures

แปลโดย : Claude 3 Opus (Pro)

Blind Signatures

The talented cryptographer solved the problem in 1983. Having just earned his doctorate in computer science at Berkeley to be hired as a professor at the same university, Chaum published his design for an electronic cash system in his paper “Blind signatures for untraceable payments.”

As the title of the paper suggests, key to his design for a privacy-preserving payment system was his invention of blind signatures.

Chaum’s blind signatures were an extension of public key cryptography and, more specifically, the RSA cryptographic signature algorithm. To recap, a cryptographic signature is essentially a piece of data (like a message) encrypted with a private key, which can be decrypted with a public key. If Alice sends Bob a message and a corresponding cryptographic signature, Bob should be able to decrypt the signature with Alice’s public key, converting it into that same message, thereby mathematically proving that the signature was really created with her private key.

A blind signature, then, adds one layer of encryption to the mix.

To have Alice create a blind signature, Bob would first generate a special type of encryption key, called the blinding key, and encrypt a message using this blinding key. Bob would then give the encrypted message to Alice, for her to cryptographically sign with her private key. When she signs the encrypted message, she doesn’t know what the original message actually is: she’s blind signing.

The resulting signature is mathematically linked to Alice’s public key, as any signature would be. That is, her public key can be used to reproduce the exact encrypted message she signed. (The message itself would still be encrypted; it would reproduce the same encrypted blob she received from Bob.)

But interestingly, Bob could also use the blinding key first, in order to remove the layer of encryption created with it. This should essentially result in a new, valid signature from Alice, this time corresponding to the original message. This signature is called the blind signature. With the first layer of encryption removed by Bob, anyone can now use Alice’s public key to reproduce the original message from the blind signature.

In other words, anyone with the original message can at that point use Alice’s public key to verify that the blind signature corresponds to the message. This includes, of course, Alice herself. If Bob gives her the original message and the blind signature, she can use her own public key to verify that she indeed blind-signed an encrypted version of that original message.

As a real-world analogy used by Chaum in his paper, it’d be as if Bob put a letter in an envelope laced with carbon paper and handed this envelope to Alice, who’d sign the outside of the envelope, and give it back to Bob. If Bob then removed the envelope and showed Alice the letter with a carbon copy of her signature, she’d know that the letter had indeed been in the envelope she signed.

ลายเซ็นแบบบอด

นักเข้ารหัสลับผู้มากความสามารถแก้ปัญหานี้ได้ในปี 1983 หลังจากเพิ่งได้รับปริญญาเอกสาขาวิทยาการคอมพิวเตอร์จากเบิร์กลีย์และได้รับการว่าจ้างเป็นศาสตราจารย์ที่มหาวิทยาลัยเดียวกัน ชอมได้เผยแพร่การออกแบบระบบเงินสดอิเล็กทรอนิกส์ของเขาในบทความ "ลายเซ็นแบบบอดสำหรับการชำระเงินที่ไม่สามารถสืบย้อนได้" (Blind signatures for untraceable payments)

ดังที่ชื่อบทความบ่งชี้ กุญแจสำคัญในการออกแบบระบบการชำระเงินที่รักษาความเป็นส่วนตัวของเขาคือการประดิษฐ์ลายเซ็นแบบบอด

ลายเซ็นแบบบอดของชอมเป็นการขยายการเข้ารหัสลับด้วยกุญแจสาธารณะ (Public key cryptography) และ เฉพาะเจาะจงมากขึ้นก็คือขั้นตอนลายเซ็นเข้ารหัสลับ RSA (RSA cryptographic signature algorithm) เพื่อทบทวน ลายเซ็นเข้ารหัสลับโดยพื้นฐานแล้วคือส่วนของข้อมูล (เช่นข้อความ) ที่เข้ารหัสด้วยกุญแจส่วนตัว ซึ่งสามารถถอดรหัสด้วยกุญแจสาธารณะ หากอลิซส่งข้อความและลายเซ็นเข้ารหัสลับที่สอดคล้องกันให้บ็อบ บ็อบควรสามารถถอดรหัสลายเซ็นด้วยกุญแจสาธารณะของอลิซ แปลงกลับเป็นข้อความเดิม ซึ่งพิสูจน์ทางคณิตศาสตร์ว่าลายเซ็นนั้นถูกสร้างด้วยกุญแจส่วนตัวของเธอจริงๆ

จากนั้น ลายเซ็นแบบบอด จะเพิ่มอีกชั้นของการเข้ารหัสลงในส่วนผสมนี้

ในการให้อลิซสร้างลายเซ็นแบบบอด บ็อบจะสร้างกุญแจเข้ารหัสชนิดพิเศษที่เรียกว่ากุญแจแบบบอด (blinding key) ก่อน และเข้ารหัสข้อความโดยใช้กุญแจนี้ จากนั้นบ็อบจะส่งข้อความที่เข้ารหัสให้อลิซ เพื่อให้เธอเซ็นด้วยกุญแจส่วนตัวของเธอ เมื่อเธอเซ็นข้อความที่เข้ารหัสแล้ว เธอจะไม่รู้ว่าข้อความเดิมนั้นคืออะไร: เธอกำลังเซ็นแบบบอด

ลายเซ็นที่ได้นั้นเชื่อมโยงกับกุญแจสาธารณะของอลิซทางคณิตศาสตร์ เช่นเดียวกับลายเซ็นทั่วไป นั่นคือ กุญแจสาธารณะของเธอสามารถใช้เพื่อสร้างข้อความที่เข้ารหัสแล้วที่เธอเซ็นไว้ได้อย่างแม่นยำ (ข้อความเองจะยังคงถูกเข้ารหัสอยู่ มันจะสร้างข้อมูลที่เข้ารหัสแล้วชุดเดิมที่เธอได้รับจากบ็อบ)

แต่น่าสนใจก็คือ บ็อบก็สามารถใช้กุญแจแบบบอดก่อน เพื่อกำจัดระดับการเข้ารหัสที่ถูกสร้างด้วยกุญแจแบบบอดออกไป ผลลัพธ์ควรจะเป็นลายเซ็นใหม่ที่ถูกต้องจากอลิซ ในครั้งนี้ตรงกับข้อความเดิม ลายเซ็นนี้เรียกว่าลายเซ็นแบบบอด (blind signature) เมื่อชั้นแรกของการเข้ารหัสถูกกำจัดออกโดยบ็อบ ใครก็ตามสามารถใช้กุญแจสาธารณะของอลิซเพื่อสร้างข้อความเดิมจากลายเซ็นแบบบอดได้

อีกนัยหนึ่ง ผู้ที่มีข้อความต้นฉบับสามารถใช้กุญแจสาธารณะของอลิซเพื่อยืนยันว่า ลายเซ็นแบบบอดตรงกับข้อความนั้น ซึ่งรวมถึงตัวอลิซเองด้วย หากบ็อบให้ข้อความต้นฉบับและลายเซ็นแบบบอดแก่เธอ เธอสามารถใช้กุญแจสาธารณะของตัวเองเพื่อยืนยันว่าเธอได้เซ็นแบบบอดรุ่นที่เข้ารหัสของข้อความต้นฉบับนั้นจริงๆ

ตามการเปรียบเทียบในโลกแห่งความเป็นจริงที่ชอมใช้ในบทความของเขา มันเหมือนกับการที่บ็อบใส่จดหมายในซองที่มีกระดาษคาร์บอนและส่งซองนี้ให้อลิซ ผู้ซึ่งจะเซ็นชื่อที่ด้านนอกของซองและส่งคืนให้บ็อบ หากจากนั้นบ็อบเปิดซองออกและแสดงให้อลิซเห็นจดหมายที่มีสำเนาคาร์บอนของลายเซ็นเธออยู่ เธอก็จะรู้ว่าจดหมายนั้นอยู่ในซองที่เธอเซ็นจริงๆ

Last updated