【发布时间】:2020-03-07 14:25:54
【问题描述】:
我正在使用Node.js 生成 RSA 密钥对,它们都存储在数据库中(私钥是 AES 加密的)。
我想检查解密后的私钥是否与公钥匹配,以确保公钥在静止时未被替换/篡改。
我发现无法使用 Node.js API 获取密钥模数。
如果我只是简单地加密一条随机消息,解密时得到原始消息,可以吗?
我只是想知道这是否安全,我不在乎它是慢还是不是最佳的。
有没有什么方法可以在没有任何外部库的情况下做到这一点?
我也不想直接从节点使用openssl CLI。
非常感谢。
【问题讨论】:
-
也存储公钥?这通常是一个很小的数字。
-
存储了公钥和私钥。
-
您是否也存储了
p和q?如果是这样,请使用e x d = 1 \mod \phi(n)否则加密和解密一些测试消息。 -
密钥以 PEM 格式存储。我不存储个别字段。这是我的主要问题。因为我也无法从 node.js 获取单个字段(例如模数)。
-
好的,太好了。这些密钥用于加密/解密,所以我想我会坚持我的第一个想法,即加密/解密随机消息以检查一切是否顺利。谢谢。
标签: node.js cryptography match rsa