awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
signalapp avatar

signalapp/libsignal

0
View on GitHub↗
5,847 stars·738 forks·Rust·AGPL-3.0·24 views

Libsignal

libsignal is a cryptographic library that implements the Signal Protocol, providing the core primitives for end-to-end encrypted messaging with forward secrecy and deniable authentication. It includes the Double Ratchet algorithm for iteratively deriving fresh encryption keys per message, and the X3DH key agreement protocol for establishing shared secrets between parties asynchronously. A session state machine maintains cryptographic state across message exchanges, supporting recovery and out-of-order delivery.

The library extends beyond basic messaging encryption with capabilities such as zero-knowledge proof group membership verification, which allows confirming a user's group membership without revealing the full group roster. It also supports hardware attestation verification to validate the identity and integrity of remote hardware security modules, and provides for secure device migration—transferring account data from one device to another while preserving encryption keys.

Additional scope includes a Rust C FFI bridge that exposes cryptographic functions as a cross-platform API, enabling integration from multiple programming languages without rewriting core logic. The library covers end-to-end encryption, group membership verification, and device migration security as distinct capability areas.

Features

  • Cryptographic Protocols - Implements the Signal Protocol to provide cryptographic primitives for secure messaging with forward secrecy and deniable authentication.
  • Cryptographic State Machines - Maintains cryptographic state across sessions with a state machine supporting recovery and out-of-order delivery.
  • End-to-End Encrypted Messaging Frameworks - Provides fresh encryption keys for each message to ensure forward secrecy and future secrecy in messaging applications.
  • End-to-End Encryption - Provides fresh encryption keys for each message to ensure forward secrecy and future secrecy.
  • End-to-End Encryption Protocols - Derives fresh encryption keys for each message to ensure forward secrecy and break-in recovery.
  • Asynchronous Key Agreements - Implements the X3DH key agreement protocol for establishing shared secrets asynchronously between parties.
  • Key Derivation Protocols - Derives fresh encryption keys for each message to maintain forward secrecy and break-in recovery.
  • Ratchet Protocols - Implements the Double Ratchet algorithm for iteratively deriving fresh encryption keys per message.
  • Hardware Attestation Verifiers - Ships hardware attestation verification for validating remote hardware security module identity and integrity.
  • Private Membership Verifications - Confirms group membership without revealing the full group composition using zero-knowledge proofs.
  • Cross-Platform Cryptographic Primitives - Exposes cryptographic primitives as platform-independent interfaces for consistent security logic across platforms.
  • Hardware Identity Attestations - Verifies identity and integrity of remote hardware security modules using cryptographic attestation.
  • Secure Device Migrations - Transfers account data securely between devices during migration while preserving encryption keys.
  • Group Membership Proofs - Implements zero-knowledge proof group membership verification to confirm membership without revealing the group roster.

Star history

Star history chart for signalapp/libsignalStar history chart for signalapp/libsignal

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Libsignal

These projects share indexed features with Libsignal. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • signalapp/signal-desktopsignalapp avatar

    signalapp/Signal-Desktop

    16,376View on GitHub↗

    Signal-Desktop is a cross-platform messaging application that provides end-to-end encrypted communication. It implements the Signal Protocol to secure messages and voice calls, ensuring that only intended recipients can access content. The application manages asynchronous key exchange and session initialization to maintain secure communication channels between parties who are not online simultaneously. The project distinguishes itself through advanced cryptographic protections, including hybrid post-quantum security that combines classical elliptic curve cryptography with lattice-based algori

    TypeScript
    View on GitHub↗16,376
  • signalapp/signal-androidsignalapp avatar

    signalapp/Signal-Android

    28,964View on GitHub↗

    Signal-Android is an end-to-end encrypted messaging platform designed to ensure that only the sender and recipient can access communication content. The project provides a comprehensive framework for secure, asynchronous message initiation and key agreement, allowing users to establish private channels without requiring simultaneous online presence. It relies on a state machine architecture to manage communication epochs and authentication, ensuring consistent security transitions throughout the messaging lifecycle. The platform distinguishes itself through a hybrid cryptographic approach tha

    Kotlin
    View on GitHub↗28,964
  • signalapp/signal-iossignalapp avatar

    signalapp/Signal-iOS

    12,137View on GitHub↗

    Signal-iOS is an encrypted messaging client that provides secure communication for voice calls, media, and text. It functions as a complete implementation of the Signal Protocol, utilizing end-to-end encryption to ensure that only intended recipients can access transmitted data. The application distinguishes itself through the integration of advanced cryptographic standards, including the use of elliptic curve cryptography for identity verification and digital signature validation. It employs a double ratchet key exchange mechanism to rotate encryption keys for every individual message, ensur

    Swift
    View on GitHub↗12,137
  • telegramdesktop/tdesktoptelegramdesktop avatar

    telegramdesktop/tdesktop

    32,099View on GitHub↗

    This project is a cross-platform messaging client that implements a secure, real-time communication protocol. It provides a comprehensive development toolkit, including a database library and messaging SDK, which allows for the creation of custom messaging applications that maintain synchronized state across multiple devices. The core architecture relies on an asynchronous event-driven model to ensure responsive performance while managing persistent local database synchronization with server-side state. The client distinguishes itself through a robust end-to-end encryption layer that supports

    C++messengermulti-platformtelegram
    View on GitHub↗32,099
Compare all 30 related projects→

Frequently asked questions

What does signalapp/libsignal do?

libsignal is a cryptographic library that implements the Signal Protocol, providing the core primitives for end-to-end encrypted messaging with forward secrecy and deniable authentication. It includes the Double Ratchet algorithm for iteratively deriving fresh encryption keys per message, and the X3DH key agreement protocol for establishing shared secrets between parties asynchronously. A session state machine maintains cryptographic state across message exchanges,…

What are the main features of signalapp/libsignal?

The main features of signalapp/libsignal are: Cryptographic Protocols, Cryptographic State Machines, End-to-End Encrypted Messaging Frameworks, End-to-End Encryption, End-to-End Encryption Protocols, Asynchronous Key Agreements, Key Derivation Protocols, Ratchet Protocols.

Which projects share features with signalapp/libsignal?

Projects with overlapping indexed features include: signalapp/signal-desktop — Signal-Desktop is a cross-platform messaging application that provides end-to-end encrypted communication. It… signalapp/signal-android — Signal-Android is an end-to-end encrypted messaging platform designed to ensure that only the sender and recipient can… signalapp/signal-ios — Signal-iOS is an encrypted messaging client that provides secure communication for voice calls, media, and text. It… telegramdesktop/tdesktop — This project is a cross-platform messaging client that implements a secure, real-time communication protocol. It… conversejs/converse.js — Converse.js is an embeddable, self-hosted XMPP chat client that runs entirely in the browser. It communicates with… irungentoo/toxcore — Toxcore is a peer-to-peer networking library that implements a decentralized communication protocol for secure…