问题标签 [cryptography]

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 投票
10 回答
85198 浏览

delphi - 如何用 Delphi 散列一个字符串?

如何使用 Delphi 对字符串进行 MD5 哈希?

0 投票
7 回答
23699 浏览

encryption - 我应该在加密的同时使用初始化向量 (IV) 吗?

是否建议我使用初始化向量来加密/解密我的数据?它会让事情更安全吗?这是需要逐案评估的事情之一吗?

为了将其置于实际上下文中,Win32 加密函数CryptSetKeyParam允许在加密/解密之前在密钥上设置初始化向量。其他 API 也允许这样做。

一般推荐什么,为什么?

0 投票
2 回答
1164 浏览

cryptography - 我有 P & G——如何使用 Wincrypt API 生成 Diffie-Hellman 密钥对?

这里有一篇 MSDN 文章,但我并没有走得太远:

在这里失败NTE_BAD_DATA。我正在使用MS_DEF_DSS_DH_PROV. 是什么赋予了?

0 投票
1 回答
1676 浏览

cryptography - 我正在为 Diffie-Hellman 使用 Wincrypt——我可以以纯文本格式导出共享密钥吗?

好的——感谢Mike,我能够让 Wincrypt 生成一个 Diffie-Hellman 密钥对。我想通了导出公钥,以及如何导入对方的公钥。根据文档,在导入对方的公钥后,共享的秘密就被计算出来了。伟大的。

我现在需要掌握那个共享的秘密,但我认为这是不可能的。除非我调用将算法 id 从更改为其他类型,否则只需调用失败CryptExportKey类型即可。但我不想要别的东西,我想要共享的秘密。然而,API 似乎旨在阻止这种情况。PLAINTEXTKEYBLOBCryptSetKeyParamCALG_AGREEDKEY_ANY

有什么想法吗?我应该注意到这里的问题是我只写了 WiFi 保护设置实现的一个方面。所以协议是为我定义的,对方没有给我HCRYPTKEYs。

0 投票
7 回答
5059 浏览

random - 非安全随机数生成器和安全随机数生成器有什么区别?

正如标题所说:非安全随机数生成器和安全随机数生成器有什么区别?

0 投票
2 回答
830 浏览

c# - 在 C# 中枚举证书字段

您如何枚举商店中证书帮助的字段。具体来说,我正在尝试枚举颁发给登录用户的个人证书的字段。

0 投票
15 回答
8814 浏览

hash - 防止重复使用信用卡的最佳方法

我们有一个系统,我们希望防止为两个不同的帐户注册相同的信用卡号。由于我们没有在内部存储信用卡号 - 只是最后四位数字和到期日期 - 我们不能简单地比较信用卡号和到期日期。

我们目前的想法是在信用卡注册时在我们的信用卡信息系统中存储一个哈希值(SHA-1),并比较哈希值以确定一张卡之前是否被使用过。

通常,使用盐来避免字典攻击。我假设在这种情况下我们很容易受到攻击,所以我们可能应该将盐与哈希一起存储。

大家觉得这个方法有什么缺陷吗?这是解决这个问题的标准方法吗?

0 投票
6 回答
1096 浏览

c - 优化伽罗瓦域算术中的 y = x*x

我有这个 C 代码可以对 GF(8) 进行乘法运算:

这或多或少是教科书的实施。

我想知道如果我可以断言a 总是b,我是否对上述算法有一个聪明的优化,例如我做平方而不是乘法。顺便说一句,我不是在加密使用之后。我只想利用 GF(8) 中的 x*x 将 x 的位与零位一一交错的事实。

已经有非常聪明的方法来进行位交织,但是因为我发现 GF(8) 中的 x*x 做了位交织的事情(偶然)我不能停止尝试将它用于位交织优化。

有任何想法吗?

0 投票
19 回答
4874 浏览

security - 在编写自己的密码学方法时,您使用了哪些技术?

多年来,也许是 10 年,我一直对密码学着迷。我读了一本关于基于 XOR 位的加密的书,从那以后就迷上了。

我想更公平地说,我对那些可以破解各种加密方法的人着迷,但我离题了。

直截了当——你在编写密码学时使用什么方法?混淆在密码学中好吗?

我使用两个基于密钥的 XOR 加密、密钥上的各种散列技术 (SHA1) 以及简单的东西,例如在这里和那里反转字符串等。

我很想看看其他人在编写一种不那么开箱即用的加密方法时的想法和尝试。此外——任何关于专业人士如何“破解”各种密码技术的信息也会很有趣。

澄清一下——我不想在任何生产代码或我的任何代码中使用它。我很感兴趣通过玩弄而不是重新发明轮子来了解它是如何工作的。:)

伊恩

0 投票
3 回答
4317 浏览

c# - 即使使用相同的密钥,加密输出也总是不同

我正在尝试将密码存储在我想稍后检索的文件中。哈希不是一个选项,因为我需要密码以供以后连接到远程服务器。

以下代码运行良好,但即使密钥相同,每次都会创建不同的输出。这很糟糕,因为当应用程序关闭并重新启动时,我将无法再检索我的密码。如何将密码存储在文件中并稍后检索?