Score:3

การเข้ารหัสคีย์สาธารณะ/อสมมาตร ซึ่งคุณสามารถรั่วไหลข้อความที่ถอดรหัสได้โดยการรั่วไหลของรหัสผ่านเท่านั้น

ธง in

เพื่อนหลายคนกำลังใช้การเข้ารหัสคีย์สาธารณะเพื่อส่งข้อความที่เข้ารหัสถึงกันโดยใช้ฟอรัมสาธารณะแบบเปิด เช่น. เพื่อนแต่ละคนมีรหัสสาธารณะ (ซึ่งคุณสามารถใช้เพื่อเข้ารหัสข้อความสำหรับพวกเขา) และรหัสส่วนตัว (ซึ่งพวกเขาใช้เพื่อถอดรหัสข้อความสำหรับพวกเขา)

บ็อบส่งข้อความที่เข้ารหัสให้อลิซ $y$ซึ่งเมื่อถอดรหัสแล้วจะได้ข้อความ $x=$“ฉันจะฆ่าคุณ เว้นแต่คุณจะส่ง \$1,000 มาให้ฉัน” อลิซโกรธอย่างเห็นได้ชัด ส่งข้อความที่ไม่ได้เข้ารหัสให้ทุกคน "บ็อบเป็นคนไม่ดี เขาบอกว่า $x$ ให้ฉัน ซึ่งคุณสามารถตรวจสอบได้โดยการเข้ารหัสด้วยรหัสสาธารณะของฉันเพื่อสร้าง $y$ซึ่งก่อนหน้านี้เขาเคยโพสต์ไว้ในฟอรัมสาธารณะของเรา" นี่เป็นวิธีการที่พิสูจน์ได้อย่างสมบูรณ์สำหรับ Mary ในการเปิดเผยข้อความของ Bob ต่อทุกคน

คำถามของฉันคือ มีรูปแบบการเข้ารหัสคีย์สาธารณะ/อสมมาตรใดบ้างที่จะหยุด Mary จากการเปิดเผยข้อความที่เข้ารหัสของ Bob ต่อทุกคน ตัวอย่างเช่น แผนการที่วิธีเดียวที่ Mary สามารถพิสูจน์ได้ว่าข้อความที่ถอดรหัสของ Bob คืออะไรคือการเปิดเผยรหัสลับของเธอ (รหัสผ่านที่เธอใช้ในการถอดรหัส)

แก้ไข: แนวคิดหนึ่งที่ฉันมีคือรูปแบบการเข้ารหัสที่อนุญาตให้ใช้ nonce หรือการสุ่มที่ปลอดภัยของข้อความที่ได้รับการเข้ารหัส ตัวอย่างเช่น ถ้า $x$ เป็นข้อความที่ Bob ต้องการเข้ารหัส เขาสามารถเลือก "nonce" แบบสุ่มได้ $s$,และผลิต $y_s$. จากนั้นแมรี่สามารถถอดรหัสได้ $y_s$ ที่จะได้รับ $x$แต่เธอคงไม่รู้ $s$ดังนั้นเธอจึงพูดแบบนั้นไม่ได้ $x$ ผลิต $y_s$ เว้นแต่เธอจะเปิดเผยกุญแจลับของเธอ ฉันรู้ว่าแนวคิดแบบ nonce นี้มีอยู่ในการเข้ารหัส แต่ถ้าใครสามารถให้ตัวอย่างที่ชัดเจนของวิธีการนำไปใช้ (บางทีด้วยบางอย่างง่ายๆ เช่น RSA) นั่นจะเป็นการชื่นชมอย่างมาก

ph flag
ดูเหมือนว่าคุณเพียงแค่ต้องการการเข้ารหัสเพื่อไม่ให้กำหนดได้ ซึ่งจะเป็นกรณีสำหรับโครงร่างสมัยใหม่ทั้งหมด
poncho avatar
my flag
ฉันไม่รู้ว่าเป็นไปได้ไหม ฉันไม่เห็นวิธีที่จะป้องกันไม่ให้อลิซสร้าง Zero-Knowledge Proof ว่าเธอรู้จักคีย์ที่ถอดรหัสข้อความรหัสเป็นข้อความธรรมดา...
Score:3
ธง my

แนวคิดของคุณเกี่ยวกับวิธีการเข้ารหัสรวมถึง nonce และวิธีที่ Alice ไม่สามารถกู้คืน nonce นั้นใช้ได้จริง แต่มันไม่ได้แก้ปัญหาของคุณ

ความเป็นไปได้อย่างหนึ่งคือความแตกต่างของ เอล กามาล; ในระบบนี้ คีย์สาธารณะของอลิซคือค่า $A= G^a \bmod p$, กับ $a$ เป็นกุญแจส่วนตัวของอลิซและ $G, p$ เป็นพารามิเตอร์สาธารณะ (ด้วย $p$ เป็นเซฟไพรม์และ $G$ สารตกค้างกำลังสอง)

