Score:1

การประมาณค่าเอนโทรปีของคีย์ที่ได้มาจากตัวเลขสุ่มอย่างแท้จริง

ธง ua

บันทึก: คำถามนี้ตั้งอยู่บนสมมติฐานของฉันว่า $X$ เป็น "ตัวเลขสุ่มอย่างแท้จริง" ก็ต่อเมื่อความยาวที่วัดเป็นบิตเท่ากับเอนโทรปีที่วัดเป็นบิตกล่าวอีกนัยหนึ่งเมื่อทุกๆ $X$ ถูกสร้างขึ้นโดยการโยนเหรียญแบบสุ่ม

สมมติว่าฉันมีตัวเลขสุ่มจริงๆ $R$ ขนาด 256 บิต (เอนโทรปี 256 บิต) และตัวเลขสุ่มอย่างแท้จริง $S$ ความยาว $n * 256$, ที่ไหน $n$ เป็นจำนวนธรรมชาติ จึงมี $n * 256$ บิตของเอนโทรปี

ตอนนี้ฉันได้รับสี่คีย์ $T_1$ ถึง $T_4$ จาก $R$

  • $T_1 = \text{concat}(R, \text{... n ครั้ง ...}, R)$
  • คำนวณ $t_1 = \text{sha256}(R)$, $t_2 = \text{sha256}(t_1)$, ..., $t_n = \text{sha256}(t_{n-1})$และทำ $T_2=\text{concat}(t_1, ..., t_n)$.
  • $T_3$ คำนวณเหมือนกับด้านบน แต่ใช้ HMAC แทน sha256
  • $T_4 = \text{hkdf_expand}(R, \text{null}, n * 256 / 8)$.

ในที่สุดฉันก็คำนวณ $K_i = T_i\text{ xor }S$.

เอนโทรปีมีกี่บิต $K_1$, $K_2$, $K_3$ และ $K_4$ มี?

การคาดเดาที่มีความสุขของฉัน:

  • $T1$ จะมีเอนโทรปีมากที่สุดเท่าที่ $R$เนื่องจากการต่อข้อมูลซ้ำไม่ได้เพิ่มเอนโทรปีของเอาต์พุต แต่ฉันสงสัยว่ามันจะไม่ลดลงเช่นกัน
  • $\text{sha256}$ และ $\text{HMAC}$ เชื่อว่าจะรักษาบิตของเอนโทรปีของการป้อนข้อมูล แต่ตั้งแต่กระบวนการสร้าง $T_2$ และ $T_3$ ถูกกำหนดขึ้นจากการคำนวณ $R$เอนโทรปีของ $T_2$ และ $T_3$ จะเท่ากับประมาณ $T1$.
  • ไม่มีความคิดเกี่ยวกับ $T_4$. ฉันเดาประโยชน์ของ $\text{hkdf_expand}$ เริ่มทำงานเมื่ออินพุตไม่ใช่ตัวเลขสุ่มอย่างแท้จริง

เกี่ยวกับทุกๆ $K_i$, ฉันไม่แน่ใจ. เมื่อเร็ว ๆ นี้ฉันได้เรียนรู้ว่า XORting ตัวเลขสุ่มจริง ๆ สองตัวให้ตัวเลขสุ่มจริง ๆ ดังนั้นบิตของเอนโทรปีของเอาต์พุตจึงยังคงมีความยาว แต่เนื่องจาก $T_i$มันไม่ใช่ตัวเลขสุ่มอีกต่อไป ฉันไม่รู้ว่าจะเกิดอะไรขึ้นที่นี่

สัญชาตญาณของฉันบอกฉันว่าเอนโทรปีของ $S$ จะถูกรักษาไว้ ($n * 128$ บิต) เนื่องจาก $K_i$ เทียบเท่ากับการเข้ารหัส $T_i$ โดยใช้ $S$ เป็นคีย์แพดแบบใช้ครั้งเดียวทำให้ $T_i$ หรือ $S$ ไม่แตกหักในทางทฤษฎีดังนั้น $K_i$ ยังคงเป็นตัวเลขสุ่มอย่างแท้จริง

