Score:1

เข้ารหัสอย่างรวดเร็วด้วยคีย์เดียวและถอดรหัสอย่างรวดเร็วด้วยหลายคีย์ตามลำดับ

ธง ng

มีกลไกการเข้ารหัสและถอดรหัสหรือไม่: ให้การเข้ารหัส C = E(K1, M) โดยที่ K1 เป็นคีย์เข้ารหัสและ M เป็นข้อความธรรมดา จะต้องใช้การถอดรหัสด้วยสองคีย์ K2 และ K3 ตามลำดับเพื่อกู้คืน M คือ D(K3, D(K2, C)) = M เมื่อพิจารณาจาก K1 จึงเหมาะที่จะสร้างคู่ K2 และ K3 ได้ไม่จำกัดจำนวนเพื่อให้แน่ใจว่ากระจายความน่าเชื่อถือ การเข้ารหัสและถอดรหัสจะต้องไม่ช้าเกินไปสำหรับข้อมูลจำนวนมาก ดังนั้นควรใช้การเข้ารหัสแบบสมมาตร

อีกทางหนึ่ง มีวิธีสร้างลำดับตัวเลขสุ่มสามชุด R1(K1), R2(K2), R3(K3) จากสามคีย์/เมล็ด K1, K2, K3 เพื่อให้ R1(K1) = R2(K2) XOR R3 ( K3)? หากเป็นเช่นนั้นก็สามารถแก้ไขปัญหาข้างต้นได้เช่นกัน

ฉันทราบ Threshold ElGamal หรือการเข้ารหัสคีย์สาธารณะอื่นๆ สำหรับการเข้ารหัสแบบหลายฝ่าย แต่ช้าเกินไปเมื่อเปรียบเทียบกับไซเบอร์แบบสมมาตร เช่น RC4


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

  1. ข้อมูลของอลิซจะถูกเข้ารหัสในขณะที่อัปโหลดไปยังบ็อบหรือแครอลดึงข้อมูลมา
  2. แครอลหรือบ็อบไม่สามารถถอดรหัสข้อมูลของอลิซได้โดยลำพัง
  3. ข้อมูลอาจมีขนาดใหญ่มาก จึงจำเป็นต้องมีการเข้ารหัสและถอดรหัสอย่างรวดเร็ว
  4. อลิซอาจไม่ได้ออนไลน์ตลอดเวลา
  5. เป็นที่ยอมรับได้หากสันนิษฐานว่า Bob และ Carol จะไม่สมรู้ร่วมคิดกัน แต่จะดีกว่าหากสามารถออกแบบกลไกการตรวจสอบ (เช่น Blockchain) เพื่อให้แน่ใจว่า Bob และ Carol จะไม่ร่วมมือกันโดยไม่ได้รับอนุญาตจาก Alice
