Score:4

คุณรู้หรือไม่ว่าโปรโตคอลที่จำเป็นต้องได้รับจุด "อิสระ" หลายจุดบนเส้นโค้งวงรีเดียวกัน

ธง id

พิจารณาเส้นโค้งวงรี $E$ กำหนดไว้ในฟิลด์ที่มีขอบเขตจำกัด $\mathbb{F}_{\!q}$ ด้วยค่าคงที่ที่ไม่ใช่ศูนย์ $\mathbb{F}_{\!q}$-จุด $พี$. เพื่อความง่ายให้ลำดับของ $\mathbb{F}_{\!q}$กลุ่มจุด $E(\mathbb{F}_{\!q})$ เป็นนายกและด้วยเหตุนี้กลุ่มจึงถูกสร้างขึ้นโดย $พี$. เพื่อความปลอดภัย ในโปรโตคอลจำนวนมากของการเข้ารหัสแบบวงรี (เช่น ในเวอร์ชันที่ปลอดภัยของ Dual_EC_DRBG) เราต้องสร้าง "อิสระ" ขึ้นอีก $\mathbb{F}_{\!q}$-จุด $คิว$ บน $E$.

กรุณาตอบคำถาม คุณรู้หรือไม่ว่าโปรโตคอลที่จำเป็นต้องได้รับ "อิสระ" มากขึ้น $\mathbb{F}_{\!q}$- จุดบนเส้นโค้งเดียวกัน ? กล่าวอีกนัยหนึ่ง ปาร์ตี้เกี่ยวข้องกับ "อิสระ" $\mathbb{F}_{\!q}$จุด $Q_1$, $Q_2$, $\ldots$, $Q_n$ นอกจาก $พี$. โดย "อิสระ" ฉันหมายถึงจุดที่ไม่มีใครรู้ลอการิทึมที่ไม่ต่อเนื่องซึ่งสัมพันธ์กัน

ฉันถามคุณเพราะสำหรับบางคน $E$ และ $n$ ฉันรู้วิธีการผลิตพร้อมกันหลายๆ $Q_i$ เร็วกว่ารุ่นที่แยกจากกัน ฉันต้องการที่จะเข้าใจว่าวิธีการของฉันมีค่าควรแก่การตีพิมพ์ในวารสารทางวิทยาศาสตร์ที่ดีหรือไม่ หรืออาจมีบางอย่างเกี่ยวข้องกับการเข้ารหัสในโลกแห่งความเป็นจริง

eckes avatar
us flag
อาจมีข้อตกลงหลักตาม ECDH หลายฝ่ายหรือไม่
Dimitri Koshelev avatar
id flag
@eckes คุณช่วยแสดงความคิดเห็นของคุณได้ไหม
Score:8
ธง my

คุณรู้จักโปรโตคอลที่จำเป็นในการรับจุด "อิสระ" หลายจุดบนเส้นโค้งวงรีเดียวกันหรือไม่?

สถานที่หนึ่งที่ชัดเจนซึ่งสิ่งนี้จะเกิดขึ้นหากคุณกำลังใช้ความมุ่งมั่นของ Pedersen ในเรื่องเวกเตอร์ของค่า คุณกระทำกับเวกเตอร์ $(x_1, x_2, ..., x_n)$ โดยเผยแพร่ค่า $rH + x_1G_1 + x_2G_2 + ... + x_nG_n$; เพื่อให้ใช้งานได้คุณต้องมี $n+1$ จุดอิสระ $H, G_1, G_2, ..., G_n$

แม้ว่าสิ่งนี้จะค่อนข้างคลุมเครือ แต่ก็เกิดขึ้น Google ค้นหาได้อย่างรวดเร็ว กระดาษแผ่นนี้ดังนั้นจึงมีความเกี่ยวข้องบางประการ มากกว่ากระดาษบางแผ่นที่ฉันเคยเห็นมาอย่างแน่นอน...

