问题标签 [signal-protocol]

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 回答
76 浏览

signal-protocol - 同一组中的多个设备可以共享相同的发送者密钥分发消息吗?

这是关于通过信号协议实现群消息的具体问题。

在设备 1 将使用发送者密钥分发消息 (SKDM) 加密的消息发送到许多接收设备后,每个接收设备是否可以使用相同的 SKDM(由设备 1 生成)来加密其传出消息,或者是否具有生成自己的SKDM?

大约一年前,我在这里的信号社区论坛上问了这个问题:https ://whispersystems.discoursehosting.net/t/can-devices-share-sender-key-distribution-messages/1648 ,但没有人回答。

0 投票
0 回答
813 浏览

ios - 如何在新的/现有的 swift 项目中设置信号协议?

我一直在寻找有关Swift.
我浏览了libsignal-protocol-java库,该库可用于Android集成,但没有找到类似的用于iOS.

有没有办法将 Signal Protocol 库集成到现有的 swift 项目中?

0 投票
0 回答
419 浏览

ios - 如何在现有的 .xcodeProj 中导入和使用 libsignal-protocol-c?

我已经完成了一个聊天应用程序,并正在尝试使用 Signal Protocol 为其添加加密。在他们的 Github 页面中,他们说要使用 libsignal-protocol-c。但是我该如何使用它呢?没有吊舱。我应该手动将所有文件添加到项目中吗?代码是 C 语言而不是目标 C 语言。有人能指出我正确的方向吗? https://github.com/signalapp/libsignal-protocol-c

0 投票
0 回答
134 浏览

cryptography - 信号协议中Curve25519中的不同基点?

几天以来我一直在研究Curve25519信号协议。我了解到,通常 Curve25519 使用“9”作为基点,但使用的信号基点是 convert_mont(9)。convert_mont(9) 是使用蒙哥马利私钥作为参数生成扭曲爱德华曲线密钥对的函数。这是为什么?

还提到在文档中

我认为这意味着如果 Ed25519 签名是使用 convert_mont() 计算的,那么它等同于 XEd25519 签名。

如果我必须实现 convert_mont() 那么我如何在 libsodium 中进行空气计算操作,因为我对密码学很陌生。

谢谢。

0 投票
1 回答
448 浏览

ios - 如何在我的 Swift iOS 应用程序中包含 libsignal-protocol-c?

我想import SignalProtocol在我的一个 Swift 文件的顶部写一些东西,然后能够从libsignal-protocol-c调用 C 函数。

libsignal-protocol-c 的自述文件说:“当集成到实际应用程序中时,除了 CMake 之外,您不需要任何东西。或者,您可以使用您选择的构建系统来集成代码。”

我想我想使用Swift 包管理器将 libsignal-protocol-c 集成到我的 Swift iOS 应用程序中。有没有办法从 libsignal-protocol-c 的 CMake 文件中自动生成清单文件,即,Package.swift和模块映射,即文件?module.modulemap或者如果我需要手动创建这些文件,它们应该包括什么?否则,我将如何使用 CMake 做到这一点?

如何在现有的 .xcodeProj 中导入和使用 libsignal-protocol-c?是一个类似的问题,但针对的是 Objective-C 项目。

0 投票
0 回答
409 浏览

skype - 解密 Skype 私人消息

Skype 支持私人消息。看起来它的私人消息是使用信号协议加密的。

我有这个 Skype 私人消息样本,需要解密“内容”。

内容已加密。还有加密密钥。我一直在寻找用于在 c# 中解密内容的 signal-protocol-pcl 包,但无法解密内容。

0 投票
2 回答
170 浏览

e2e-encryption - 如何获取序列化密文消息的类型?

我根据Signal 的文档使用libsignal-protocol-java在消息传递应用程序中实现端到端加密。

假设 Alice 向 Bob 发送一个(成对的)序列化密文消息。Bob 怎么知道如何反序列化它?他不是首先需要知道密文消息的类型吗?我的理解是,成对的密文消息可以是信号消息(WHISPER_TYPE)或预密钥信号消息(PREKEY_TYPE)。那么 Bob 怎么知道它是哪种类型呢?

Alice 是否也应该向 Bob 发送密文消息的类型(作为明文)?

或者 Bob 有没有其他方法可以检测到类型?例如,Bob 是否应该尝试将其反序列化为信号消息,如果失败,则尝试将其反序列化为预密钥信号消息?

0 投票
0 回答
67 浏览

cryptography - 实现双棘轮算法

我正在尝试使用它作为我的指南从头开始实现双棘轮算法,但是我不是加密专家,因此有些事情还不清楚:

  1. 该指南引用了“根键” RK,并将 a 的输出DH作为函数的参数KDF_RK(rk, dh_out),但我需要知道这个根键是什么以及第一次必须如何初始化它。
  2. 我看到了,KDF_RK(rk, dh_out) 并且KDF_CK(ck)基于 HKDF 加密函数:有人可以画图让我更好地理解这些函数是如何工作的吗?以伪代码方式模拟 Alice 和 Bob 之间的典型执行就足够了。

谢谢

0 投票
0 回答
355 浏览

react-native - 是否有任何库可以让本地反应在像 Signal 协议这样的聊天中实现端到端加密?

我正在尝试使用 react native、nodejs 和 mongodb 构建一个实时聊天应用程序。我已经构建了常规聊天应用程序,但我需要添加端到端加密 (E2EE)。我尝试使用由 Signal Messenger 构建的 libsignal-protocol javascript 库(libsignal-protocol),但该库不适用于 react native,因为它需要通过 index.htm 文件作为脚本导入。我试图通过 NPM 安装,但它给出了导入错误。现在我需要一个库来在我的 react native 应用程序中实现 E2EE。任何建议将不胜感激。谢谢。

0 投票
0 回答
100 浏览

ios - React Native 致命错误:在 XCode 12.5.1 上找不到“folly/Portability.h”文件

当我尝试运行代码时,它从 SignalProtocolC 给出如下错误。

在 /Users/tsuser/Desktop/user/MyProject/MyProject-MOBILE/ios/Pods/SignalProtocolC/src/curve25519/ed25519/tests/internal_slow_tests.c:10 中包含的文件中:/Users/tsuser/Desktop/user/MyProject/ MyProject-MOBILE/ios/Pods/Flipper-Folly/folly/synchronization/Utility.h:19:10:致命错误:找不到“folly/Portability.h”文件

这在 xcode 更新之前工作正常。我在堆栈溢出中查看了其他类似的问题。但所有人都在为旧版本提供解决方案,这些旧版本在 xcode 12.5.1 中无法解决问题。我尝试的答案之一是在以下链接中。

https://stackoverflow.com/a/57709111/10722603