问题标签 [tripledes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
211 浏览

cryptography - 使用 TripleDes 或 RSA 在两方之间共享数据

我从供应商那里收到 TripleDes 或 RSA 格式的加密数据。

当我去解密这些数据时,我需要我的供应商提供什么信息才能做到这一点?

私钥和公钥都可以吗?

那么,仅用于加密的公钥有什么用?

0 投票
3 回答
2510 浏览

cryptography - 使用 Triple des,您可以仅使用公钥解密吗?

我知道使用 RSA 有几种方法可以加密和解密数据,这意味着您可以使用公钥或私钥(或两者)进行加密,也可以仅使用私钥或公钥进行解密,或两者兼而有之。

使用 Triple Des,您需要密钥和 iv 来解密吗?或者你能用钥匙以某种方式做到这一点吗?(公钥?)

0 投票
2 回答
900 浏览

c# - CFB 模式下的 TripleDES,C# 和 Crypto++ 不同

这是我的问题:我在 C++ 中有一个旧代码(使用 crypto++ v5.6.1),我在 C# 中开发了一个新代码(使用 System.Security.Cryptography 的.NET 3.5)。我无法更改C++ 代码,但我需要能够解密之前加密的数据,并且之前的应用程序必须能够解密我将使用新的 C# 代码加密的数据。

在这两种情况下使用的算法都是带有CFB密码模式的TripleDES,但最终加密的数据并不相同,字节数和第一个字节一样,但除此之外所有其他字节都不同。

填充是在 C++ 代码中手动完成的(添加零)。所以我将 PaddingValue 设置为 PaddingMode.Zeros。(我还尝试在 C# 代码中手动添加零,它没有改变任何东西)。

我尝试使用不同的 System.Text.Encoding 但结果是相同的(实际上测试的字符是“纯”ASCII(即:0 和 126 之间))。

MandatoryBlockSize() 在 C++ 代码中的值是 8,所以我也将 FeedbackSize 设置为 8。但是如果我理解它,它实际上是我的IV的大小,不是吗?

密钥大小为 24 字节(3 个不同的密钥),IV 为 8 字节长。它们在 2 个代码中都是相同的。

如果我在两种情况下都使用 CBC 模式,则结果是相同的(但是,正如我所说,我无法更改旧代码......),OFB 和 CTS 模式会引发异常(一种不可用,另一种不兼容)在我的 .NET 应用程序上,所以我无法比较结果。

我尝试使用带有 .Net 3.5 和 4.0 版本的 Mono,或者使用带有 .Net 3.5 或 4.0 的视觉,4 个加密结果相同,但与原始结果不同。

现在我真的不知道要测试什么......我宁愿不将 Crypto++ 包装在 C++/CLI 项目中以使用它而不是 System.Security.Cryptography。

有人有什么建议或者可以告诉我我做错了什么吗?

这是 C++ 代码:

这是 C# 代码:

编辑:我尝试直接使用加密器,而不是使用流,我遇到了同样的问题。

0 投票
2 回答
984 浏览

c# - C#字节数组到字符串

我已经阅读了几篇关于这样做的文章,我认为这里有一个变量我没有考虑。

我正在查看别人的代码,他们已经实现了三重加密。他们没有密钥,并且 iv 以字符串的形式存储在某处。仅作为字节数组。

我需要在 C# 之外进行同样的加密/解密调用,所以我试图找出使用的密钥。

我尝试过的事情:

也许其中一个的结果是正确的,但我需要进行另一次转换来对其进行编码?

万一这很重要,我只是尝试通过 ruby​​ 或 node.js 将这些密钥与 openssl 一起使用。

对于它的价值,我还尝试在 ruby​​ 中创建一个字节数组并对它们进行打包,但似乎仍然是错误的结果。

0 投票
1 回答
35395 浏览

java - cipher.getInstance() 的 DESede 和 TripleDES 之间的区别

我正在尝试让 TripleDES 加密在 Java 中工作。在Wikipedia下的文章中Keying Options,我想使用选项 1,其中All three keys are independent.

Cipher 文档中,它说要转到此处的参考指南,但我仍然不清楚。

我正在努力让示例运行,并在不同的项目中使用这两行:

两者都编译得很好,那么有什么区别?我应该使用其中一个吗?这两个都适用于使用三个单独的键吗?

0 投票
1 回答
4827 浏览

c# - 为什么 TripleDES.Create().Key 不是该算法的有效大小?

在我需要使用不同密钥解密文本的情况下,我还需要在后面的代码中生成有效密钥。

我正在使用这条线来生成一个密钥。

但不能在此方法中使用该密钥。它说“指定的密钥不是该算法的有效大小”

我该如何解决这种情况?

0 投票
1 回答
307 浏览

perl - 尝试使用 TripleDES 加密 GWT 客户端和 perl 服务器之间的事务时如何处理密钥?

我有一个 GWT 客户端通过 HTTP 上的 JSON 与 perl 服务器通信。它工作得很好,但有一些隐私问题,我需要加密交易。在做了一些研究之后,似乎最简单/最好的支持选项是使用 TripleDES,客户端使用 gwt-crypto,服务器使用 Crypt:CBC。问题是我不知道如何在两端使用相同的密钥,因为您设置它们的方式似乎完全不同。在 java/gwt 方面,我正在执行以下操作:

在 perl 方面,我正在做:

我尝试了各种密钥方案,但似乎如果我让 gwt 高兴,那么 perl 就不会了,反之亦然。例如,据我所知,以下 perl 应该可以工作,但是当我尝试它时出现“无效密钥”错误:

所以,我想我最终可以弄清楚编码问题,我在跳过箍告诉每一方使用什么键时遇到的麻烦。任何帮助是极大的赞赏。

0 投票
1 回答
2696 浏览

testing - Triple DES 的 ECB、CBC、CFB 和 OFB 模式的测试向量

在哪里可以获得 Triple DES 的 CBC、CFB 和 OFB 模式的测试向量?

请帮帮我。

0 投票
0 回答
830 浏览

java - 加密异常:您尚未安装 Java Cryptography Extension (JCE)

错误:加密异常:您尚未在此 Java 虚拟机中安装 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files

我已经读过要解决这个问题,必须下载 local_policy、US_export_policy jar 并将其放入我所做的 jre\lib\security 文件夹中。我什至覆盖了已经存在的那些。但是错误仍然存​​在。我重新启动 VMware,重新部署应用程序,重新发布,清理但没有帮助。它没有依赖项,因为我的 java se 是 1.7 版本。

除了我已经尝试过的建议之外,还有什么建议可以帮助我解决这个问题吗?

谢谢。

0 投票
0 回答
1232 浏览

c# - 如何在 C# 中包装对称密钥和 IV

是否有用于执行 Triple DES Key Wrap 的现有 .NET API?
文档在这里

我生成了 192 位对称密钥 + 64 位初始化向量 (IV),总共 256 位。

目前,我的代码只加密对称密钥,如下所示:

我使用http://www.w3.org/2001/04/xmlenc#tripledes-cbc作为加密算法。
用于签署 SAML 响应的算法 - http://www.w3.org/2000/09/xmldsig#rsa-sha1
加密密钥传输 - http://www.w3.org/2001/04/xmlenc#rsa-1_5

服务提供商无法解密我的摘要值,直到他们使用对称密钥包装 IV。

预先感谢您的任何帮助!
-嘉莉