问题标签 [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.
security - 一种以上加密算法的组合
我正在考虑以下内容:我有一些数据流,我想尽可能地保护它们——应用一些 IV 的 AES,然后是一些 IV 的 Blowfish,最后再应用一些 AES 是否有意义四?
加密/解密过程将被隐藏(甚至可以防止调试),因此很难猜测使用了哪种加密方法和什么 IV(但是,我知道这个加密链的力量不能依赖关于这个事实,因为每个针对调试的保护在一段时间后都会被破坏)。
我有这方面的计算机能力(数据量不是那么大)所以问题只是它是否值得实施。例如,TripleDES 的工作方式非常相似,使用三个 IV 和加密/解密/加密方案,因此它可能并非完全是胡说八道。另一个问题是,当我对第 1 部分和第 3 部分使用相同的 IV,甚至对所有三个部分使用相同的 IV 时,我会降低多少安全性?
我欢迎有关此主题的任何提示
linux - Linux/POSIX 中 Windows rand_s 的最佳替代品是什么?
问题不在于随机性本身(我们有 rand),而在于加密安全的 PRNG。什么可以在 Linux 或理想的 POSIX 上使用?NSS有什么有用的吗?
澄清:我知道 /dev/random,但它可能会用完熵池。而且我不确定 /dev/urandom 是否保证在加密上是安全的。
c++ - 在 C++ 中处理分组密码的最佳方法是什么?(加密++)
我对 C++ 和 Block Cipher 加密都很陌生,我目前正在为 AES(16 字节种子/16 字节块)编写解密函数。一切进展顺利,但我的总数据大小并不总是我的块大小的倍数。我想知道在数据末尾处理剩余数据的最佳方法是什么。
我将 Crypto++ 用于 AES 库。
该ProcessBlock()
函数采用输入和输出字符数组。我假设它期望它们至少足够大作为块大小。
在分组密码中处理所有 16 字节块的最佳方法是什么,然后还处理剩余数据?
cryptography - 填写表单的 Web 应用程序是否有电子签名的标准实现?
我有一位客户有兴趣在冗长的(40 个问题)卖方申请表中添加电子签名支持。我对是否存在金融界人士期望看到的现有标准或流程感到有些困惑?
我当然可以添加一个系统,我们根据他们的回复生成一堆文本,让申请人用他们的私钥签名并上传公钥——但这似乎对人们提出了很多要求。这些天来,非书呆子甚至安装了 PGP 吗?
有没有标准的方法来解决这个问题?任何在金融界工作的人都做到了这一点并且运作良好?
python - Python 的 Crypto/X509 证书解析库
任何推荐的 Python 加密库。我知道我在x509 certificate parsing libraries for Java中问过类似的问题,但我应该将问题一分为二。
我需要的是解析 X.509 证书以提取其中包含的信息的能力。
环顾四周,我发现了两个选择:
- Python OpenSSL 包装器 ( http://sourceforge.net/projects/pow )
- pyOpenSSL
在这两者中,pyOpenSSL 似乎是最“维护”的,但我想对可能有使用它们经验的任何人提供一些反馈?
c - 填充 - 加密算法
我正在编写适用于“流”的 XXTEA 加密算法的实现,即可以像这样使用:crypt mykey < myfile > 输出。
必要条件之一是它根本无法访问文件(它只读取固定大小的块,直到找到 EOF)。该算法需要数据字节是 4 的倍数,因此需要添加一个填充。
对于纯文本,一个好的解决方案是填充 NULL,在解密时忽略 NULL,但相同的策略不能用于二进制流(可以包含嵌入的 NULL)。
我已经阅读了常见的解决方案,比如用丢失的字符数填充(如果它错过了 3 个字符,然后在末尾附加一个 3、3、3)等等,但我想知道:有更优雅的解决方案吗?
algorithm - 求DES算法教程
我正在学习密码学,但不知何故我一直在理解 DES 的工作原理。因为它已经存在了很长时间,所以应该有很好的教程,比如精美的图表、视频等。我搜索但没有运气。有没有人发现大脑“容易消化”的东西?
security - 如何以数字方式“签署”文档
我不喜欢纸质文件。我喜欢存储在服务器上的所有内容。如果可能,我想避免打印、签名和扫描。
我如何从人们那里获得签名以在表格上签字并仍然保持数字化?
签署的目的是证明某些部门已经确定了文件。这些人中的大多数都是非技术人员。
理想的情况是每个人都打开文档并输入他们的姓名并关闭文档。问题是我怎么知道弗雷德没有签下拉尔夫。
security - 安全、密码学:愚蠢的挑战 - 响应协议?
好吧,伙计们只是一个小游戏:
我有一个项目的一些规范。在某些时候,他们要求以下内容通过网络加密密码,称这是一个质询响应协议:
对于那些不知道它的人来说,SHA 代表 Secure Hashing Algorithm,一种加密的标准算法。
我希望这很清楚。问题是:如果我嗅探数据包 2 和 3(“挑战”和“挑战异或密码”,我确实有实际密码,只是它们之间有另一个异或!?!?还有其他方法可以实现这种协议??
.net - 为什么我的 .net 计算的 MD5 哈希值不等于在网站上计算的哈希值?
我正在尝试在 JavaScript 和 .Net 中生成等效的 MD5 哈希。也没有这样做,我决定使用第三方计算 - 这个网站的“密码”一词。我稍后会添加盐,但目前,我无法让 .net 版本与网站的哈希匹配:
我猜这是一个编码问题,但我已经尝试了大约 8 种不同的方法来计算 .Net 中的 MD5 哈希,但没有一个与我在 JavaScript(或从网站)中获得的结果相匹配。这个MSDN 示例是我尝试过的方法之一,它产生了我通常收到的这个哈希:
编辑:可悲的是,我不小心为两种不同的实现提供了不同的源字符串。埃布萨克。:-/ 仍然有兴趣听听您对后续行动的回答。
额外的问题:哪种编码/格式最适合在数据库中存储散列值?