Score:0

ลายเซ็นกลุ่มนิรนาม

ธง il

ฉันได้ทำการวิจัยบางอย่างในเอกสารเกี่ยวกับลายเซ็นแบบกลุ่มและแบบวงแหวนสำหรับลายเซ็นที่ไม่ระบุตัวตน ฉันกำลังพยายามค้นหารูปแบบลายเซ็นกลุ่มซึ่งมีคุณสมบัติดังต่อไปนี้:

  • ไม่เปิดเผยชื่อสำหรับผู้ลงนาม
  • ลายเซ็นสามารถตรวจสอบได้โดยผู้รับทั่วไป
  • ส่งออกเพียงหนึ่งลายเซ็น (ฉันไม่ต้องการ LSAG Signature Scheme)
  • ผู้ลงนามในกลุ่มควรสามารถสร้างลายเซ็นได้ด้วยตนเอง
  • การก่อสร้างควรขึ้นอยู่กับ เส้นโค้งวงรี และควรจับคู่ฟรี
knaccc avatar
es flag
หากคุณไม่ต้องการให้เชื่อมโยงได้ คำศัพท์ทางเทคนิคสำหรับสิ่งที่คุณกำลังมองหาคือ Spontaneous Anonymous Group signature (SAG) มีหลายวิธีในการปรับใช้ SAG และ SAG ก็เป็นหนึ่งลายเซ็นเสมอ ฉันคิดว่าคุณอาจหมายความว่า SAG บางรายการที่คุณเคยเห็นมีค่าใช้จ่ายสูงเกินไปในแง่ของการจัดเก็บหรือการตรวจสอบ
meshcollider avatar
gb flag
@knaccc อะไรคือความแตกต่างระหว่าง SAG และลายเซ็นแหวนปกติ? จากสิ่งที่ฉันเข้าใจ ความเป็นธรรมชาติบ่งบอกเป็นนัยว่าไม่มีผู้จัดการกลุ่ม ดังนั้นจึงดูเหมือนเป็นลายเซ็นแบบวงแหวน (ผู้ลงนามสามารถสร้างวงแหวนแบบเฉพาะกิจได้เองและสร้างลายเซ็นข้างใต้)
meshcollider avatar
gb flag
"การก่อสร้างควรเป็นไปตามเส้นโค้งวงรี" -> สิ่งนี้หมายความว่าอย่างไร สามารถใช้พื้นฐานอื่น ๆ (เช่น primitives ของคีย์สมมาตร) ได้หรือไม่? คุณหมายถึงว่าคีย์สาธารณะต้องเป็นคะแนน EC หรือไม่
knaccc avatar
es flag
@meshcollider ลายเซ็นริงที่ใช้ EC Schnorr เป็นวิธีหนึ่งในการนำลายเซ็น SAG ไปใช้ อีกวิธีล่าสุดที่สามารถทำได้คือ ZK-STARKS
knaccc avatar
es flag
@meshcollider "ลายเซ็นกลุ่มนิรนามที่เกิดขึ้นเอง" เป็นเพียงรายการข้อกำหนด ลายเซ็นของแหวนเป็นวิธีการเฉพาะในการบรรลุข้อกำหนดเหล่านั้นโดยใช้แฮชครึ่งกิ้งก่าที่ช่วยให้สมาชิกแต่ละคนของวงแหวนสามารถตอบความท้าทายจากลิงก์ก่อนหน้าในวงแหวนได้ แต่สามารถ 'ปิด' วงแหวนได้ผ่านความรู้ของหนึ่งใน คีย์ส่วนตัว
meshcollider avatar
gb flag
@knaccc ฉันไม่เห็นด้วย ลายเซ็นแบบวงแหวนเป็นการสร้างแบบทั่วไป และแบบที่คุณอ้างถึงเป็นเพียงการยกตัวอย่างที่เป็นไปได้
knaccc avatar
es flag
@meshcollider บางทีฉันสามารถสรุปได้มากกว่านี้อีกเล็กน้อยและกำหนดลายเซ็นของแหวนเป็นวงแหวนของความท้าทายและการตอบสนอง ซึ่งมีเพียงผู้ถือคีย์ส่วนตัวอันใดอันหนึ่งเท่านั้นที่สามารถรวมวงแหวนเข้าด้วยกันเพื่อสร้างลายเซ็นที่ถูกต้อง นี่เป็นวิธีการที่แตกต่างจาก SAG ที่อิงจากตัวสะสมหรือวิธีการพิสูจน์ความรู้ที่ไม่มีความรู้อื่น ๆ ที่แตกต่างกันอย่างมากซึ่งไม่เกี่ยวข้องกับความท้าทายและการตอบสนองฉันไม่ชัดเจนว่าคุณจะกำหนดและแยกความแตกต่างของ SAG กับลายเซ็นแหวนอย่างไร
CipherX avatar
il flag
@meshcollider หากผู้รับทั่วไปควรสามารถตรวจสอบลายเซ็นได้ ฉันไม่รู้ว่าจะทำอย่างไรกับคีย์สมมาตร (คุณต้องมีข้อตกลงคีย์เช่น DH มาก่อน หรือคุณต้องรู้ว่าคีย์สมมาตรคืออะไร เคยทำอย่างนั้น) แต่ถ้าคุณมีโปรโตคอลในใจที่อาจดีสำหรับกรณีการใช้งานของฉัน โปรดแจ้งให้เราทราบ
knaccc avatar
es flag
@meshcollider Btw ฉันพบข้อมูลอ้างอิงสำหรับคำศัพท์ของฉัน: "งานอื่น ๆ ในวรรณกรรมยังเรียกลายเซ็นประเภทนี้ว่า 'Ring Signatureâ' แม้ว่าบางชิ้นอาจไม่มีโครงสร้างวงแหวนสำหรับการสร้าง ในคำศัพท์ทางเลือก เรา เรียกลายเซ็นประเภทนี้ว่า "Spontaneous Anonymous Group (SAG) Signature" เนื่องจากเป็นไปตามคุณสมบัติของ SAG โดยไม่คำนึงถึงโครงสร้างการก่อสร้าง" (https://eprint.iacr.org/2004/027.pdf หน้า 2) ดังนั้นตามคำจำกัดความที่เข้มงวดขึ้น ลายเซ็น AOS ไม่ใช่ลายเซ็นแบบวงแหวน แต่เป็นลายเซ็นแบบ 1-out-of-n หรือลายเซ็นกลุ่มที่ไม่ระบุตัวตนที่เกิดขึ้นเอง
meshcollider avatar
gb flag
@knacc ขอบคุณ! Btw AOS อ้างถึงขั้นตอนที่สามของพวกเขา (ของการคำนวณ $s = c - ax$) ว่า "การสร้างวงแหวน" ดังนั้นแม้จะมีคำจำกัดความที่เข้มงวดกว่า ฉันก็ยังถือว่ามันเป็นลายเซ็นของวงแหวน :)
knaccc avatar
es flag
@meshcollider เมื่อ AOS พูดถึง "การขึ้นรูปวงแหวน" พวกเขากำลังสร้างวงแหวนจริงๆ เนื่องจากการท้าทายแต่ละครั้งขึ้นอยู่กับลิงก์ก่อนหน้าในวงแหวน คุณพูดถูกว่าลายเซ็น AOS เป็นลายเซ็นแบบวงแหวน ความสับสนคือคำตอบที่คุณให้นั้นไม่ใช่โครงสร้างเดียวกันกับที่กล่าวถึงในกระดาษที่พวกเขาพูดถึงการขึ้นรูปวงแหวน ภาคผนวก A เวอร์ชัน "ไม่สามารถแยกออกได้" ในคำศัพท์ของพวกเขาและไม่ได้ขึ้นอยู่กับวงแหวน
Score:2
ธง gb

