Ответ 1
Для тех, кто сталкивается с этим вопросом при поиске в Интернете, другой вопрос SO ответил на это уже Шифрование данных с открытым ключом в node.js, который хорошо работает.
В криптографии я вижу только Signer/Verifier для выполнения цифровой подписи и Cipher/Decipher с симметричным шифрованием ключей.
Как шифровать данные с помощью открытого ключа?
Для тех, кто сталкивается с этим вопросом при поиске в Интернете, другой вопрос SO ответил на это уже Шифрование данных с открытым ключом в node.js, который хорошо работает.
Вам могут быть интересны мои привязки NaCl. Из его API:
// encrypt and sign
box(message, nonce, pubkey, privkey)
// decrypt and validate
unbox(box, nonce, pubkey, privkey)
// generates a new keypair, returns {private: <buffer>, public: <buffer>}
boxKeypair()
// lengths of nonces and public and private keys in bytes
// { nonce: x, pubkey: x, privkey: x }
lengths.box