ฉันกำลังอยู่ในขั้นตอนของการสร้างแอพพลิเคชั่น Flutter ซึ่งจะรวมถึงการส่งข้อความโดยตรง คุณสามารถส่งข้อความถึง 1 คนหรือหลายกลุ่ม ฉันต้องการให้ทั้งหมดนี้เข้ารหัสเพื่อความเป็นส่วนตัว
วิธีที่ผมคิดไว้คือทำระบบ RSA, AES แบบผสมผสาน เมื่อลงทะเบียน จะมีการสร้างคู่คีย์ RSA และคีย์สาธารณะจะถูกส่งไปยังฐานข้อมูลเพื่อจัดเก็บ จากนั้นเมื่อผู้ใช้ต้องการส่งข้อความถึงใครสักคน พวกเขาจะขอรหัสสาธารณะของบุคคลอื่นและสร้างรหัส AES-256 สำหรับเข้ารหัสข้อความใดๆ จากนั้นเมื่อผู้ใช้ต้องการส่งข้อความจะถูกเข้ารหัสด้วย AES และคีย์ AES จะถูกเข้ารหัสด้วย RSA เพื่อให้ผู้รับสามารถถอดรหัสข้อความได้
ปัญหาที่ฉันพบคือฉันต้องการให้ผู้ใช้สามารถซิงค์ข้อความข้ามอุปกรณ์ได้ ฉันมีความคิดที่จะสร้างคีย์สาธารณะและคีย์ส่วนตัวจากวลีช่วยจำแล้วใช้สิ่งนั้นเพื่อกู้คืน
อย่างไรก็ตาม การดำเนินการนี้ไม่สามารถแก้ปัญหาการกู้คืน AES ได้ฉันไม่แน่ใจว่าการจัดเก็บคีย์ AES ในฐานข้อมูลสำหรับห้องสนทนาแต่ละห้องนั้นปลอดภัยหรือไม่ แม้ว่าจะถูกเข้ารหัสด้วย RSA ก็ตาม จะต้องมีการจัดเก็บคีย์ AES ที่เข้ารหัสสำหรับแต่ละบุคคลที่เกี่ยวข้องในการแชท
ถ้าใครมีคำแนะนำหรือเคล็ดลับโปรดแจ้งให้เราทราบ