ฉันสร้างข้อความแบบสุ่ม ม
ส่งไปยังอุปกรณ์ที่ใช้คำนวณ ซิก(m, privKey)
กับ secp256k1
. จากนั้นจะทำการเรียก HTTP GET เพื่อแบ่งปันทั้งสองอย่าง ผับคีย์
และ ซิก
กับ วัตถุประสงค์ของการรับรองความถูกต้อง.
(ม
ยังคงเป็นส่วนตัวสำหรับฉันและสร้างขึ้นแบบสุ่มสำหรับทุกคำขอการรับรองความถูกต้องใหม่ แก้ไข: ศัพท์ crypto มันอาจจะเรียกว่า "ความท้าทาย"?)
ฉันต้องการได้รับความลับอย่างต่อเนื่องจาก ม
และ ซิก
, ม'
และ ซิก'
, ม''
และ ซิก''
และอื่น ๆ
ความคิดแรกของฉันคือการใช้การกู้คืนรหัสสาธารณะ ECDSA ซึ่งจะให้ข้อมูลเดียวกัน (รหัสสาธารณะ) ที่กำหนดในแต่ละครั้ง สิ่งนี้จะใช้งานได้ แต่มีปัญหา:
- การกู้คืนคีย์สาธารณะ ECDSA อาจส่งคืนจุด EC ที่เป็นไปได้ 0, 1 หรือ 2 จุด (คีย์สาธารณะ) เท่าที่ฉันเข้าใจ
- อุปกรณ์ทำการเรียก HTTP ด้วยรหัสสาธารณะใน URL (แม้ผ่าน SSL ก็อาจถูกโจมตีได้)
หากการกู้คืนคีย์สาธารณะส่งคืนคีย์สาธารณะ 2 อัน คีย์สาธารณะที่ไม่ได้แชร์โดยอุปกรณ์จะสมบูรณ์แบบ แต่คน ๆ หนึ่งจะได้รับกุญแจสาธารณะ 2 อันบ่อยแค่ไหน?
มีวิธีอื่นด้วยเครื่องมือเข้ารหัสหรือไม่ เพื่อให้ได้ความลับที่เชื่อถือได้สำหรับสิ่งใดๆ ที่ระบุหรือไม่ ม
และ ซิก
? ขอขอบคุณ!