เพื่อเข้ารหัสข้อความ $M < พี/2$, Bob จะเลือกค่าสุ่ม $r$และสร้างไซเฟอร์เท็กซ์ $G^r \bmod p, M^2 \cdot A^r \bmod p$.

เพื่อถอดรหัสคู่ $X, Y$อลิซจะคำนวณ $M^2 = Y \cdot X^{-a} \bmod p$ (แล้วหารากที่สองแบบโมดูลาร์ของ $ม^2$ การกู้คืน $M$).

ถ้าอลิสได้คู่ $X, Y$เธอไม่รู้ค่า $r$และอื่น ๆ ในแวบแรกแสดงให้เห็นว่า $G, A = G^a, X = G^r, Y \cdot M^{-2} = G^{ar}$ เป็นชุด DH คือปัญหาการตัดสินใจ Diffie-Hellman ซึ่งโดยทั่วไปยาก เธอสามารถทำได้โดยเปิดเผย $a$แต่สำหรับเธอ นั่นจะทำให้เป้าหมายนั้นล้มเหลว

อย่างไรก็ตาม สิ่งที่เธอทำได้คือสร้างหลักฐานที่ไม่มีความรู้ $G^x = A$ และ $X^x = Y \cdot M^{-2}$ มีวิธีแก้ปัญหาร่วมกัน $x$ (ซึ่งเธอทำได้ เพราะเธอรู้ว่าวิธีแก้ปัญหาทั่วไปคืออะไร); การพิสูจน์ความรู้ที่ไม่มีศูนย์นี้จะแสดงให้เห็นว่า $M$ เป็นการถอดรหัสโดยไม่เปิดเผยคีย์ส่วนตัวของเธอ

