RSA ไม่ใช้รหัสผ่านเลย สัญกรณ์ไม่ถูกต้อง
RSASSA-PSS ใช้รหัสส่วนตัวและข้อความและสร้างลายเซ็น ลายเซ็นนั้นสามารถตรวจสอบได้โดยใครก็ตามที่มีลายเซ็น ข้อความ และคีย์สาธารณะ
RSAES-OAEP ใช้คีย์สาธารณะและข้อความสั้น (มักจะเป็นคีย์สมมาตร) และเข้ารหัสข้อความนั้น (คีย์สมมาตร) เพื่อให้เฉพาะผู้ที่มีคีย์ส่วนตัวที่เกี่ยวข้องเท่านั้นที่สามารถถอดรหัสได้ สิ่งนี้ไม่ได้ทำมากจริง ๆ เนื่องจากการแลกเปลี่ยนคีย์ ECDH นั้นใช้ทรัพยากรน้อยกว่าและทำได้ง่ายกว่าเล็กน้อยอย่างปลอดภัย
สำหรับส่วนที่สองของคำถามของคุณ ก็ไม่ถูกต้องเช่นกัน SHA-1 ไม่ใช่ฟังก์ชันการรับรหัสที่ปลอดภัย และไม่สามารถใช้เพื่อสร้างรหัสลับที่ใช้ร่วมกันได้อย่างปลอดภัย ฟังก์ชันการสืบทอดคีย์จริง เช่น HKDF หรือ Blake3 ใช้อินพุต 2-4 รายการ: ความยาวไปยังเอาต์พุต (ตัวเลือก บางรายการส่งออกเฉพาะค่า 256 บิต) วัสดุคีย์เริ่มต้นบางส่วน (โดยปกติคือความลับที่ใช้ร่วมกันซึ่งเป็นผลมาจากการแลกเปลี่ยน ECDH) เกลือ (ไม่บังคับ อาจสร้างขึ้นภายใน) และค่าการแยกโดเมน (ใช้เพื่อให้แน่ใจว่าการดำเนินการต่างๆ สามารถมีคีย์ที่แตกต่างกันได้ แม้ว่าจะมีความลับร่วมกันเพียงรายการเดียว)
หากคุณต้องการเข้ารหัสข้อความไปยังคีย์สาธารณะของผู้รับด้วย Python ให้ใช้ โซเดียม และวิธีการ crypto_box หากคุณต้องการเข้ารหัสข้อความโดยใช้รหัสผ่าน ให้ใช้เมธอด crypto_pwhash เพื่อรับคีย์และเมธอด crypto_secretbox สำหรับการเข้ารหัสโดยใช้คีย์ที่ได้รับ