Score:2

ลายเซ็นแหวนที่เชื่อมโยงได้/ติดตามได้ คำอธิบายง่ายๆ

ธง ru

ขณะนี้ฉันอยู่ในขั้นตอนการทำความเข้าใจเกี่ยวกับลายเซ็นแหวน

ตอนนี้ฉันมาถึง Linkable/Tracable Ring Signatures แล้ว แต่ฉันไม่เข้าใจจริงๆ

ใครช่วยอธิบายฉันทีว่าหลักการเบื้องหลังนั้นทำงานอย่างไร ตัวอย่างก็จะมีประโยชน์มากเช่นกัน

ขอบคุณมาก ๆ!

Score:1
ธง es

พิจารณาวงแหวนที่แต่ละรายการในวงแหวนขึ้นอยู่กับแฮชของรายการก่อนหน้าในวงแหวน

$i_0 = H(i_3)$
$i_1 = H(i_0)$
$i_2 = H(i_1)$
$i_3 = H(i_2)$

ก่อนอื่น โปรดทราบว่าทุกคนสามารถสร้างแหวนขึ้นใหม่ได้หากได้รับการบอกกล่าวจากหนึ่งในนั้น $i$ ค่า

ประการที่สอง โปรดทราบว่าหากแฮชทนต่อการชนกัน ก็ไม่น่าจะสามารถสร้างวงแหวนดังกล่าวได้ ทั้งนี้เพราะเมื่อสร้าง $i_0$คุณจะต้อง "เดินทางข้ามเวลา" เพื่อหาค่าของ $i_3$ กำลังจะเป็น

ถ้าเราใช้ "กิ้งก่าแฮช" แทนแฮชปกติ เราสามารถสร้างวงแหวนดังกล่าวได้ นี่เป็นเพราะสามารถควบคุม "กิ้งก่าแฮช" เพื่อสร้างผลลัพธ์ที่จำเป็นหากทราบความลับเฉพาะ

ตัวอย่างเช่น Chameleon hash สำหรับคำตอบนี้ ลายเซ็นกลุ่มนิรนามที่เชื่อมโยงได้เอง อิงตามโครงสร้าง EC Schnorr

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

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

เนื่องจากปัญหา EC discrete-log จึงไม่มีใครสามารถบอกได้ว่ารหัสสาธารณะใดในวงแหวนที่อิมเมจของคีย์อิงตาม อย่างไรก็ตาม การสร้างวงแหวนอย่างมีประสิทธิภาพประกอบด้วย "การพิสูจน์ความเท่าเทียมกันของล็อกแบบไม่ต่อเนื่อง" ซึ่งตรวจสอบว่าคีย์สาธารณะในวงแหวนที่เชื่อมต่อวงแหวนนั้นต้องใช้คีย์ส่วนตัวเดียวกันกับอิมเมจคีย์ที่ประกาศร่วมกัน

ดังนั้น,

  1. ผู้ตรวจสอบสามารถบอกได้ว่าผู้ลงนามรู้จักคีย์ส่วนตัวอย่างน้อยหนึ่งคีย์ที่ตรงกับคีย์สาธารณะหนึ่งคีย์ในวงแหวน

  2. ผู้ตรวจสอบทราบว่ารูปกุญแจถูกสร้างขึ้นอย่างถูกต้องเพื่อแบ่งปันรหัสส่วนตัวเดียวกันกับที่ใช้ในการเข้าร่วมวงแหวน

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

baro77 avatar
gd flag
2 เซ็นต์ของฉัน (แย่ ;) ) พร้อมตัวอย่าง "ภาพ" จริงที่มาจากการใช้งาน Monero ปัจจุบัน (เช่น CLSAG): https://www.getmonero.org/library/RingsCheatsheet20210301.pdf
ru flag
ขอบคุณมากสำหรับคำตอบโดยละเอียดและฉันคิดว่าฉันเกือบจะถึงแล้ว สิ่งเดียวที่ฉันไม่เข้าใจอย่างสมบูรณ์คือการสร้างอิมเมจหลัก บางทีฉันอาจจะขาดความเข้าใจที่อื่น?
knaccc avatar
es flag
@Bagheera หากพับลิกคีย์ในวงแหวนที่คุณรู้ว่าไพรเวตคีย์คือ $X=xG$ โดยที่ $x$ คือไพรเวตคีย์ของคุณ รูปกุญแจของคุณคือ $X' = xH_p(X)$ โดยที่ $H_p() $ หมายถึงแฮชเนื้อหาเป็นรหัสสาธารณะใหม่ เมื่อคุณลงนาม คุณประกาศ $X'$ และกระบวนการตรวจสอบจะพิสูจน์ว่าคุณรู้จักรหัสส่วนตัว $x$ สำหรับภาพกุญแจ และเป็นรหัสส่วนตัวเดียวกันกับกุญแจสาธารณะตัวใดตัวหนึ่งในวงแหวน หากคุณเคยเซ็นชื่อโดยใช้ $x$ อีกครั้งในอนาคต คุณจะถูกบังคับให้ประกาศคีย์อิมเมจ $X'$ เดิมอีกครั้ง ดังนั้นผู้สังเกตการณ์จะเห็นได้ชัดว่าคุณเซ็นสองครั้ง
ru flag
ขอบคุณมาก! ฉันคิดว่ามันชัดเจนแล้ว :)

โพสต์คำตอบ

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