fgrieu avatar
ng flag
คุณต้องการการเข้ารหัสแบบอสมมาตร ซึ่งเป็น K1 สาธารณะหรือไม่ เราสามารถเป็นผู้มีอำนาจที่เชื่อถือได้ในการผลิตและจัดจำหน่าย K1/K2/K3 ได้หรือไม่? มีเหตุผลใดบ้างที่ข้อกำหนด "การเข้ารหัสและถอดรหัสจะต้องไม่ช้าเกินไปสำหรับข้อมูลจำนวนมาก" ไม่สามารถแก้ไขด้วยวิธีปกติ: โดยใช้คีย์เฉพาะของข้อความแบบสุ่มเพื่อเข้ารหัสข้อมูลจำนวนมากโดยใช้มาตรฐานที่รวดเร็ว ( รับรองความถูกต้อง) การเข้ารหัสเช่น AES-GCM; และสิ่งที่มีหลายคีย์ด้วย K1/K2/K3 (ไม่สมมาตรหรือไม่) ปกป้องคีย์เฉพาะของข้อความ
ng flag
ที่นี่ K1, K2 และ K3 เป็นความลับทั้งหมด โดยทั่วไปผู้ใช้ 1 เข้ารหัสข้อมูลเป็น E(K1, M) จากนั้นการถอดรหัสจะทำโดยสองฝ่ายตามลำดับ D(K3, D(K2, C)) = M เราไม่ต้องการให้ผู้ใช้ 2 เห็นข้อความธรรมดาและ doo ไม่ต้องการให้ user 3 รู้จัก K1 ในที่นี้ เราถือว่าผู้ใช้คนที่ 2 และ 3 ไม่ได้สมรู้ร่วมคิดกัน สำหรับการเข้ารหัสคีย์สาธารณะ ความเข้าใจของฉันคือมันช้าเกินไปสำหรับข้อมูลจำนวนมากใช่ไหม ถ้ามันผิด เราสามารถพิจารณา crypto สาธารณะ
Maarten Bodewes avatar
in flag
"สำหรับการเข้ารหัสคีย์สาธารณะ ความเข้าใจของฉันคือมันช้าเกินไปสำหรับข้อมูลจำนวนมากใช่ไหม" โดยทั่วไปเป็นไปได้ที่จะใช้ระบบเข้ารหัสลับแบบไฮบริดแม้ว่าจะจำเป็นต้องใช้การเข้ารหัสเกณฑ์ก็ตาม นั่นคือสิ่งที่ fgrieu บอกเป็นนัย (เพียงแค่ใส่คำศัพท์บางคำที่นี่ :))
James Smith avatar
br flag
คุณมีคำตอบที่สมบูรณ์สำหรับคำถามนี้หรือไม่? ที่คุณได้โพสต์ไว้
Score:1
ธง my

อีกทางหนึ่ง มีวิธีสร้างลำดับตัวเลขสุ่มสามลำดับ R1, R2, R3 จากสามปุ่ม K1, K2, K3 ที่ทำให้ R1 XOR R2 XOR R3 = 0 หรือไม่

ส่วนนั้นง่าย; เราสามารถกำหนด:

$$R1 = \text{SHAKE}(K1) \oplus \text{SHAKE}(K2)$$ $$R2 = \text{SHAKE}(K3) \oplus \text{SHAKE}(K1)$$ $$R3 = \text{SHAKE}(K2) \oplus \text{SHAKE}(K3)$$

(ที่ไหน $\text{เขย่า}$ สามารถเป็นได้ ตัวอย่างเช่น ฟังก์ชันเอาต์พุตที่ขยายได้ นั่นคือ ฟังก์ชันที่แปลงพรีอิมเมจเป็นบิตสตริงที่มีความยาวตามอำเภอใจ)

เป็นรายบุคคล (และเป็นคู่) $R1, R2, R3$ ทั้งหมดดูสุ่ม (สมมติว่าไม่สามารถเดาคีย์ได้) อย่างไรก็ตามพวกมัน xor ถึง 0 ร่วมกันตามที่คุณร้องขอ

ng flag
ก็ดี แต่ผู้ใช้ 1 ต้องการเก็บ K1 ไว้เป็นความลับและไม่ให้ผู้ใช้ 2 หรือ 3
Score:0
ธง ng

ข้อเสนอมุ่งเป้าไปที่ 1/2/3/4 ของส่วนสุดท้ายของคำถาม: การเข้ารหัสแบบลูกโซ่แบบลูกโซ่

เราจะใช้

  • รูปแบบการเข้ารหัสที่รับรองความถูกต้องแบบสมมาตรอย่างรวดเร็ว เช่น AES-GCM หรือ ChaCha20-Poly1305 ด้วยคีย์ลับ 256 บิต การเข้ารหัสด้วยคีย์ $K$ ข้อสังเกต $C=E_K(M)$ และการถอดรหัส $M=D_K(C)$.
  • รูปแบบการเข้ารหัสแบบอสมมาตรที่สามารถเข้ารหัสข้อความ 256 บิต โดยมีการบันทึกการเข้ารหัส $C=\คณิตศาสตร์ E_P(M)$ และการถอดรหัส $M=\คณิตศาสตร์ D_S(C)$, ที่ไหน $(ป,ส)$ เป็นคู่คีย์ (สาธารณะ ส่วนตัว/ลับ) RSAES-สศอ หรือ ECIES จะทำ.