ลายเซ็นแหวน คล้ายกับลายเซ็นกลุ่ม แต่ไม่มีผู้จัดการกลุ่ม ความแตกต่างที่สำคัญอีกประการหนึ่งคือ "วงแหวน" สามารถสร้างขึ้นได้ในเวลาลงนามด้วยคีย์ของใครก็ตามที่คุณต้องการ - คุณไม่มี "กลุ่ม" ที่ตายตัวเหมือนในลายเซ็นกลุ่ม

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

การสร้างลายเซ็นแหวนครั้งแรกเป็นของ รีสต์ ชามีร์ และทามาน. รูปแบบของพวกเขาใช้คีย์ RSA อาเบะ โอคุโบะ และซูซูกิ ให้รูปแบบที่สามารถใช้คีย์ประเภท RSA และ DL ผสมกันได้ ภาคผนวก A ของบทความของพวกเขาแสดงวิธีที่คุณสามารถสร้างลายเซ็นแบบวงแหวนด้วยคีย์สาธารณะที่มีลายเซ็นของ schnorr ซึ่งสามารถปรับให้เข้ากับการตั้งค่าเส้นโค้งวงรี (และใช้ EC-schnorr)

โดยเฉพาะ สมมติว่าแต่ละฝ่ายในวงแหวนมีรหัสสาธารณะ $Y_i = [x_i]G$และผู้เข้าร่วม $k$ ต้องการสร้างลายเซ็นในนามของพวกเขาทั้งหมด ให้คำสั่งของ $G$ เป็น $p$, และปล่อยให้ $H$ เป็นฟังก์ชันแฮชที่มีโคโดเมน $\mathbb{Z}/p\mathbb{Z}$. ผู้ลงนามจะเลือกค่าสุ่ม $\alpha$และค่าสุ่ม $c_i$ สำหรับสมาชิกวงคนอื่นๆ ผู้ลงนามจะสร้าง "รหัสรวม" $$ K = [\alpha]G + \sum_{i \neq k} [c_i]Y_i \, $$

