Score:2

รหัสส่วนตัว BLS ถูกสร้างขึ้นอย่างไร ส่วนต่างๆ มีชื่อเรียกต่างกันอย่างไร?

ธง ru

ของที่ระลึกซึ่งเป็นไลบรารีที่ใช้โดยการใช้งาน BLS ส่วนใหญ่ ค่อนข้างยากที่จะสร้างข้ามแพลตฟอร์ม

ด้วยเหตุนี้ฉันจึงมองหาสิ่งอื่น บริสุทธิ์ การใช้งาน BLS ที่ไม่ต้องพึ่งพา C - และฉันพบหนึ่งใน Go และอีกอันใน Rust

อย่างไรก็ตาม ระบบการตั้งชื่อดูเหมือนจะแตกต่างกันไปในแต่ละห้องสมุด

ฉันเห็นการผสมและจับคู่ของคำว่า "Affine", "Scalar", "FR", "FRRepr", "G1", "G2", "Public Key", "Secret" และ "Seed" และอื่น ๆ ซึ่ง ไม่จำเป็นต้องตรงกับสิ่งที่ฉันอ่านในบทความเกี่ยวกับ BLS, WikiPedia หรือไลบรารีโค้ดอื่นๆ

ฉันสันนิษฐานว่าคำศัพท์เหล่านี้บางคำใช้แทนกันได้ และบางคำมีความหมายต่างกัน

ตัวอย่างเช่น ดูเหมือนว่า "G1Element" มีความหมายเหมือนกันกับ "คีย์สาธารณะ"

แต่คำพ้องทางเทคนิคสำหรับ "คีย์ส่วนตัว" หรือ "ความลับ" คืออะไร

โดยเฉพาะอย่างยิ่ง ฉันกำลังพยายามแยกแยะว่าฉันสามารถใช้สิ่งเหล่านี้ได้อย่างไร:

ณ จุดนี้ สิ่งที่ฉันต้องการทำคือสามารถคอมไพล์ข้ามโค้ดสำหรับแพลตฟอร์ม arch+os ที่พบมากที่สุด 6 แพลตฟอร์ม ซึ่งจะสร้างคู่คีย์ส่วนตัวและพับลิก

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

Score:2
ธง tr

ความสับสนเกิดจากชื่อเดียวที่อ้างถึงสองสิ่งที่แตกต่างกันแต่เกี่ยวข้องกัน กล่าวคือ

  1. BLS เช่นเดียวกับลายเซ็น BLS: หมายถึงลายเซ็นดิจิทัลที่ใช้ การเข้ารหัสตามการจับคู่ เพื่อให้ลายเซ็นสั้นพร้อมคุณสมบัติเพิ่มเติม เช่น ความสามารถในการรวม ดูเพิ่มเติมที่นี่. พวกเขาได้รับการแนะนำครั้งแรกโดย Boneh, Lynn และ Shacham ดังนั้นชื่อนี้ บ.ล

  2. BLS เช่นเดียวกับใน BLS12_381: เป็นเส้นโค้งวงรีที่เรียกว่า "Pairing-Friendly" ซึ่งช่วยให้แอปพลิเคชันที่มีประสิทธิภาพและปลอดภัยของการเข้ารหัสตามการจับคู่ รวมถึงลายเซ็น BLS พวกเขามาจากผลงานของ Barreto, Lynn และ Scott ดังนั้น บ.ล.

ดังนั้น ดูเหมือนว่าคุณกำลังมองหาการใช้งาน 1) ในขณะที่ไลบรารี่ที่คุณกำลังมองหามีการใช้งานสำหรับ 2 เท่านั้น) เช่น e: เส้นโค้งพื้นฐาน

ดูลายเซ็น BLS ของการนำ Python ไปใช้เพื่อดูว่าแนวคิดทั้งสองเกี่ยวข้องกันอย่างไร https://github.com/Chia-Network/bls-signatures/blob/main/python-impl/schemes.py

แต่โดยทั่วไปและตามที่อธิบายไว้ ที่นี่การสร้างคีย์ทำงานในระดับสูงดังนี้: เลือกค่าสุ่ม $x, 0 < x < N$, ที่ไหน $N$ เป็นลำดับของเส้นโค้งและตั้งค่ารหัสสาธารณะเป็น $xG$, ที่ไหน $G$ เป็นตัวสร้างเส้นโค้ง

รายละเอียดที่แม่นยำขึ้นอยู่กับมาตรฐาน

โพสต์คำตอบ

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