HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
signalapp
libsignal-protocol-c
C2016–2021
signalapp / libsignal-protocol-c · Archived

libsignal-protocol-c

Discover this repository through its Hacker News conversations.

10Distinct people
10Mentions
0Explicit recommenders
1.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year10 dated mentions

Observed mentions: 2016-05-18 21:00:32 UTC to 2021-10-01 16:24:24 UTC.

0123452016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC505
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

What Hacker News says

10 sources
The whitepaper at [1] is more impressive than I expected it to be, not for what is built today (which on a quick read appears to be rather unexciting), but for the class of attacks recognised as unsolved, and identified as requiring future work. Improvements identified include: 1) Encrypted messages should have a constant size (padded). Note that the Signal protocol used by Session currently uses variable length messages[2]. 2) Encrypted messages should be sent as noise by clients through the onion network and back to themselves at random intervals frequent enough that messages to/from other parties are statistically indistinguishable to an eavesdropper from the noise generated. 3) Intermediate nodes in the onion network should hold and delay encrypted messages so they are adequately mixed before being sent forward. This makes it statisti
Read the rest
cally difficult for an eavesdropper to match up a message entering a node and a message leaving a node. Ideally messages would be mixed across enough nodes of the onion network that to an eavesdropper, the full list of possible destinations is equal to the total number of clients on the network. 4) Proof of work should be replaced with a better technique for preventing degradation of service or spam attacks. The paper quite rightly identifies that proof of work would favour Eve who has setup a data center filled with custom ASICs solving proof of work problems, rather than favouring Alice or Bob with an energy efficient mobile phone SoC. CAPTCHAs are identified as a possible future solution to this class of attacks. I doubt those improvements would have much application outside of labs and experiments though. Unless a significant part of the global economy surprisingly becomes dependent on a traffic analysis resistant anonymising protocol, it is too easy to just block such protocols similar to what China does with its Great Firewall. [1] https://arxiv.org/pdf/2002.04609.pdf [2] https://github.com/signalapp/libsignal-protocol-c/blob/maste...
In Session Encrypted Messenger
Yes, and Telegram being open allows us to confirm with absolute certainty that it uses no E2EE by default. We don't have the WhatsApp source code, but we don't have to do a lot of reverse engineering to see that it uses this: https://github.com/signalapp/libsignal-protocol-c But yeah, you're right, it could be sending plaintext or deliberately leaking keys somewhere. Unless someone really reverses it we won't know it doesn't as surely as we know that Telegram doesn't use encryption at all.
In WhatsApp sends Cease and Desists for apps that use native Android APIs
They target different things. Serde is something that simply serializes data into common text based or binary based format. But there's been some innovation done to make that even more efficient. It started with protocol buffers[1]. So you can then basically write .proto files which are based on protocol buffers' own schema[2] which look like this[3]. What's special about these schemas is that they can be strongly typed, and then after a schema is written, which is a .proto file (in case of protocol buffers), code for any language can be generated to receive and parse the binary encoded message properly, with proper error checking. This avoids re-writing code in different languages if a RPC protocol is changed. It also offers other advantages and you can look into the docs for that. Then, the author of protocol buffers left Google and cre
Read the rest
ated something called Capnproto[4], which improved on it in many ways. Now, what I linked to is a rust program supporting capnproto's own schema[5] [1]: https://developers.google.com/protocol-buffers/ [2]: https://developers.google.com/protocol-buffers/docs/proto3 [3]: https://github.com/WhisperSystems/libsignal-protocol-c/blob/... [4]: https://capnproto.org/ [5]: https://capnproto.org/language.html
In Serde 1.0.0 for Rust released
MTProto isn't considered secure[0], so I'd rather trust someone (Moxie) who actually developed open source encryption[1] that is considered secure. I'm not blindly following Moxie here but I'd argue that it's in his own interest to only verify correct claims - reputation is your CV in cryptography. Someone actually cracking WhatsApp would be a serious issue for OpenWhisperSystems. [0] https://security.stackexchange.com/questions/49782/is-telegr... [1] https://github.com/WhisperSystems/libsignal-protocol-c
In Show HN: Telegram bot with filters to read Hacker News
So, https://github.com/WhisperSystems/libsignal-protocol-c is GPL3. If I implement haskell-signal and consult documentation and the code to understand the protocol but do not copy code, it's not clean room, but Open Whisper wants to see the protocol spread, so it's in their interest to more clearly state how someone is allowed to reimplement Signal in Common Lisp or FORTH, if one were so inclined, and release it under MIT.
In Open Whisper Systems Partners with Google on End-To-end Encryption for Allo

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.