问题标签 [sjcl]

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 投票
1 回答
1397 浏览

ruby - Ruby 中的 SJCL AES-128-CCM 解密

我正在尝试在 Ruby 中实现 aes-128-ccm 加密字符串的 SJCL 解密。在阅读了一个类似的问题后,我发现更新版本的 OpenSSL 库应该支持这一点,所以我已经将开发版本从 github 安装到 /opt

执行此操作后,当我运行 /opt/bin/openssl 密码时,我在列表中看不到 aes-128-ccm 密码:

但是如果我运行 /opt/bin/openssl enc -help 2>&1 我会看到“-aes-128-ccm”:

我使用以下命令重新安装了 ruby​​ 2.0.0p0 和 rvm:(rvm reinstall 2.0.0 --with-openssl-dir=/opt在上述文章中给出)。然后跑了cipher = OpenSSL::Cipher.new('aes-128-ccm')。返回以下错误:

我的问题是如何在 Ruby 中添加对 AES-128-CCM 的支持/我在这里做错了什么?

0 投票
2 回答
18940 浏览

javascript - 好的斯坦福 Javascript 加密库 (SJCL) 示例?(JS密码学)

我正在寻找一种在 Javascript 中进行客户端加密的方法(牢记http://www.matasano.com/articles/javascript-cryptography/)并找到了 SJCL。但我似乎无法为它找到好的代码示例。任何指针?

0 投票
1 回答
1389 浏览

javascript - RNCryptor IOS + Javascript加密/解密AES 256

我是加密新手,我正在尝试通过 websockets 将一些对称加密使用 AES256 从移动应用程序传输到网页。

I 使用 RNCryptor 默认设置加密数据

IOS代码

这是通过 websocket 输出的输出 AgEBnXPPvAkJb7YVapwCVNd5SQw4JwqU7BfLsEXNZyKy9SazfJT8w16Y/hYY7aKxuz3Kuy2tAXXX/cHCc3PMhvG+fzSfrslRVMKvD6L+oWvXLg==

JAVASCRIPT 代码 - 我收到消息并尝试解析并显示它

由于某种原因,代码在生成密钥时卡住了(可能 10k 次迭代对于 CryptoJS 来说太多了???这就是 IOS 上使用的迭代)

我已经尝试了很多不同的东西,输出是垃圾,我实际上并没有解密消息。任何帮助将不胜感激。如果您要推荐 SJCL,请提供一些代码。RNCryptor 使用自己的消息格式。我使用它是因为它提供了随机静脉注射。如果您也知道任何图书馆,请推荐一个不同的图书馆。

谢谢阅读。

0 投票
2 回答
15326 浏览

javascript - Google 电子表格:使用 Google Apps 脚本加密单元格内容

我有一个谷歌电子表格,想加密几个单元格的内容(我不在乎使用哪种加密方法,只要有适用于 iOS 的等效解密方法)。

不幸的是,Google Apps Script 中没有内置加密功能。

出于这个原因,我想使用像Crypto-JSsjcl这样的开源 Javascript 库。

如何将这些库之一与 Google Apps 脚本一起使用?

在 Google Apps 脚本文档中,我没有找到任何关于如何将外部 JavaScript 库与我的 Google Apps 脚本一起使用的线索。

0 投票
1 回答
751 浏览

javascript - SJCL 加密结果错误的文件大小

我已经在我的一个应用程序中成功实现了 Rob Napier 的 iOS AES 加密方法。我现在希望能够使用我的 JavaScript 实现加密和解密该应用程序中的文件。我正在使用 FileReader 从用户那里获取本地信息并加载它

完成此操作后,文件将使用斯坦福 JavaScript 加密库进行加密,最后可以下载加密文件:

问题是加密文件比原始文件大得多。在我的 iOS 实现中情况并非如此,它工作得很好。当然,它不能毫无错误地解密。事实上,生成的文件将有 0 个字节的大小。

我希望有人可以向我指出我的代码中的错误。那真的很棒。

@邓肯:

谢谢你。我对此进行了调查,但我不确定我必须采取的所有步骤。尤其是它们在代码中的含义。也许有人可以在这里帮助我。非常感谢!

加密

  1. 生成随机加密盐
  2. 使用 PBKDF2 生成加密密钥(请参阅您的语言文档了解如何调用它)。将密码作为字符串、随机加密盐和 10,000 次迭代传递。
  3. 生成随机 HMAC 盐
  4. 使用 PBKDF2 生成 HMAC 密钥(请参阅您的语言文档了解如何调用它)。将密码作为字符串、随机 HMAC 盐和 10,000 次迭代传递。
  5. 生成随机 IV
  6. 使用加密密钥(上图)、IV(上图)、AES-256 和 CBC 模式加密数据。这是几乎所有 AES 加密库的默认模式。
  7. 将您的标头和密文以及 HMAC 密钥(上图)和 PRF“SHA-256”(有关 PRF 函数的名称,请参阅您的库的文档;这也可能称为“SHA- 2, 256 位”)。
  8. 按照上面给出的格式将这些元素放在一起。
0 投票
0 回答
291 浏览

javascript - 从数据库中读取 SJCL 内容是否需要为 json_encode(d)?

概述

我正在尝试加密数据,将其发送到数据库,然后使用斯坦福 Javascript 加密库 (SJCL) 解密数据。

问题

每当我尝试从数据库中调用数据时,都会收到“CORRUPT: ccm: tag doesn't match”错误。我查了一下,似乎我的内容或密码已损坏,并且由于密码直接来自文本框,因此我已将其范围缩小到内容。

代码片段

(PHP)

(Javascript)-调用 SJCL-

任何和所有的帮助表示赞赏,在此先感谢!

0 投票
2 回答
1825 浏览

javascript - 如何使用 SJCL 解密 AES

我想通过给定的密码和使用斯坦福 Javascript 加密库 (SJCL) 的密钥来解密 AES,但我无法传递密钥:

这行不通。参考文档,键必须是“4、6 或 8 个单词的数组”。

怎么可能做到这一点?

0 投票
1 回答
420 浏览

javascript - 如何使用 256 位密钥在 SJCL 中解密

我是 SJCL 加密库的新手,我正在执行以下操作以使用 256 位密钥加密纯文本

但我无法解密相同的密码,我想知道如何解密这个密码。

0 投票
3 回答
4111 浏览

javascript - 如何在 SJCL 中实现公钥/私钥加密?

我使用斯坦福 Javascript 加密库 (SJCL)进行对称 AES 加密(基于他们演示页面上的示例)。但是,我还有一个额外的要求是生成一个密钥对,用公钥加密数据,用私钥解密数据。一些类名表明这在 SJCL 中可能是可能的,但我想知道是否有人可以提供一个示例来说明它是如何完成的。在这个阶段我不关心私钥存储,只关心内存中的生成和公钥/私钥对的使用。

如果不可能,我会对涵盖 AES 和公钥密码学的替代库的建议感兴趣 - 但我知道这是我可以自己研究的东西!所以主要是我很想知道我开始使用的库是否可以满足我的所有需求,或者我是否需要寻找替代方案。

0 投票
1 回答
956 浏览

javascript - Javascript 加密 SJCL GCM 没有解密我加密的内容

我目前正在尝试使用 SJCL,但在加密/解密方面遇到了问题。由于缺乏好的例子,我想出了你在下面看到的,但它不起作用。谁能指出我做错了什么?提前致谢。