Score:2

การตรวจสอบแฮชด้วยคีย์

ธง cn

ฉันต้องการใช้อัลกอริทึมต่อไปนี้ แต่ไม่รู้ว่าจะใช้เครื่องมืออะไร

D - ข้อมูล

  1. ฉันสร้างคุณค่าสากลสำหรับ D - Y
  2. ฉันสร้างคีย์สุ่ม - K รับแฮชของ D ด้วยคีย์นี้ - H
  3. ฉันต้องการให้มีฟังก์ชัน - F: F(Y, K, H) = จริงถ้า H ถูกต้องและเป็นเท็จ

เป้าหมายหลัก: เพื่อพิสูจน์ความถูกต้องของแฮชข้อมูลด้วยคีย์บางคีย์โดยใช้ข้อมูลต้นฉบับเพียงบางส่วนเท่านั้น

การใช้งาน: สมมติว่าเรามีคอมพิวเตอร์: A, B, C A ส่งข้อมูลบางส่วนไปยัง B จากนั้นข้อมูลจะถูกลบออกจาก A ตอนนี้ฉันต้องการตรวจสอบ (จากโหนด A, C) ว่า B มีข้อมูลทุกๆ 10 นาที แต่ก็วางใจไม่ได้ เลยต้องมีเครื่องมือช่วยให้แน่ใจว่า B ไม่ได้หลอกฉัน

คำตอบ: PDP (หลักฐานการครอบครองข้อมูล)

kelalaka avatar
in flag
คุณกำลังขอ HMAC หรือมากกว่านั้นใช่หรือไม่
ischenko avatar
cn flag
@kelalaka ฉันต้องการที่จะสามารถพิสูจน์ได้ว่าข้อมูลนั้นมีอยู่ในอุปกรณ์อื่น ดังนั้นฉันต้องการส่งคำขอด้วยคีย์ที่แตกต่างกันและรับแฮช จากนั้นตรวจสอบแฮชด้วยข้อมูลบางส่วน (ขนาดคงที่) ที่ดึงมาจากข้อมูลต้นฉบับ
ischenko avatar
cn flag
@kelalaka เพิ่มส่วนการใช้งาน
ischenko avatar
cn flag
@kelakala ฉันส่งคำขอด้วยคีย์สุ่ม ดังนั้น B จึงต้องเก็บข้อมูลเพื่อคำนวณแฮชสำหรับคีย์ที่กำหนด (ฉันผิดหรือเปล่า?)
ischenko avatar
cn flag
ใช่ นั่นเป็นปัญหาที่ใหญ่ที่สุด ฉันต้องสามารถตรวจสอบคู่ (คีย์ แฮช) ด้วยข้อมูลต้นฉบับชิ้นเล็ก ๆ (แต่ต้องเป็นไปไม่ได้ที่จะรับแฮช (โดยคีย์ที่กำหนด) จากตัวอย่างนี้)
kelalaka avatar
in flag
ใช้ HMAC ส่งคีย์รับค่า HMAC เพื่อยืนยัน แม้ว่าคุณจะมีการสืบค้นที่จำกัดด้วยจำนวนคู่ที่คุณเก็บไว้ อาจมีวิธีแก้ปัญหาที่ชาญฉลาดที่ฉันไม่เห็นในตอนนี้
ischenko avatar
cn flag
@kelakala ยิ่งกว่านั้น ฉันไม่สามารถคำนวณแฮชล่วงหน้าได้ เนื่องจากโหนด A ไม่น่าเชื่อถือ ดังนั้นฉันจึงต้องคิดแทนข้อมูลเล็กๆ น้อยๆ ซึ่งอาจใช้เป็นตัวตรวจสอบแฮชได้
kelalaka avatar
in flag
คุณช่วยเขียนคำถามใหม่ทั้งหมดรวมถึงรายละเอียดทั้งหมด...
ischenko avatar
cn flag
โอ้ ขอโทษที่ทำให้สับสน
kelalaka avatar
in flag
โปรด [อย่าโพสต์ข้าม](https://stackoverflow.com/q/70852888/1820553) เก็บสำเนาไว้เพียงชุดเดียว [ดูเมตานี้](https://meta.stackexchange.com/q/64068/403350)
knaccc avatar
es flag
คุณหมายถึงอะไรโดย "โหนด A ไม่น่าเชื่อถือ" คุณหมายความว่า A สามารถโกหกเกี่ยวกับข้อมูลที่อ้างว่าเก็บไว้กับ B ได้หรือไม่
ischenko avatar
cn flag
@knacc ครับ คำตอบที่ถูกต้องคือใช้อัลกอริธึม PDP (หลักฐานการครอบครองข้อมูล)
knaccc avatar
es flag
คงจะน่าสนใจถ้าคุณสามารถอธิบายได้อย่างแน่ชัดว่าวิธี PDP ใดที่ตรงกับเกณฑ์ในคำถามของคุณ เท่าที่ฉันเห็น วิธีการที่ง่ายที่สุดในการสุ่ม $c$ และการตอบกลับที่คำนวณเป็น $H(c\mathbin\|data)$ จะไม่เป็นไปตามเกณฑ์ของคุณ
ischenko avatar
cn flag
@knaccc ฉันขอโทษที่ฉันไม่ถนัดเรื่องการเข้ารหัส ดังนั้นฉันจึงสามารถผิดพลาดได้ ฉันพบว่ามีสิ่งที่ทรงพลังมาก - แฮชแบบโฮโมมอร์ฟิค และดูเหมือนว่าพวกมันสามารถช่วยฉันสร้าง (หรือค้นหาอัลกอริทึมที่มีอยู่) ซึ่งจะช่วยแก้ปัญหาของฉันได้

โพสต์คำตอบ

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