เราถือว่า Bob และ Carol ได้สร้างคู่คีย์ $(P_B,S_B)$ และ $(P_C,S_C)$และส่งคีย์สาธารณะ $P_B$ และ $P_C$ ถึงอลิซในลักษณะที่รับประกันความสมบูรณ์และหลักฐานแหล่งกำเนิด (อาจใช้ใบรับรองดิจิทัล)

เพื่อเข้ารหัสต่อแครอลโดยผู้รับมอบฉันทะจากบ็อบ อลิซ

  • ดึงคีย์สุ่ม 256 บิตสองคีย์ $K_B$ และ $K_C$
  • คำนวณ $C_B=\คณิตศาสตร์ E_{P_B}(K_B)$
  • คำนวณ $C_C=\คณิตศาสตร์ E_{P_C}(K_C)$
  • คำนวณ $C_0=E_{K_B}(C_C)$
  • คำนวณ $C_1=E_{K_C}(M)$
  • ส่งข้อความถึงบ๊อบ $C=C_B\mathbin\|C_0\mathbin\|C_1$.

Bob รับและจัดเก็บ $C$. เมื่อแครอลขอข้อความที่เข้ารหัส บ็อบ

  • สารสกัด $C_B$, $C_0$ และ $C_1$ จาก $C$
  • คำนวณ $K_B=\คณิตศาสตร์ D_{S_B}(C_B)$
  • คำนวณ $C_C=D_{K_B}(C_0)$
  • แบบฟอร์มและส่งให้แครอล $C'=C_C\mathbin\|C_1$.

แครอลได้รับ $C'$ และ

  • สารสกัด $C_C$ และ $C_1$ จาก $C'$
  • คำนวณ $K_C=\คณิตศาสตร์ D_{S_C}(C_C)$
  • คำนวณ $M=D_{K_C}(C_1)$

เมื่อใดก็ตามที่การถอดรหัสล้มเหลว Bob หรือ Carol จะล้มเลิก

สังเกตว่าข้อความจำนวนมาก $M$ ได้รับการเข้ารหัสเพียงครั้งเดียว ซึ่งเป็นไปตามข้อกำหนดด้านประสิทธิภาพ

เราสามารถแทนที่โครงร่างการเข้ารหัสแบบอสมมาตรด้วยแบบสมมาตร $(P_B,S_B)$ กับคำถามที่ว่า $K_2$ และ $(P_C,S_C)$ กับคำถามที่ว่า $K_3$ (และนอกจากนั้นระบบยังสามารถทำให้ง่ายขึ้นเพื่อกำจัด $K_B$). แต่การใช้แบบสมมาตรทำให้เราสูญเสียประโยชน์ของการเข้ารหัสแบบอสมมาตร นั่นคืออลิซไม่จำเป็นต้องเก็บอะไรเป็นความลับ และไม่สามารถใช้ความลับดังกล่าวเพื่อพยายามถอดรหัสการสื่อสารอื่น ๆ ที่ส่งถึงบ็อบหรือแครอล

James Smith avatar
br flag
fgrieu คุณช่วยอธิบายวิธีรับส่วนนี้ของคำถามได้ไหม R1(K1) = R2(K2) XOR R3 (K3) นี่เป็นสิ่งสำคัญที่จะตอบ
fgrieu avatar
ng flag
@James Smith: เทคนิคในคำตอบของฉันไม่ได้สร้างลำดับตัวเลขสุ่ม (หรือทำในลักษณะที่สร้างขึ้นในรูปแบบการเข้ารหัสที่ใช้) ดังนั้นสมการ R1(K1) = R2(K2) XOR R3(K3) ไม่ นำไปใช้กับคำตอบ (และเป็นเพียงตัวเลือกในคำถามเท่านั้น) $(P_B,P_C)$ ของฉันเป็นประเภท K1 ของคำถาม, $S_B$ ประเภท K2, $S_C$ ประเภท K3 ฉันไม่ได้บอกว่ามีคู่ที่สมบูรณ์แบบ แต่ฉันคิดว่าฉันแก้ปัญหาความต้องการด้านการใช้งานใน 1/2/3/4

โพสต์คำตอบ

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