RSA nu acceptă deloc o parolă. Notația este pur și simplu incorectă.
RSASSA-PSS preia o cheie privată și un mesaj și produce o semnătură. Semnătura respectivă poate fi verificată de oricine cu semnătura, mesajul și cheia publică.
RSAES-OAEP preia o cheie publică și un mesaj scurt (aproape întotdeauna o cheie simetrică) și criptează acel mesaj (cheie simetrică), astfel încât doar cineva cu cheia privată corespunzătoare să-l poată decripta. De fapt, acest lucru nu se face prea mult, deoarece schimbul de chei ECDH necesită mai puține resurse și puțin mai ușor de făcut în siguranță.
Pentru a doua parte a întrebării dvs., este, de asemenea, incorectă. SHA-1 nu este o funcție sigură de derivare a cheii și nu poate fi utilizată pentru a produce în siguranță o cheie secretă partajată. O funcție reală de derivare a cheii, cum ar fi HKDF sau Blake3, necesită 2-4 intrări: o lungime până la ieșire (opțional, unele scot doar valori de 256 de biți), ceva material cheie inițială (de obicei secretul partajat care rezultă dintr-un schimb ECDH), o sare (opțional, poate fi generat intern) și o valoare de separare a domeniului (utilizată pentru a se asigura că diferite operațiuni pot avea chei diferite chiar și atunci când există un singur secret partajat).
Dacă doriți să criptați mesajele către cheile publice ale destinatarilor cu Python, utilizați Pisodiu și metodele crypto_box. Dacă doriți să criptați mesajele folosind o parolă, utilizați metoda crypto_pwhash pentru a deriva cheia și metodele crypto_secretbox pentru criptare folosind cheia derivată.