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