จากนั้นผู้ลงนามจะคำนวณแฮช $c = H(Y_0, Y_1, \ldots, Y_n, M, K)$ สำหรับข้อความ $M$. คำนวณ $$ c_k = c - \sum_{i \neq k} c_i \pmod{p}, $$ เพื่อให้ทั้งหมด $c_i$ รวมทั้ง $c_k$ รวมเป็น $ค$ (กัญชา).

สุดท้ายปล่อยให้ $s = \alpha - c_k \cdot x_k \bmod{p}$. ลายเซ็นคือ $(s, c_0, \ldots, c_n)$. ในการตรวจสอบ เพียงคำนวณคีย์รวมและแฮชใหม่ดังนี้: $$ K' = [s]G + \sum_i [c_i]Y_i\ c' = H(Y_0, Y_1, \ldots, Y_n, M, K') $$ และตรวจสอบว่า $c' = \sum_i c_i \pmod{p}$.

คุณจะเห็นว่าการปฏิบัติโปรโตคอลอย่างตรงไปตรงมาจะช่วยให้ $K' = K$ เพราะ $$ K' = [s]G + \sum_i [c_i]Y_i \ = [\alpha]G - [c_k \cdot x_k]G + \sum_i [c_i]Y_i\ = [\alpha]G - [c_k]Y_k + \sum_i [c_i]Y_i\ = [\alpha]G + \sum_{i \neq k} [c_i]Y_i = K $$

จากนั้นการตรวจสอบจะทำงานโดยไม่คำนึงว่ากรณีใด $k$ เป็นผู้ลงนามตามที่กำหนด และทุกคนสามารถตรวจสอบลายเซ็นที่ได้รับจากชุดคีย์สาธารณะ $Y_i$, ข้อความ $M$ลายเซ็น $(s, c_i)$และพารามิเตอร์สาธารณะ $(G, p, E, \ldots)$.

CipherX avatar
il flag
ด้วยสคีมานี้ ขนาดของลายเซ็นจะขึ้นอยู่กับจำนวนของเอนทิตีที่เกี่ยวข้องในวงแหวน ฉันกำลังคิดเกี่ยวกับการส่งค่าโสหุ้ย (แม้กระทั่งการใช้เทคนิคการบีบอัด) ในกรณีของ N=10, 100, 1,000, 10,000 คุณคิดอย่างไรเกี่ยวกับเรื่องนี้
meshcollider avatar
gb flag
@CipherX ลายเซ็นจะเพิ่มขึ้นเป็นเส้นตรงในจำนวนผู้เข้าร่วม - คุณรวมคีย์สาธารณะหนึ่งรายการและค่า $c_i$ หนึ่งค่าสำหรับแต่ละรายการ
CipherX avatar
il flag
ตรงเป๊ะ...ลักษณะนี้อาจเป็นปัญหาสำหรับสถานการณ์ของฉัน แต่ขอบคุณมากสำหรับคำแนะนำของคุณ
meshcollider avatar
gb flag
ไม่มีปัญหา คุณไม่ได้บอกว่าคุณต้องการอันที่สั้นกว่านี้ คุณสามารถค้นหาลายเซ็นแหวนขนาดลอการิทึมได้ อย่างไรก็ตามโปรดยอมรับคำตอบของฉันถ้ามันช่วยได้ :)
CipherX avatar
il flag
แน่นอน @meshcollider หากคุณมีคำแนะนำเกี่ยวกับโปรโตคอลลายเซ็นแหวนขนาดลอการิทึมที่สอดคล้องกับข้อกำหนดของฉัน คงจะดีมาก!

โพสต์คำตอบ

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