Dimitri Koshelev avatar
id flag
ขอบคุณ! ฉันไม่รู้มากนักเกี่ยวกับแผนการผูกมัด ทำไมไม่เพียงพอที่จะใช้ $n = 1$ ? $n> 1$ เกิดขึ้นใน crypto ในโลกแห่งความเป็นจริงหรือไม่?
poncho avatar
my flag
@DimitriKoshelev: $n=1$ อาจไม่เพียงพอหากคุณพยายามใช้ประโยชน์จากคุณสมบัติโฮโมมอร์ฟิคของคำมั่นสัญญาของ Pedersen เช่น. ให้คำมั่นสัญญา $(x_1, x_2)$ และ $(y_1, y_2)$ สร้าง ZKP ที่ $2(x_1, x_2) - 5(y_1, y_2) = (3, 7)$
Dimitri Koshelev avatar
id flag
ฉันลืมบอกว่าวิธีการสร้างของฉันให้ $\about q$ tuples $(Q_i)_{i=1}^n$ ท่ามกลาง $E^n(\mathbb{F}_{\!q}) \about q^ n$ นี้ไม่สำคัญสำหรับความปลอดภัย ?
poncho avatar
my flag
@DimitriKoshelev: สิ่งที่สำคัญ (อย่างน้อยสำหรับความมุ่งมั่นของเวกเตอร์ Pedersen) คือไม่มีใครรู้วิธีแก้ปัญหาที่ไม่สำคัญสำหรับ $x_1G_1 + x_2G_2 + ... + x_nG_n = 0$ (โดยที่วิธีแก้ปัญหาเล็กน้อยคือ $x_1 \equiv x_2 \equiv .. \equiv x_n \equiv 0$). ความคิดของคุณมีสิ่งนั้นหรือไม่?
Dimitri Koshelev avatar
id flag
ระบุว่า แต่การแจกแจงยังห่างไกลจากรูปแบบเดียวกันใน $E^n(\mathbb{F}_{\!q})$ (ครอบคลุมเฉพาะ $\approx q$ tuples) ฉันมีความรู้สึกว่ามันไม่สำคัญ เพราะ $q$ มีขนาดใหญ่ในการเข้ารหัส และเรามักจะเปลี่ยนจุดที่เป็นอิสระต่อกันได้ คุณคิดอย่างไร ?
poncho avatar
my flag
@DimitriKoshelev: สมมติฐานความแข็งที่ฉันอ้างถึงนั้นจำเป็นและเพียงพอสำหรับคุณสมบัติการยึดเกาะของเวกเตอร์ Pedersen มันไม่สนใจจริงๆว่าจะเป็นไปได้กี่สิ่งอันดับ แน่นอน กรณีการใช้งานอื่น ๆ อาจตั้งสมมติฐานความแข็งอื่น ๆ ในจุดที่สร้างขึ้น...
Dimitri Koshelev avatar
id flag
ในทางปฏิบัติ $n$ มีขนาดใหญ่แค่ไหน?
Geoffroy Couteau avatar
cn flag
"พันธสัญญา Pedersen ทั่วไป" (นั่นคือชื่อของพวกเขา) ปัจจุบันใช้กันอย่างแพร่หลาย โดยเฉพาะอย่างยิ่งในบริบทของ [Bulletproof](https://eprint.iacr.org/2017/1066.pdf) Bulletproof ถูกนำไปใช้งานและใช้ใน Monero ดังนั้นนั่นจึงนับเป็น "ชีวิตจริง" ฉันเดาว่า :) ที่นี่ $n$ โดยทั่วไปจะเป็น $32$ หรือ $64$
Score:2
ธง es

มีฟังก์ชัน "hash-to-point" ที่ใช้ในหลายรูปแบบ ซึ่งจำเป็นต้องสร้างจุด EC โดยที่บันทึกแยก w.r.t. ไม่ทราบจุด EC อื่นใด โดยเฉพาะอย่างยิ่ง:

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

  2. ฟังก์ชันสุ่มเทียมแบบลืมเลือนใช้แฮชทูพอยต์เพื่อเข้ารหัสค่าอินพุต PRF เป็นจุด EC ที่นี่.

  3. การถ่ายโอนแบบลืมเลือนใช้แฮชไปยังจุด และ EC El Gamal สามารถใช้แฮชไปยังจุดได้ หากคุณต้องการเพียงเข้ารหัสข้อความเป็นจุดเพื่อไปในทิศทางเดียว ดูตัวอย่างทั้งสองอย่าง ที่นี่.

  4. นี้ หลักฐานการไม่เป็นสมาชิก ใช้ hash-to-point สำหรับการเปลี่ยนแปลงในข้อผูกมัดของ Pedersen โดยที่ข้อผูกมัดนั้นจำเป็นต้องปิดตา แต่ไม่จำเป็นต้องเป็นแบบโฮโมมอร์ฟิคเพิ่มเติม

Dimitri Koshelev avatar
id flag
ขอบคุณ แต่ฉันไม่สามารถคำนวณฟังก์ชัน "hash-to-point" ในอาร์กิวเมนต์หลายตัวได้เร็วกว่าแยกกัน ปัญหาของฉันแตกต่างกัน ฉันสามารถสร้างจุดอิสระหลายจุด (ขึ้นอยู่กับอาร์กิวเมนต์เดียวเท่านั้น) ได้เร็วกว่าแยกกัน
knaccc avatar
es flag
@DimitriKoshelev คุณช่วยอธิบายความหมายของคำว่า "ขึ้นอยู่กับอาร์กิวเมนต์เดียวเท่านั้น" ได้ไหม และเทคนิคของคุณทำงานอย่างไรเมื่อมีปัจจัยร่วม และคุณต้องแน่ใจว่าจุดนั้นอยู่ในกลุ่มย่อยขนาดใหญ่เดียวกันกับกลุ่มย่อยขนาดใหญ่ที่สร้างโดยจุดฐานที่เป็นที่รู้จักโดยเฉพาะ คุณอาจสนใจที่มีการปรับปรุงประสิทธิภาพบางอย่างสำหรับ Monero cryptocurrency เพื่อให้แน่ใจว่าสามารถจับคู่ลำดับไบต์ตามอำเภอใจกับจุด Ed25519 ได้อย่างรวดเร็ว: https://github.com/monero-project/research-lab/blob/master /whitepaper/ge_fromfe_writeup/ge_fromfe.pdf
knaccc avatar
es flag
นี่คือโค้ด C และ Python สำหรับการแมปอย่างรวดเร็วกับจุด EC ที่ถูกต้อง โดยอ้างอิงจากบทความที่ฉันลิงก์ไว้ในความคิดเห็นด้านบน: https://github.com/monero-project/monero/blob/b4e1dc83d275f8ee9a8c12615cf952f05161c7a3/src/crypto/crypto- ops.c#L2210 https://github.com/monero-project/mininero/blob/c5fcee9d8ec8c302bca7fda8ce79b68e20d31c34/mininero.py#L238
Dimitri Koshelev avatar
id flag
เทคนิค Me จะคืนค่าทูเพิล $(Q_i)_{i=1}^n$ ขึ้นอยู่กับองค์ประกอบที่กำหนดของฟิลด์พื้นฐาน $\mathbb{F}_{\!q}$ มันใช้ได้เมื่อมีปัจจัยร่วมเพราะเราหักล้างมันได้เสมอ
knaccc avatar
es flag
@DimitriKoshelev ในตัวอย่างที่ฉันให้ไว้ข้างต้น สมมติว่าคุณกำลังตัดเซตส่วนตัวบางประเภท และตัวเลขที่ส่งไปยัง OPRF เป็นจำนวนเต็มที่น้อยกว่า เช่น 100 ขึ้นอยู่กับว่าจะสร้างได้เร็วแค่ไหน จำนวน 100 องค์ประกอบโดยใช้เทคนิคของคุณ บางทีมันอาจจะดีกว่าการใช้เทคนิคของคุณมากกว่าการดำเนินการแฮชต่อจุดทีละรายการในแต่ละอินพุตจำนวนเต็ม
Dimitri Koshelev avatar
id flag
เทคนิคของฉันใช้ไม่ได้ในเวลาคงที่ ดังนั้นแอปพลิเคชันจึงจำกัดเฉพาะโปรโตคอล โดยที่อาร์กิวเมนต์ของฟังก์ชันแฮชจะไม่เป็นความลับ
Score:1
ธง sa

โดยพื้นฐานแล้วคำถามของคุณคือ: การสุ่มตัวอย่างทูเพิลมีประโยชน์หรือไม่ $(Q_1, Q_2, \dots, Q_n) \in E(F)^n$ โดยที่ไม่ทราบความสัมพันธ์ระหว่างจุดต่างๆ แต่ทูเพิลไม่ได้สุ่มตัวอย่างจากการแจกแจงแบบสม่ำเสมอ

จากมุมมองเชิงปฏิบัติมีสองประเด็น:

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

นั่นคือในทางปฏิบัติแล้วมักจะไม่มีประโยชน์มากนัก แต่ก็มักจะไม่ปลอดภัย อย่างน้อยก็ดูเหมือน

ข้อโต้แย้งหลักก็คือการพิสูจน์ความปลอดภัยของแผนการเหล่านี้บางครั้งขึ้นอยู่กับความสามารถในการสุ่มตัวอย่างทูเพิล $(Q_1, \จุด, Q_n)$ ด้วยประตูกลที่ฝังอยู่ ซึ่งมักจะทำได้ยากหากคุณต้องการการกระจายที่ไม่สม่ำเสมอบนทูเพิล สิ่งนี้จะทำลายหลักฐานความปลอดภัย (ตัวอย่าง: สมมติว่าฉันต้องการที่จะสามารถหักล้างการเปิดของข้อตกลงหลายข้อของ Pedersen ได้)

บางคนอาจไม่สนใจเรื่องนั้น แต่ฉันคิดว่านักเข้ารหัสส่วนใหญ่จะลังเลที่จะยอมรับสิ่งนี้โดยไม่มีผลประโยชน์ที่ชัดเจน

กล่าวอีกนัยหนึ่ง ฉันคาดว่าอัลกอริทึมที่คุณต้องไม่มีประโยชน์และใช้งานไม่ได้ในบางครั้งเป็นส่วนใหญ่

ที่กล่าวว่า อัลกอริทึมที่คุณคิดขึ้นอาจน่าสนใจสำหรับบางคนด้วยเหตุผลบางประการ โดยไม่คำนึงถึงอุปสรรคเหล่านี้ หรืออาจมีอสังหาริมทรัพย์อื่นๆ ที่น่าสนใจ ดังนั้นมันอาจจะคุ้มค่าที่จะเผยแพร่ต่อไป

Dimitri Koshelev avatar
id flag
ขอบคุณ. คุณเขียนว่า "บ่อยครั้ง จุดเหล่านี้จะถูกสุ่มตัวอย่างระหว่างการสร้างพารามิเตอร์ระบบ ซึ่งไม่เกิดขึ้นบ่อยนักและไม่สำคัญต่อเวลา" อย่างไรก็ตาม หากเราไม่เปลี่ยนประเด็นบ่อยๆ ก็มีความเสี่ยงที่ผู้โจมตีจะพบการพึ่งพาระหว่างกัน โดยเฉพาะอย่างยิ่งหาก $n$ มีขนาดใหญ่ ฉันถูกไหม ?
Dimitri Koshelev avatar
id flag
ฉันไม่เข้าใจย่อหน้าของคุณโดยเริ่มจาก "ข้อโต้แย้งหลัก ... " คุณช่วยชี้แจงได้ไหม
sa flag
จุดเหล่านี้อาจปรากฏในพารามิเตอร์ระบบ คีย์สาธารณะ และมาตรฐาน วัตถุระยะยาวกล่าวอีกนัยหนึ่ง คุณไม่เข้าใจอะไรเป็นพิเศษ?
Dimitri Koshelev avatar
id flag
อันที่จริงฉันสามารถปรับแต่งวิธีการเพื่อให้เป็นเนื้อเดียวกันได้ ถึงอย่างนั้น มันก็ทำงานได้อย่างมีประสิทธิภาพโดยเฉลี่ยมากกว่าการเรียกใช้แผนที่เวลาคงที่ต่อเนื่องไปยังเส้นโค้ง

โพสต์คำตอบ

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