Javascript 简单的非对称加密算法

Javascript 简单的非对称加密算法,javascript,algorithm,encryption,public-key-encryption,Javascript,Algorithm,Encryption,Public Key Encryption,我想使用javascript(或重用开放库)实现简单的非对称加密算法。我不想使用RSA(或其他算法),因为它们很复杂。下面的伪代码说明了我要做的一切: var encryptor = new AsymEncript(); var encrypted = encryptor.encrypt("hello world", "public key string"); var decrypted = encryptor.decrypt(encrypted, "private secret key");

我想使用javascript(或重用开放库)实现简单的非对称加密算法。我不想使用RSA(或其他算法),因为它们很复杂。下面的伪代码说明了我要做的一切:

var encryptor = new AsymEncript();
var encrypted = encryptor.encrypt("hello world", "public key string");
var decrypted = encryptor.decrypt(encrypted, "private secret key");
我不想处理复杂的库,比如pidCrypt、jsencrypt。我需要一个非常简单的算法,它允许我创建公钥\私钥对。然后我可以使用这对进行加密。
你能给我指出一些文章或一些如何实现的想法吗?

从你的方程式:
f(x)=x*pubKey

g(m)=m*pKey

g(f(x))=x

您将到达以下位置:
x=f(x)*pKey
x=x*pubKey*pKey=>
pubKey=1/pKey

这似乎是一个非常弱的算法(除非我误解了你)


如果你真的关心你的安全性,你应该使用一些包装器库,它能以一种简单的方式为你提供
RSA
(或其他一些算法)。

这些算法事实上是复杂的,你不会那么容易地做出一个“更简单”的算法。您需要的只是围绕这些算法的一个用户友好的默认包装函数。不幸的是,库建议并不是我们在这里真正要做的。非对称加密使用可逆的数学函数。它们对于强算法来说是复杂的。我需要一个更简单的函数
f(x)=x*pubKey
x
-消息,
publikey
-公钥,
f(x)
-加密算法
g(m)=m*pKey
g(f(x))=x
。m-加密消息,
pKey
-私钥,
g
-解密算法。我只需要简单的
f
g
。我正在寻找任何关于此类功能的文章。您可以在crypto.stackexchange.com上查询一种比RSA更容易理解/实现的非对称密码系统,尽管我想知道这里是否有.JSEncrypt贡献者-您在库中发现了什么复杂的东西?只要使用相同的实例,就可以将代码转换为JSEncrypt:
var encryptor=new JSEncrypt();var encrypted=encryptor.encrypt(“hello world”);var decrypted=encryptor.decrypt(加密)。如果以前没有设置,JSEncrypt将负责创建新的私钥/公钥对。(否则只需添加行
encryptor.setKey('私钥字符串')
@AntonioE.,谢谢你的回答。我一直在寻找一些非常简单的东西,但没有找到任何合适的算法。JSEncrypt是一个好的、可靠的、易于使用的库。它非常适合我的需要。目前我将使用它。你说得完全正确,但这只是一个示例。我正在寻找类似的函数,但它们应该是simp比RSA更简单。对于我的解决方案,这将是可接受的安全级别,但RSA就像开销一样。@Kai IMHO,
RSA
在数学上相当简单(只是一个指数)。唯一的“问题”是正确生成密钥。你可以找到其他算法。如果你想实现自己的端到端算法,你将完成更多的工作,并可能最终得到一个较弱的算法。好的,似乎使用RSA和库包装器对我来说更简单。谢谢帮助!