ฉันพยายามทำความเข้าใจความแตกต่างระหว่าง Generic Group Model (คลาสสิก) ตามที่ Shoup อธิบายไว้ [โชว] และโมเดลกลุ่มทั่วไปที่ค่อนข้างจำกัดตามที่ Schnorr และ Jakobsson อธิบายไว้ [SJ00].
เพื่อความชัดเจน ฉันจะให้คำจำกัดความของทั้งสองรุ่น เพื่อสิ่งนั้น ฉันใช้คำอธิบายของเปเปอร์ [BL19]. ในการตั้งค่าทั้งสอง เรามีกลุ่มวงจรทวีคูณ $G = \langle ก \range$ ของการสั่งซื้อ $p$. (GGM = โมเดลกลุ่มทั่วไป)
- โมเดลกลุ่มทั่วไปของ Shoup
เนื่องจาก $G$ เป็นไอโซมอร์ฟิคไป $\mathbb{Z}_p$เราสามารถเลือกแผนที่การฉีดแบบสุ่มได้ $\tau: \mathbb{Z}_p \rightarrow \mathbb{G}$, ที่ไหน $\mathbb{G}$ คือเซตของความยาวของสตริงบิต $l \ (2^l \geq พี)$ และเราเข้ารหัสบันทึกแยกขององค์ประกอบกลุ่มแทนองค์ประกอบกลุ่มเอง แนวคิดที่สำคัญคือแผนที่ $\tau$ ไม่จำเป็นต้องเป็นโฮโมมอร์ฟิซึมแบบกลุ่ม GGM ถือว่าฝ่ายตรงข้ามไม่สามารถเข้าถึงตัวแทนที่เป็นรูปธรรมขององค์ประกอบกลุ่มได้ ฝ่ายตรงข้ามจะได้รับสิทธิ์เข้าถึงออราเคิลที่พาราเมตริกโดย $\tau$ซึ่งคำนวณการดำเนินการของกลุ่มทางอ้อมใน $G$. แม่นยำยิ่งขึ้นสำหรับการป้อนข้อมูล $(a,b) \in \mathbb{G} \times \mathbb{G}$ ออราเคิลดำเนินการดังนี้ $ Mult(a,b) = \tau(\tau^{-1}(a) + \tau^{-1}(b)), \ Inv(a) = \tau(-\tau^{-1 }(ก))$. เราสังเกตว่าฝ่ายตรงข้ามไม่สามารถเข้าถึงแผนที่ได้ $\tau$ นั่นเอง
- Schnorr และ Jakobssen GGM ขึ้นอยู่กับการชนกัน
ข้อมูลของอัลกอริทึมทั่วไปถูกแบ่งออกเป็นกลุ่มองค์ประกอบจาก $G$ และข้อมูลที่ไม่ใช่กลุ่ม ขั้นตอนทั่วไปคือ $mexp: \mathbb{Z}^d_q \times G^d \mapsto G, (\underline{a}, (f_1,...,f_d)) \mapsto \prod_{i=1}^d f_i^{ a_i}$. คำนิยามอย่างเป็นทางการ:
อัลกอริทึมทั่วไปคือลำดับของ $t$ ขั้นตอนทั่วไป สำหรับเวลา $1 \leq t' < t$อัลกอริทึมรับอินพุตเป็น $f_1,...,f_{t'}$, ที่ไหน $(a_1,...,a_{i-1}) \in \mathbb{Z}^{i-1}_p$ ขึ้นอยู่กับ i องค์ประกอบที่ไม่ใช่กลุ่มและชุดโดยพลการ $CO_{i-1} := \lbrace (j,k) | f_j = f_k, 1 \leq j <k \leq i-1 \rbrace $ ของ "การปะทะกัน" ของกลุ่มก่อนหน้านี้
ข้อแตกต่างที่สำคัญคือผู้โจมตีในแบบจำลองของ Shoup จะได้รับการจัดการโดยตรง $\tau(g)$ สำหรับองค์ประกอบกลุ่มที่เป็นผลลัพธ์ของการสืบค้นกลุ่มทั่วไป ในขณะที่ผู้โจมตีในรูปแบบที่ 2 อาจอ้างอิงองค์ประกอบกลุ่มที่คำนวณก่อนหน้านี้โดยทางอ้อมโดยการส่งคำถาม $(a_i, ..., a_{i-1}) \in \mathbb{Z}_p^{i-1}$ ไปยังกลุ่มทั่วไป oracle แต่คำจำกัดความทั้งสองนี้ดูแตกต่างกันมากสำหรับฉัน ซึ่งฉันจะขอบคุณมากหากมีใครสามารถช่วยฉันชี้ให้เห็นความแตกต่างและความคล้ายคลึงกันได้ โดยเฉพาะอย่างยิ่ง ฉันต้องการเข้าใจข้อดีของการพิสูจน์ความปลอดภัยในแบบจำลองของ Shoup เมื่อเปรียบเทียบกับการพิสูจน์ความปลอดภัยในแบบจำลองของ Schnorr
ขอบคุณมากล่วงหน้า!