Biblioteca RSA con angular

Hola, estoy tratando de implementar el cifrado en mi aplicación. Estoy usando angular (angular-4) para el frontend y el nodo js para el backend. La comunicación se realiza a través de socket.io a través de comandos personalizados. Pero básicamente en lo que estoy atascado es en encontrar una biblioteca apropiada para el cifrado RSA en el lado del cliente. El cliente primero solicitará al servidor una clave pública RSA. El servidor responde con clave pero ahora no puedo encontrar ninguna biblioteca adecuada para cifrar datos con RSA utilizando esta clave pública. He intentado node-rsa. El siguiente es un código sn

import * as NodeRSA from 'node-rsa';

@Injectable()

export class SecurityService {
    RSA: any
    initializeRSA(key: string) {
        this.RSA = new NodeRSA();
        this.RSA.importKey(key)
        console.log(this.RSA.encrypt('Hello World'));
    }

Pero estoy recibiendo este error.

Error during encryption. Original error: TypeError: crypt.createHash is not a function
at NodeRSA.webpackJsonp.../../../../node-rsa/src/NodeRSA.js.module.exports.NodeRSA.$encrypt

La ayuda sería muy apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta