Score:15

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

ธง cn

ฉันกำลังมองหาโปรโตคอลการเข้ารหัสที่มีคุณสมบัติดังต่อไปนี้

  • อลิซมีรหัสส่วนตัว $x$. เธอเลือกคีย์สาธารณะโดยใช้คีย์ส่วนตัวนี้ $p$ ตรงกับคีย์ส่วนตัวนี้ เธอบอกให้บ็อบรู้เกี่ยวกับกุญแจสาธารณะนี้ บ๊อบใช้รหัสสาธารณะนี้เพื่อเข้ารหัสข้อความถึงอลิซ
  • หลังจากนั้นอลิซต้องการรับข้อความอีกครั้ง เธอสร้างรหัสสาธารณะ $คิว$ ใช้ เหมือนกัน รหัสส่วนตัว $x$. บ๊อบใช้รหัสสาธารณะนี้เพื่อเข้ารหัสข้อความสำหรับอลิซ
  • บ๊อบไม่สามารถอนุมานได้ $p$ & $คิว$ ว่ากุญแจสาธารณะทั้งสอง $p$ และ $คิว$ ถูกสร้างขึ้นโดยใช้คีย์ส่วนตัวเดียวกัน $x$.
  • Alice ไม่ควรมีคีย์ส่วนตัวมากกว่า 1 คีย์
  • โปรโตคอลควรทำให้ Alice สามารถสร้างคีย์สาธารณะจำนวนมากได้ตามอำเภอใจ หากปล่อยให้มีความยาวตามอำเภอใจ

มีโปรโตคอลดังกล่าวอยู่หรือไม่?

za flag
สำหรับการใช้งานจริง ตรวจสอบไคลเอนต์ Electrum bitcoin ซึ่งสร้างคีย์ส่วนตัวเดียวที่สามารถใช้สร้างคีย์ bitcoin สาธารณะ/กระเป๋าเงิน/ที่อยู่
jp flag
[BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) ทำสิ่งนี้ ดูเพิ่มเติม https://crypto.stackexchange.com/q/22274/21238
Score:15
ธง us

รูปแบบดังกล่าวสามารถสร้างได้โดยทั่วไปดังนี้ อนุญาต $(Gen,Enc,ธ.ค.)$ เป็นรูปแบบการเข้ารหัสคีย์สาธารณะและปล่อยให้ $F$ เป็นฟังก์ชันสุ่มเทียม จากนั้นคีย์ส่วนตัว "หลัก" ของโครงร่างจะเป็นคีย์สมมาตร $k$ สำหรับ ปชป. หากต้องการสร้างรหัสสาธารณะใหม่ ให้เลือกรหัสแบบสุ่ม $\rho$ (หรือถ้าคุณมีสถานะให้ใช้ตัวนับ) และคำนวณการสุ่ม $r \leftarrow F_k(\rho)$. จากนั้นใช้ $r$ (และตัวสร้างสุ่มเทียมที่เหมาะสม ถ้าจำเป็น) เพื่อสร้างคู่คีย์ใหม่ $(pk,sk) \leftarrow Gen(r)$. เพื่อให้แน่ใจว่าสามารถถอดรหัสได้ คุณจำเป็นต้องรู้ $r$ หรือ $\rho$เพื่อให้คุณสามารถทำได้ $\rho$ ส่วนหนึ่งของรหัสสาธารณะ อีกทางหนึ่ง หากคุณเก็บสถานะไว้ ตัวถอดรหัสจะสามารถจัดเก็บทั้งหมดได้ $\rho$หรือ $r$จากนั้นลองทั้งหมด (โดยใช้วิธีการซ้ำซ้อนและแผนความปลอดภัย CCA เพื่อให้รู้ว่าคุณทำสำเร็จเมื่อใด)

DannyNiu avatar
vu flag
$\rho$ อาจต้องเป็นส่วนหนึ่งของคีย์สาธารณะเพื่อให้ระบุคีย์ส่วนตัวที่เกี่ยวข้องได้อย่างรวดเร็ว
Yehuda Lindell avatar
us flag
@DannyNiu แน่นอนฉันเขียนสิ่งนี้ในคำตอบ
Bobson avatar
us flag
อนึ่ง โครงร่างนี้ใช้ได้กับการเข้ารหัสแบบสมมาตรเช่นกัน โดยขึ้นอยู่กับความแตกต่างตามปกติระหว่างการเข้ารหัสแบบสมมาตรและอสมมาตร A และ B จะต้องมีการแบ่งปันคีย์ฐานล่วงหน้า แต่ใครก็ตามที่อยู่ตรงกลางจะไม่สามารถบอกได้ว่าข้อความสองข้อความใดใช้ฐานเดียวกันหรือไม่
sa flag
สำหรับระบบเข้ารหัสลับแบบสมมาตรทั่วไป มักจะเป็นเรื่องยากอยู่แล้วที่จะแยกแยะข้อความไซเฟอร์จากการสุ่ม ดังนั้นระบบจึงตอบสนองสิ่งนี้อยู่แล้ว
Nat avatar
de flag
Nat
การแบ่งปัน $r$ ในคีย์สาธารณะจะปลอดภัยหรือไม่ ดูเหมือนว่ามันควรจะเป็น $\rho .$
Yehuda Lindell avatar
us flag
เสียใจ; คุณถูก. จะต้องมีการแบ่งปันของ $\rho$ และไม่ใช่ของ $r$ ฉันจะแก้ไขมัน
Score:5
ธง sa

เพื่อเสริมคำตอบทั่วไป นี่คือโครงสร้างที่เป็นรูปธรรมโดยยึดตาม ElGamal

ElGamal ขึ้นอยู่กับกลุ่ม $G$ ของการสั่งซื้อ $p$ ด้วยเครื่องกำเนิดไฟฟ้า $g$ มีรหัสสาธารณะ $y = ก^a$, ที่ไหน $a$ เป็นคีย์ส่วนตัว

หากต้องการสร้างรหัสสาธารณะใหม่ ให้เลือกหมายเลขสุ่ม $s$ และคำนวณ $(u,v)$ เช่น $u=g^s$ และ $v=y^s$.

เพื่อเข้ารหัส $m$ กับ $(u,v)$เลือกหมายเลขสุ่ม $r$ และคำนวณ $(x,w)$ เช่น $x=u^r$ และ $w = v^r ม$.

เพื่อถอดรหัส $(x,w)$,คำนวณ $wx^{-a}$.

ภายใต้สมมติฐาน DDH $(u,v)$ แยกไม่ออกจากคู่สุ่ม นั่นเป็นสิ่งที่ดี เป็นการง่ายที่จะแสดงว่าโครงร่างมีความปลอดภัยภายใต้ DDH

แบบฝึกหัดสำหรับผู้อ่าน: เป็นประโยชน์ในการหาว่าเหตุใดโครงร่างนี้จึงเป็นเพียง ElGamal

ส่วนขยายไปยังพื้นที่ข้อความที่มีประโยชน์มากขึ้นนั้นเป็นเรื่องเล็กน้อยโดยใช้เทคนิคมาตรฐาน

รูปแบบนี้ (พร้อมเทคนิคพิเศษบางอย่าง) ถูกนำมาใช้เพื่อสร้างมัลแวร์ที่ดีกว่าในทางทฤษฎี (เท่าที่ฉันรู้ ไม่เคยถูกใช้เพื่อสร้างมัลแวร์จริงๆ)

โพสต์คำตอบ

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