public-key-encryption相关内容

使用System.IdentityModel.Tokens.Jwt与RS512验证JWT签名

我想用公钥用RS512算法验证JWT签名.我喜欢以下链接中给出的确切解决方案,它运行良好. 验证JWT已签名在C#中使用公钥的RS256算法进行处理 但是我想在我的应用程序中使用System.IdentityModel.Tokens.Jwt.任何人都可以通过实现System.IdentityModel.Tokens.Jwt更改下面的工作示例吗? static void Main ..
发布时间:2021-02-14 19:46:42 C#/.NET

如何将Uint8Array的对象转换为字符串并将字符串转换回相同的对象?

我正在使用eccrypto.js库进行公共密钥加密. 在这里,我想使用B的公钥加密A的消息,然后让B使用B的私钥解密. 在库中,这是通过以下方式完成的: // Encrypting the message for B. eccrypto.encrypt(publicKeyB, Buffer.from("msg to b")).then(function(encrypted) { / ..

公钥如何验证签名?

我正试图更好地解决公钥/私钥的工作方式。我知道发件人可以使用他/她的私钥将数字签名添加到文档中,以本质上获取文档的哈希值,但是我不了解的是如何使用公钥来验证该签名。 我的理解是公钥加密,私钥解密...任何人都可以帮助我理解吗? 解决方案 您对“公钥加密,私钥解密”的理解是正确的……对于数据/消息加密。对于数字签名,则相反。使用数字签名,您正在尝试证明您签名的文档来自您。为此,您需要使 ..

使用初始密钥生成公钥/私钥对

我正在寻找一种方法,使用户可以使用提供给他/她的初始密钥来生成一对公共/私有密钥。我不知道这叫分层密钥生成还是多级密钥生成或其他。较高级别的密钥能够解密较低级别的数据并不重要,我只需要使用另一个密钥来生成该对。 我看过一些文章,但它们都是理论上的。有没有办法实现RSA? 解决方案 实际上很容易。 生成算法RSA密钥对归结为找到一组大的质数,这些质数满足某些代数性质并且大小合适。 ..
发布时间:2020-10-11 21:43:45 其他开发

如何在WinCrypt中生成和使用公钥加密

我目前正在尝试Windows密码API,并且遇到了公钥密码的一些问题。我可以找到许多有关如何加密项目的示例,但是没有什么可以直接解决从头到尾的公钥模型。 以下是我当前代码的粗略概述看起来会生成一个加密密钥对,我已经删除了错误检查代码,以提高可读性 //使RSA公开/私有密钥: CryptGenKey(hProv,CALG_RSA_KEYX,CRYPT_EXPORTABLE,&hKe ..

java.security.InvalidKeyException:密钥长度不是128/192/256位

我是Java的新手,正在尝试使用混合加密,首先使用AES-128对称加密,然后对生成的对称密钥使用RSA-1024非对称加密。有人可以帮我为什么我得到这个例外。我已经关注了其他帖子,并在相应的文件夹中下载了Java密码学扩展(JCE)无限强度管辖权策略文件版本6。 代码段: import java.io.BufferedReader; import java.io.InputStrea ..

SSL使用哪种对称密钥算法?

我了解,通过对称密钥加密/解密速度更快,浏览器通过SSL获取安全网站的公共密钥,并通过公共密钥加密rsa算法来建立会话密钥,然后通过某种对称算法继续通信。 SSL使用哪种对称密钥算法? DES? AES? 解决方案 当客户端连接到服务器时,它会协商一个所谓的密码套件(加密,密钥的组合)。交换,身份验证算法)使用。每个SSL客户端或服务器都有一个允许的密码套件的列表,并且在握手期间,客户端和 ..

使用BigInteger.isProbablePrime()生成加密安全素数

您可以使用BigInteger.isProbablePrime()生成加密安全的素数吗?要使他们“安全"有什么确定性? 解决方案 我没有持有加密货币的学位,所以要加一点盐. 您在这里有两个主要的关注领域: 您的素数必须是不可预测的随机数.这意味着您需要使用诸如 您的潜在质数需要合理地确定为质数(我假设您使用的算法依赖于分解的难度).如果您获得了可能的素数,但攻击者很有可能在5 ..
发布时间:2020-09-20 20:29:20 Java开发

Java-公私钥加密-如何在RSA中计算私钥

我为RSA算法编写了代码,但返回的数字不正确,而这个数字恰好很大.我确定我对所有代码进行了正确的编码,除了不确定的一行.我不知道如何解决RSA中的私钥,而只使用了它(我看到有人编码 d = e.modInverse(m); 其中d是私钥,e是公钥,m是(p-1)*(q-1).我不明白modInverse方法是如何工作的.长话短说,在一个方程中没有两个未知数的情况下,您如何真正地解决"d ..
发布时间:2020-09-20 20:25:45 Java开发

Base64是加密还是编码算法?

我必须使用基于Base64的加密算法,但是当我在线研究时,发现论坛指出它是一种编码算法.这让我感到困惑. :( Base64是一种加密或编码算法吗?除了一个可以公开解密而另一个需要密钥的事实之外,我们如何区分这两个? 解决方案 这是一种编码算法(因此称为"Base64编码"),允许人们在ASCII友好环境中移动数据(即,没有控制字符或任何不可打印的内容) .它应该可以为您提供XML和 ..
发布时间:2020-09-18 20:15:25 其他开发