问题标签 [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 投票
2 回答
1414 浏览

javascript - 如何使用椭圆曲线 Diffie-Hellman 与 JS 中的 SJCL 和 Ruby 中的 OpenSSL

使用 Elliptic-Curves Diffie-Hellman,我想连接客户端上的 SLCL - JS (文档)和服务器上的 OpenSSL - Ruby (文档)

我在这里找到了一个类似的问题,但它并没有真正得到正确的回答,而且它也不是我真正想要的,因为它使用了sjcl.ecc.elGamal.generateKeys(384, 10),而我希望使用sjcl.ecc.curves['c384']<- NIST

尽管如此,我仍然使用并修改了他的代码来测试,因为我在使用sjcl.ecc.curves['c384']生成单个公共点密钥时遇到了问题,这就是我想出的。

这输出到

使用 ruby​​ 的输出:

当使用上面 [(link)] ( https://www.ruby-forum.com/topic/3966195 )中的原始代码时,此“放置”如下所示

应该是这样,但以防万一这是我的测试

但是比较上面的工作和不工作,似乎小数位数的总数是相同的,所以我认为我有点走上正轨,但我真的无法解决。

对于那些可能遇到此类问题的人,这些是我的参考代码(1) (2) (3) (4) (5)

我被困在这两天了,网上似乎没有太多关于这方面的文章,而且我找不到任何其他支持椭圆曲线的 JS 库。任何帮助将非常感激。

0 投票
2 回答
997 浏览

javascript - SJCL 和 java Bouncy Castle RSA 之间的加密兼容性

我正在开发一个使用 RSA 加密的 android 应用程序。

我可以从我的服务器上获取我的私钥和我的朋友的公钥。

私钥是这样的:

使用此密钥,我需要解密从我的服务器接收并已由 javascript 库 (SJCL) 加密的消息。我还需要对消息进行加密,以便能够使用 javascrypt 库对其进行解密。

现在我已经这样做了:

现在我明白了:

javax.crypto.IllegalBlockSizeException:输入必须小于 96 字节

0 投票
2 回答
6770 浏览

java - 在 Android 应用程序中使用 JavaScript 库

我想在我正在构建的 Android 应用程序中使用SJCL库。问题是 SJCL 是一个 javascript 加密库。我是 Android 开发的新手,我想知道如何在我的项目中使用该库。

我要做的是散列一个人的用户名和密码,并解密我从服务器得到的任何响应,这就是我想使用 SJCL 的原因。如果有人对如何做到这一点有任何见解,那就太好了!

0 投票
1 回答
150 浏览

javascript - 为 SJCL 生成一个在一段时间后自动过期的密钥?

我想在客户端加密和解密数据,因为我正在使用 SJCL 库,但我希望我的密钥在预定时间后过期,所以我的问题是 -

  1. 是否可以在使用 SJCL(或任何其他库)时生成这样的密钥,

  2. 如果是的话怎么办?前提是必须在客户端仅在没有任何服务器交互的情况下拆除密钥?

任何帮助是极大的赞赏。谢谢

0 投票
1 回答
1395 浏览

javascript - Crypto - SJCL (javascript) 加密与 OpenSSL 兼容吗?

我正在尝试解密一些已使用SJCL (Stanford Javascript Crypto Library)加密的信息。示例页面位于http://bitwiseshiftleft.github.io/sjcl/demo/

如果我加密了一些数据,我无法使用OpenSSL(版本 1.0.1f)对其进行解密。我在 stackoverflow 上看到了另一个问题,询问这个问题 - 但那个问题及其答案并没有真正帮助。

例如,使用“password”密码和“6515636B 82C5AC56”的随机盐和 256 位密钥大小的 10000 次迭代进行加密,得到“D8CCAA75 3E2983F0 3657AB3C 8A68A85A 9E9F1CAC 43DAB645 489CDE58 0A9EBDAE”的密钥,这正是使用 OpenSSL。到目前为止,一切都很好。

当我使用带有此密钥的 SJCL 和“9F62544C 9D3FCAB2 DD0833DF 21CA80CF”的 IV 来加密消息“mymessage”时,我得到了密文

但是,无论我如何修改或重写我的OpenSSLC++ 代码,我都无法解密这些数据。我用谷歌搜索并找到了一些代码示例,但没有任何实际工作。我知道我需要CCM在 OpenSSL 中使用密码模式——但这种模式的文档记录很差。任何人都可以发布一些 OpenSSL 代码来成功解密这些数据吗?

0 投票
1 回答
589 浏览

c# - Int Array 到 C# 中的 Base64 就像 sjcl.codec.base64.fromBits 一样

在 JavaScript 中,这样做:

返回“Ph3ngZu6sm6oy5G1bVb35A==”,但在 C# 中执行此操作:

Return "gecdPm6yupu1kcuo5PdWbQ=="
为什么结果不同,我该怎么做才能获得与 JavaScript 相同的结果?

0 投票
1 回答
217 浏览

encryption - ECC 和 SJCL ,生成一个自动过期的密钥

我已经在这里问了一个类似的问题,但我以不同的方式问它并做了一些改变。现在我的问题是。是否可以在服务器端有一个公钥,通过它我可以加密消息并在客户端有一个私钥,我可以用它来解密消息,并且这个私钥必须在给定的时间段后自动过期(或者必须以其他方式确保如此安全)?

所以有可能吗?如果是,如何?

前提是我现在正在使用 SJCL(尽管我没有任何限制,但我觉得它还不错)。

任何帮助是极大的赞赏。

0 投票
1 回答
336 浏览

java - 服务器端加密(使用java)和客户端解密(使用任何javascript加密库)

我想在客户端解密来自用java加密的服务器端的数据(使用非对称密钥),但我不知道它将如何工作?我需要在服务器端使用一些 jar 或其他东西吗?将使用哪些方法 需要提供哪些参数?基本上我不知道从哪里开始?

任何人都可以为我提供任何想法或任何工作演示或任何链接如何以及从哪里开始?

任何帮助将不胜感激。

0 投票
1 回答
893 浏览

javascript - 从 javascript 访问 IndexedDB 作为文件以对其进行加密

我在我的 angular webapp 中创建了一个带有 pouchDB 的 indexedDB。每次我关闭我的应用程序时,我都希望能够加密这个数据库文件。所以我有了用SJCL加密数据库文件的想法。只有当用户可以插入正确解密的密码时,才能访问我的 Web 应用程序。

所以我的第一个问题是如何在 javascript 中访问 indexedDB 文件,以便加密/解密整个文件?其次,您如何看待这种加密/解密文件的想法?

谢谢

0 投票
0 回答
926 浏览

java - 用javascript在客户端解密?

我在客户端获得了一个加密文本,该文本已在服务器(使用 java)使用 AES-256 位和 SHA-256(2048 位)加密,我不知道如何解密它。(假设我在客户端有一个密钥,该密钥已在服务器端用于加密目的,并且我正在使用对称密钥加密)。

我为此使用 SJCL 并尝试了此代码

但它给出了错误

“json解码:这不是json!”

如果您可以建议任何其他库(连同代码会更好)。

任何帮助将不胜感激。

编辑-

是的,我使用 SHA-256 作为 AES-256 的密钥,但更进一步,我不会使用 SHA-256,所以现在我只需要关于如何解密已用 AES-256 加密的数据的答案。

编辑-

我尝试使用 pidcrypt,因为我尝试解密的数据是使用 sjcl 没有但 picrypt 的 cbc 模式加密的,我尝试了以下代码

但它返回null(没有错误),你猜这有什么问题?