如何在节点js和加密中使用私钥解密mp4 PKCS8编码文件

问题描述 投票:0回答:1

我正在尝试解密使用Node JS中pkcs8格式的公共密钥和私有密钥加密的MP4文件。

我尝试过此代码:

var decrypted = crypto.privateDecrypt({ key: privateKey, padding: crypto.constants.RSA_PKCS1_PADDING }, buffer);

我遇到以下错误:

错误:错误:0406506C:rsa例程:rsa_ossl_private_decrypt:数据大于mod len

node.js encryption cryptojs
1个回答
0
投票

RSA使用陷波门函数时难以分解大型半素数。

作为RSA密码系统的一部分,在创建公钥/私钥时会生成两个素数。

我们称两个素数为pq。形成n的倍数,即模数。

尽管RSA可用于直接加密数据(通过c=m^e mod{n},但是不能直接加密大于模数的数据。

因此,如果您使用2048-bit素数生成n,则只能直接使用密钥加密4096-bit个信息。

相反,对于大数据,您需要使用RSA密钥执行Diffie-Hellman密钥协商,然后使用具有对称密码的商定密钥,例如AES-GCMxSalsa20

© www.soinside.com 2019 - 2024. All rights reserved.