ฉันได้สร้างโปรแกรมส่งข้อความส่วนตัวและต้องการตรวจสอบว่าไม่มีอะไรโง่ในการใช้การเข้ารหัสของฉัน
ฉันเป็นมือสมัครเล่นและไม่มีอะไรสำหรับการผลิต
ฉันขอขอบคุณล่วงหน้า
การแลกเปลี่ยนข้อความเข้ารหัสแบบ end-to-end ด้วย AES-OCB
มีการแลกเปลี่ยนคีย์เซสชันดังนี้:
ในตอนเริ่มต้น คีย์ส่วนตัวจะถูกโหลดและสร้างคีย์สาธารณะ
เซิร์ฟเวอร์ส่งรหัสสาธารณะไปยังไคลเอ็นต์
ไคลเอนต์ตรวจสอบรหัสสาธารณะของเซิร์ฟเวอร์ด้วยไฟล์ know_host
ในไฟล์นี้ที่อยู่โฮสต์จะถูกเก็บแฮช (sha256) ด้วยรหัสสาธารณะ (sha256)
ลูกค้าตรวจสอบว่ารหัสสาธารณะที่ได้รับเป็นรหัสที่ถูกต้อง มิฉะนั้น sha256 ลายนิ้วมือของรหัสสาธารณะจะแสดงให้ผู้ใช้ตรวจสอบ
ลูกค้าสร้างคีย์เซสชัน 128 บิตและเข้ารหัสด้วยคีย์สาธารณะของเซิร์ฟเวอร์
ไคลเอนต์ส่งไปยังเซิร์ฟเวอร์: คีย์เซสชันที่เข้ารหัส, คีย์สาธารณะ, ลายเซ็น RSASSA-PSS (sha256) ของคีย์เซสชัน
เซิร์ฟเวอร์ตรวจสอบตัวตนของไคลเอนต์ด้วยไฟล์ know_host ของตัวเอง
มันถอดรหัสคีย์เซสชัน ตรวจสอบลายเซ็นของคีย์เซสชันด้วยคีย์สาธารณะของลูกค้า
ทั้งสองฝ่ายได้รับการรับรองความถูกต้องและมีคีย์เซสชัน การสื่อสารตามปกติจะเริ่มต้นขึ้น