สิ่งนี้นำไปสู่การสังเกตโดยทั่วไปมากขึ้น ถ้าอัลกอริทึมการถอดรหัส $D$ และการสร้างกุญแจสาธารณะ $เจน$ ทั้งสองทำงานใน polytime แล้วคำสั่งที่ $D(a, C) = M \land (a, A) = Gen(เมล็ด)$ (สำหรับประชาชน $C$ และ $M$ ที่อลิซอ้างว่าเป็นการถอดรหัสนั้นเป็นคำสั่งใน NP (พร้อม $a$ และ $เมล็ดพันธุ์$ เป็น 'พยาน') และสำหรับข้อความดังกล่าวภายใน NP เราสามารถสร้างหลักฐานที่ไม่มีความรู้ซึ่งแสดงว่า $M$ เป็นการถอดรหัสที่ถูกต้อง

ดังนั้น เว้นแต่บ็อบจะอ้างได้ว่าเขาไม่ได้ส่งไซเฟอร์เท็กซ์จริงๆ $C$ (และฉันคิดว่าอย่างใดก็สันนิษฐานว่าทุกคนรู้ว่าเขาทำ) มันไม่ได้ฟังดูเหมือนปัญหาที่แก้ไขได้

Score:1
ธง in

ฉันคิดว่าฉันพบวิธีแก้ปัญหาแล้ว! แนวคิดหลักเรียกว่า การรับรองความถูกต้องที่ถูกปฏิเสธและจุดประสงค์คือรู้ว่าใครส่งข้อความ แต่ไม่สามารถพิสูจน์ให้คนอื่นเห็นได้ การใช้งานจริงและเรียบง่ายสามารถพบได้ใน Wei-Bin Lee, Chia-Chun Wu, Woei-Jiunn Tsaur (17 เมษายน 2549) (ดูส่วนที่ 3 "โปรโตคอลที่เราเสนอ") ฉันจะสรุปประเด็นสำคัญจากที่นี่

หาก Sally ผู้ส่งต้องการส่งข้อความถึง Ryan ผู้รับ ให้ทำดังนี้

  1. ทั้งแซลลี่และไรอันต่างก็มีกุญแจสาธารณะและกุญแจลับ
  2. แซลลี่ส่งข้อความของเธอ $M$พร้อมกับสร้างแบบสุ่ม $(r , แมค)$ซึ่งใช้การผสมผสานระหว่าง $M$เช่นเดียวกับรหัสลับของ Sally และรหัสสาธารณะของ Ryan
  3. ที่ให้ไว้ $M$ และ และ $r$แรนดี้ยืนยันว่าเขาสามารถผลิตได้ $แมค$ โดยใช้รหัสลับของเขาและรหัสสาธารณะของแซลลี่ หากเขาทำการจับคู่ $แมค$หมายความว่า Sally ได้ส่งข้อความนี้จริงๆ อย่างอื่นเป็นของปลอม

เหตุใดโซลูชันเช่นนี้จึงใช้งานได้ เพราะทั้งแซลลี่และไรอันสามารถผลิตได้ $(r , แมค)$ พร้อมด้วย $M$. ถ้าไรอันไปหาตำรวจแล้วบอกว่า "แซลลี่พูด $M$='ฉันจะฆ่าคุณ' และนี่คือ $(r, แม็ค)$ เพื่อพิสูจน์!!!" ตำรวจจะบอกว่า "เรารู้ได้ยังไงว่า Sally ผลิตพวกนั้น ไม่ใช่คุณ" และ Sally ก็สามารถอวดอ้างได้เหมือนกัน

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

หากคุณต้องการเข้ารหัสข้อความด้วย แซลลี่และไรอันจะสร้างความลับร่วมกัน (จาก diffie-hellman) ที่พวกเขาใช้เพื่อเข้ารหัสข้อความได้อย่างง่ายดาย

อย่างไรก็ตามฉันคิดว่าคดีปิด! อีกครั้ง ถ้าคุณต้องการคณิตศาสตร์จริงที่ใช้โปรโตคอลนี้ มันค่อนข้างสั้นและเรียบง่าย เพียงตรวจสอบกระดาษ

poncho avatar
my flag
จริงๆ แล้ว ถ้าไม่มีทางกระดาษที่แสดงว่า Bob ส่งข้อความ คำตอบที่ง่ายที่สุดสำหรับคำถามของ OP ก็คือทำการเข้ารหัสคีย์สาธารณะอย่างง่าย โดยไม่มีการระบุตัวตนของผู้ส่ง...
in flag
@poncho ในกรณีนั้น อลิซไม่รู้ว่าใครเป็นคนส่งข้อความ ด้วยวิธีนี้ อลิซรู้ว่าบ็อบส่งข้อความ แต่เธอไม่สามารถพิสูจน์ให้คนอื่นเห็นว่าเขาส่งข้อความนั้น และเธอไม่ได้ทำมันขึ้นมา
Score:0
ธง es

ฉันเชื่อว่าสิ่งที่คุณกำลังมองหาคือ เป็นไปไม่ได้. อย่างไรก็ตาม ฉันจะแนะนำวิธีแก้ไขปัญหานี้อีกวิธีหนึ่งที่อาจเป็นประโยชน์ ซึ่งขึ้นอยู่กับการปฏิเสธที่เป็นไปได้

อันดับแรก ฉันจะพยายามอธิบายว่าทำไมฉันถึงเชื่อว่าเป็นไปไม่ได้ที่จะบังคับให้อลิซเปิดเผยรหัสลับของเธอเมื่อต้องพิสูจน์ให้คนอื่นรู้ว่าข้อความใดที่เธอถอดรหัสได้ วันนี้ ด้วยการเพิ่มขึ้นของวงจร Zero-Knowledge Proofs ทั่วไป (เช่น STARKS และ SNARKS) เกือบ ความสัมพันธ์ใด ๆ ระหว่างค่าลับและค่าสาธารณะสามารถพิสูจน์ให้บุคคลอื่นทราบได้(ความสัมพันธ์ใดๆ ที่สามารถแสดงด้วยจำนวนพหุนามของเกตของ $และ$ และ $OR$)

โดยทั่วไป ระบบเข้ารหัสคีย์สาธารณะถูกกำหนดโดยทูเพิลของ $(Gen, Enc, ธ.ค.)$:

  • $(pk, sk) \leftarrow Gen(\lambda, rnd)$: อัลกอริทึมการสร้างคีย์ซึ่งสร้างรหัสสาธารณะ $pk$ และรหัสลับ $sk$ ตามพารามิเตอร์ความปลอดภัย $\แลมบ์ดา$ และสตริงสุ่ม $rnd$.

  • $c \leftarrow Enc(m, pk, rnd)$: อัลกอริทึมการเข้ารหัสที่เข้ารหัสข้อความ $m$ ด้วยรหัสสาธารณะ $pk$ และสร้างไซเฟอร์เท็กซ์ $ค$. อัลกอริทึมนี้ต้องเป็นอัลกอริทึมความน่าจะเป็น ซึ่งหมายความว่าควรสร้างไซเฟอร์เท็กซ์ที่แตกต่างกันทุกครั้งที่เราเรียกใช้ มิฉะนั้น จะไม่มีการรักษาความปลอดภัยคีย์สาธารณะ (IND-CPA) ระดับต่ำสุด

  • $m \leftarrow ธ.ค.(c, sk)$ อัลกอริทึมการถอดรหัสถูกกำหนดขึ้น

ถ้าอลิซสามารถกลับตัวได้ $ธันวาคม$ เข้าสู่วงจร Zero-Knowledge ด้วยมูลค่าส่วนตัวของ $sk$ จากนั้นเธอสามารถพิสูจน์ได้ว่าไซเฟอร์เท็กซ์ที่รู้จัก $ค$ ถอดรหัสเป็น $m$ ด้วยรหัสลับ $sk$ ที่สอดคล้องกับ $pk$. ไม่ว่าระบบเข้ารหัสคีย์สาธารณะคืออะไร

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

ใน OTR ทรานสคริปต์การส่งข้อความที่บันทึกไว้สามารถประดิษฐ์โดยด้านใดก็ได้ของการสื่อสาร ดังนั้นจึงเป็นเรื่องง่ายที่จะปฏิเสธทุกสิ่ง

โพสต์คำตอบ

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