หากคุณต้องการโฆษณาคีย์สาธารณะหนึ่งคีย์ที่สามารถใช้สำหรับทั้งการเข้ารหัสที่รับรองความถูกต้องของคีย์สาธารณะ ("crypto_box") และสำหรับการเซ็นชื่อ ("crypto_sign") นั่นอาจเป็นเหตุผลในการแมปคู่คีย์ระหว่างเส้นโค้ง Twisted Edwards Ed25519 (ซึ่งเป็นที่ต้องการสำหรับการดำเนินการลงนาม) และเส้นโค้ง Montgomery Curve25519 (ซึ่งต้องการสำหรับการดำเนินการ ECDH) เช่น. คุณต้องการโฆษณาคีย์สาธารณะ Curve25519 ที่ผู้คนสามารถใช้เพื่อเข้ารหัสและส่งข้อมูลถึงคุณได้ แต่ซอฟต์แวร์ของคุณจะแมปคีย์ดังกล่าวให้เทียบเท่ากับ Ed25519 ก่อนที่จะใช้เพื่อตรวจสอบลายเซ็น
อย่างไรก็ตาม ดูเหมือนว่าคุณกำลังใช้การเข้ารหัสแบบสมมาตรสำหรับห้องนิรภัย (ไม่ใช่การเข้ารหัสแบบไม่สมมาตร) ดังนั้นการแมประหว่างเส้นโค้งนี้จึงไม่เกี่ยวข้องกับคุณ
ดังนั้น ให้ใช้สตริง เช่น "การเข้ารหัส" และ "การเซ็นชื่อ" เป็นพารามิเตอร์ข้อมูลสำหรับ HKDF-Expand (พร้อมกับเมล็ดของคุณเป็นคีย์สุ่มเทียมที่กระจายอย่างสม่ำเสมอ) เพื่อสร้างคีย์การเข้ารหัสแบบสมมาตรและคีย์ลับการเซ็นชื่อ หาก Seed ของคุณเป็น 256 บิต และคุณต้องได้รับคีย์ 256 บิต นั่นก็เทียบเท่ากับการทำ HMAC-SHA256(เมล็ดพันธุ์ || ข้อมูล)
(ดู https://datatracker.ietf.org/doc/html/rfc5869).