Score:3

ฟังก์ชันแฮช 2 ฟังก์ชันที่แตกต่างกันสามารถสร้างคีย์ `ed25519` ที่ไม่สามารถเชื่อมโยงได้สองคีย์จากการสุ่มแบบเดียวกันได้หรือไม่

ธง cn

สมมติสถานการณ์ต่อไปนี้:

  1. อลิซสามารถเข้าถึงการสุ่มที่แท้จริงได้ 32 ไบต์ $s$.
  2. อลิซแฮช $s$ ด้วย SHA-512 และใช้แฮชผลลัพธ์เป็นความลับ $d_{A}$ สำหรับ เอ็ด25519. ถือว่าการยึดตัวเลขและอื่น ๆ ดำเนินการอย่างถูกต้อง
  3. อลิซแฮช $s$ ด้วยฟังก์ชันแฮชอื่น เช่น BLAKE-2 หรือแฮช $s$ สองครั้งด้วย SHA-512 และใช้ผลลัพธ์เป็นรหัสลับ $d_{A'}$ สำหรับ เอ็ด25519.

สมมติแบบจำลอง oracle แบบสุ่มและความแข็งของลอการิทึมแยก แล้ว:

  1. คีย์สาธารณะ 2 อันที่เป็นผลลัพธ์สามารถเชื่อมโยงกับทั้ง 2 อันที่เป็นของ Alice ได้หรือไม่
  2. สามารถใช้พับลิกคีย์ที่เป็นผลลัพธ์สองคีย์เพื่อดึงคีย์ลับที่เป็นผลลัพธ์ออกมาได้หรือไม่

สำหรับฉันแล้ว ดูเหมือนว่าจะดีกว่าถ้าใช้ CSPRNG หนึ่งอันที่นี่และแสดงผลแบบสุ่มเพียงพอสำหรับสองคน เอ็ด25519 กุญแจแต่ฉันยังไม่สามารถระบุปัญหาใด ๆ ในแนวทางข้างต้น

Score:3
ธง in

ฟังก์ชันแฮชเป็นตัวเลือกสำหรับออราเคิลแบบสุ่ม SHA-3 และ BLAKE2 นั้นเกือบจะเป็นหนึ่งเดียวกัน แต่ไม่ใช่ SHA-512 เนื่องจากมีการโจมตีแบบขยายความยาวที่เราไม่คาดคิดจาก RO

ฟังก์ชันแฮชที่แตกต่างกันสร้างเอาต์พุตที่แตกต่างกันอยู่แล้ว แม้แต่ SHA-512 และเวอร์ชันที่ถูกตัดออก SHA-512/256 เนื่องจากค่าเริ่มต้นต่างกัน

ที่จริงแล้ว คุณไม่จำเป็นต้องมีฟังก์ชันแฮชสองฟังก์ชันเพื่อให้ได้สิ่งที่คุณต้องการคุณสามารถใช้หนึ่งฟังก์ชันแฮชเพื่อแยกโดเมนด้วยคำนำหน้าเริ่มต้น ใช้ BLAKE2 หรือ SHAKE256

Hashing to Elliptic Curves, ietf ร่าง ให้คำจำกัดความที่ดีของการแยกโดเมน

โปรโตคอลการเข้ารหัสที่ใช้ oracles แบบสุ่มมักจะได้รับการวิเคราะห์ ภายใต้สมมติฐานว่า oracles สุ่มตอบเฉพาะแบบสอบถามที่สร้างขึ้น โดยโปรโตคอลนั้น ในทางปฏิบัติ สมมติฐานนี้ไม่ได้ถือเป็นสอง โปรโตคอลสอบถาม oracle สุ่มเดียวกัน พิจารณาอย่างเป็นรูปธรรม โปรโตคอล $P1$ และ $P2$ แบบสอบถามนั้น oracle สุ่ม $R$: ถ้า $P1$ และ $P2$ ทั้งแบบสอบถาม $R$ ในมูลค่าที่เท่ากัน $x$การวิเคราะห์ความปลอดภัยของหนึ่งหรือ โปรโตคอลทั้งสองอาจใช้ไม่ได้

วิธีการทั่วไปในการแก้ไขปัญหานี้เรียกว่าโดเมน การแยกซึ่งช่วยให้ oracle สุ่มหนึ่งรายการสามารถจำลองหลายรายการได้ ออราเคิลอิสระ สิ่งนี้มีผลโดยตรวจสอบให้แน่ใจว่าแต่ละรายการจำลอง oracle มองเห็นข้อความค้นหาที่แตกต่างจากข้อความค้นหาอื่นๆ ทั้งหมด ออราเคิลจำลอง ตัวอย่างเช่น เพื่อจำลองออราเคิลสองรายการ $R1$ และ $R2$ ให้ออราเคิลเดียว $R$หนึ่งอาจกำหนด

$$R1(x) := R(\text{"R1"} \mathbin\| x)$$ $$R2(x) := R(\text{"R2"} \mathbin\| x)$$

ในตัวอย่างนี้ $\text{"R1"}$ และ $\text{"R2"}$ เรียกว่าโดเมน แท็กแยก; พวกเขามั่นใจว่าการสอบถาม $R1$ และ $R2$ ไม่ได้ ผลลัพธ์ในการค้นหาที่เหมือนกันกับ $R$. ดังนั้นจึงปลอดภัยในการรักษา $R1$ และ $R2$ ในฐานะนักพยากรณ์อิสระ

  1. กุญแจสาธารณะ 2 อันที่เป็นผลลัพธ์สามารถเชื่อมโยงกับทั้ง 2 อันที่เป็นของ Alice ได้หรือไม่?

ไม่ ตราบเท่าที่ฟังก์ชันแฮชมีความปลอดภัยเหมือน SHA3 เบลค2/3 เขย่า ใช้;

  1. $d_A = \operatorname{BLAKE2}(\texttt{คีย์ A}\mathbin\|s)$
  2. $d_{A'} = \operatorname{BLAKE2}(\texttt{คีย์ A ไพรม์}\mathbin\|s)$
  1. สามารถใช้พับลิกคีย์ที่เป็นผลลัพธ์สองคีย์เพื่อดึงคีย์ลับที่เป็นผลลัพธ์ออกมาได้หรือไม่

Curve25519 เป็นเส้นโค้งที่ปลอดภัยเมื่อเทียบกับ Discrete Log (DLog) แบบคลาสสิก มีการรักษาความปลอดภัยประมาณ 126 บิต DLog แบบคลาสสิก.

โปรดทราบว่าด้วย คอมพิวเตอร์ควอนตัมเข้ารหัส (CQC) สร้างขึ้นสำหรับอัลกอริธึมการระดมทุนตามระยะเวลาของ Shor ลอการิทึมไม่ต่อเนื่องแบบโค้งวงรีจะไม่ปลอดภัย อย่างไรก็ตาม ฟังก์ชันแฮชที่มีขนาดมากกว่า 384 เอาต์พุตจะปลอดภัย โกรเวอร์ส หรือ บราสซาร์ดและคณะวิธีการของ

ดังนั้น ความลับจึงปลอดภัยสำหรับคลาสสิกและ CQC อย่างไรก็ตาม คีย์ส่วนตัวจะไม่ปลอดภัยจาก CQC


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

Score:2
ธง gb

ในแบบจำลอง oracle แบบสุ่ม สิ่งนี้ปลอดภัยเพราะคุณสามารถใช้ oracle เดียวได้ $\mathcal{O}$ และใช้การแยกโดเมนเพื่อรับสองออราเคิลอิสระจากมัน (เช่น $\mathcal{O}(1 \ขนาน \cdot)$ และ $\mathcal{O}(2 \ขนาน \cdot)$, ที่ไหน $\ขนาน$ หมายถึงการต่อกัน) จากนั้นคุณสามารถพิจารณาว่าผลลัพธ์เป็นอิสระจากกันโดยสิ้นเชิง

ดังนั้น ในทางปฏิบัติ มันขึ้นอยู่กับฟังก์ชันแฮชที่คุณใช้ ตราบเท่าที่เป็นผู้สมัคร RO ที่ดี (เช่น SHA-3 เป็นต้น) ก็สามารถใช้ในลักษณะเดียวกัน: $$x_1 = H(1 \ขนาน s)\ x_2 = H(2 \ขนาน s)$$

เนื่องจากความลับทั้งสองที่เกิดขึ้นเป็นอิสระต่อกัน คำตอบสำหรับคำถามข้อ 1 และ 2 คือ: ไม่ ไม่ว่าคีย์ลับแต่ละคีย์จะสามารถเรียกค้นจากคีย์สาธารณะได้หรือไม่ (เช่น ในฟิลด์จำกัดหรือการเข้ารหัสลับเส้นโค้งวงรี) ก็เป็น DLP ทุกประการ ตราบใดที่คุณใช้ความลับในโครงร่างที่ปลอดภัย สิ่งนั้นจะไม่สามารถทำได้ วิธีเดียวที่จะเชื่อมโยงทั้งสองคือการสุ่มเมล็ดพันธุ์ดั้งเดิม $s$ จะถูกเปิดเผย - จากนั้นใครก็ตามสามารถคำนวณคีย์ทั้งสองแยกกันอีกครั้งและดูว่าตรงกันจริงๆ มิฉะนั้น แม้ว่าความลับทั้งสองจะรั่วไหล (เช่น หาก DLP เสียหาย) ก็ไม่สามารถเชื่อมโยงกลับไปยัง $s$ หรือซึ่งกันและกันเนื่องจากความเป็นทางเดียว (การต้านทานภาพล่วงหน้า) ของฟังก์ชันแฮช

โพสต์คำตอบ

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