https://levelup.gitconnected.com/asymmetric-encryption-a-javascript-and-php-example-4cf9d5f95d7d