Paul Uszak avatar
cn flag
เฮ้! เอ่อ ฉันสับสน คุณสามารถทำให้คำถามง่ายขึ้นเนื่องจากคุณสามารถเข้าถึงตัวเลขสุ่มจริง ๆ ได้หรือไม่? คุณพยายามจะทำอะไร?
sanscrit avatar
ua flag
@PaulUszak ฉันได้แทนที่โน้ตสุดท้ายด้วยการคาดเดาของฉันเอง เป็นตัวอย่างระดับรายละเอียดที่ฉันคาดหวัง
sanscrit avatar
ua flag
@PaulUszak เราสามารถพูดได้ว่าคำถามของฉันส่วนใหญ่เป็นทฤษฎี
fgrieu avatar
ng flag
ปัญหา A) \[snip, คำถามคงที่\] B) HMAC ต้องการคีย์ C) พูดอย่างเคร่งครัด "$K_1$, $K_2$, $K_3$ และ $K_4$ มีเอนโทรปีกี่บิต" ถามสิ่งที่สงสัยเนื่องจากบิตสตริงไม่มีเอนโทรปี (หรือไม่มีเลย); _the process_ ที่สร้างพวกมันมีเอนโทรปีที่กำหนดไว้อย่างดีง) เอนโทรปีของกระบวนการที่สร้าง $K_1$, $K_2$, $K_3$ และ $K_4$ ขึ้นอยู่กับว่า $R$ และ $S$ เป็นอิสระต่อกันหรือไม่ ในการยืนยัน มันคือ \[คำใบ้มากเกินไป snipped\] ขอบคุณ "ฉันคำนวณ $K_i=T_i\text{ xor }S$" และ $T_i$ เป็นฟังก์ชันของ $R$
sanscrit avatar
ua flag
@fgrieu ฉันหมายถึงแต่ละ $T_i$ ขึ้นอยู่กับ $R$ ทั้งหมด; และใช่ ฉันรู้ว่าเอนโทรปีขึ้นอยู่กับกระบวนการ ไม่ใช่ตัวเลข ฉันสามารถได้หมายเลข 5 โดยการสุ่มเลือก หรือ 2 + 3 โดยที่ 2 และ 3 เป็นตัวเลขสุ่ม หรือ 2 + 3 โดยที่ 2 และ 3 เป็นตัวเลขที่รู้จัก กระบวนการแรกจะมีเอนโทรปี 3 บิต กระบวนการที่ 2 ก็น่าจะเหมือนกัน (เดาของฉัน เพราะการเพิ่มจำนวนสุ่มเปลี่ยนการกระจายทางสถิติ แต่ก็ยังเป็นกระบวนการสุ่ม) และกระบวนการที่สาม 0 บิตของเอนโทรปี
sanscrit avatar
ua flag
@fgrieu และใช่ ตอนนี้แม่นยำมากขึ้น คำถามของฉันเกี่ยวกับสิ่งที่เกิดขึ้นกับเอนโทรปีของกระบวนการจนถึงแต่ละ $K_i$ เมื่อฉันใช้สิ่งต่าง ๆ เช่น concat, sha256 หรือ hkdf_expand บนคีย์ที่มีเอนโทรปีน้อยกว่า ($R$) รวมกัน ต่อมาด้วยคีย์ที่มีเอนโทรปีมากกว่า ($S$) แต่ใช่ หลังจากความคิดเห็นแรกของคุณ ฉันเข้าใจว่า XORting ไม่ได้ทำลายเอนโทรปีเท่าที่ $S$ และ $T_i$ ไม่เกี่ยวข้องกันโดยสิ้นเชิง ดังนั้นความจริงที่ว่า $R$ มี เอนโทรปีน้อยกว่า $S$ ไม่เสี่ยงต่อความปลอดภัยของ $K_i$
Score:1
ธง ng

XOR การใช้ตัวเลขสุ่มอย่างแท้จริงสองตัวจะให้ตัวเลขสุ่มอย่างแท้จริง

ไม่ ตัวอย่างการตอบโต้: $S$ สุ่มอย่างสม่ำเสมอ $S\oบวก S$ เป็นบิตสตริงที่เป็นศูนย์ทั้งหมดที่มีขนาดเท่ากับ $S$และไม่ใช่การสุ่มแบบสม่ำเสมอ (เว้นแต่ $S$ มันว่างเปล่า).

สิ่งที่ถือคือ: XORing สอง เป็นอิสระ ค่าที่มีขนาดเท่ากัน อย่างน้อยหนึ่งในนั้น เป็นตัวเลขสุ่มอย่างแท้จริง ให้ผลลัพธ์เป็นตัวเลขสุ่มอย่างแท้จริง

ในการออกกำลังกาย $S$ เป็นแบบสุ่มอย่างสม่ำเสมอ และ $T_i$ ขึ้นอยู่กับ $R$ (และคีย์ที่ไม่ได้ระบุสำหรับ HMAC ในกรณีของ $T_3$แต่ขอเพิกเฉยต่อสิ่งนั้น) และทุกอย่างชี้ไปที่ $R$ เป็นอิสระจาก $S$. ดังนั้น $T_i$ เป็นอิสระจาก $S$.

ขนาดของสิ่งต่าง ๆ ข้างต้นและ $K_i$ กำลังสร้างเป็น $K_i=T_i\oบวก S$ก็พอจะสรุปได้ว่า

เอนโทรปีมีกี่บิต $K_1$, $K_2$, $K_3$ และ $K_4$ มี

และนี่คือแบบฝึกหัดสำหรับผู้อ่าน

sanscrit avatar
ua flag
ขอขอบคุณ. ฉันสามารถสรุปได้หรือไม่ว่าเนื่องจากฉันมีตัวเลขสุ่มจริง ๆ เป็นอินพุตแล้ว เพื่อที่จะขยาย $R$ เพื่อสร้าง $T_i$ การดำเนินการที่ซับซ้อนและมีค่าใช้จ่ายสูงในการคำนวณ เช่น sha256 หรือ hkdf_expand ไม่ได้ให้อะไรเลย (พิจารณาว่าฉันจะ XORted ด้วย $S $ ในภายหลัง) และเพียงแค่ทำซ้ำ $R$ (เพื่อสร้าง $T_1$) เพียงพอหรือไม่
fgrieu avatar
ng flag
@sanscrit. ประเด็นคือ โดยไม่คำนึงถึงกระบวนการที่สร้าง $T_i$ ที่มีขนาดเท่ากับ $S$ และเป็นอิสระจาก $S$ แบบสุ่มอย่างสม่ำเสมอ (รวมถึง สร้าง $T_i$ เป็นฟังก์ชันของ $R$ โดยไม่ขึ้นกับ $S$ ) เราสามารถสรุปเกี่ยวกับเอนโทรปีได้ใน $K_i=T_i\oplus S$ นั่นไม่ใช่สิ่งที่คุณระบุไว้ข้างต้น โดยเฉพาะอย่างยิ่ง คุณไม่สนใจว่า $R$ จะสุ่มแบบสม่ำเสมอ เพียงแต่ว่าจะไม่ขึ้นกับ $S$ (และ $S$ จะสุ่มแบบสม่ำเสมอ)

โพสต์คำตอบ

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