Repository navigation
Releases
Zixt v1.0.0
First tagged release of Zixt, a self-hostable, web-based secure messaging app with real-time one-on-one and group chat, file sharing, and post-quantum cryptography (Kyber1024 and SPHINCS+). Setup instructions are in the README. More about my software: https://ryanthomashuff.com/software/
v1.0.4
Zixt v1.0.4 Release Notes
Release Date: April 20, 2025
Version: 1.0.4
Release Type: Major Update
Overview
We are excited to announce the release of Zixt v1.0.4, a significant update to our decentralized, quantum-resistant secure messaging platform. This version introduces major enhancements to privacy, security, and fault tolerance, ensuring Zixt remains a future-proof solution for secure communication in adversarial environments. Key updates include the adoption of Bulletproofs for zero-knowledge metadata privacy, Practical Byzantine Fault Tolerance (PBFT) for robust consensus, and continued improvements to our quantum-safe architecture with CRYSTALS-Kyber and SPHINCS+.
New Features
-
Bulletproofs for Zero-Knowledge Metadata Privacy
- Replaced Lyra with Bulletproofs for zero-knowledge proofs (ZKPs) to hide message metadata (sender, receiver, timestamp) while proving validity.
- Adapted Bulletproofs for quantum resistance by using SHA-3 hash commitments, ensuring security against quantum attacks.
- Benefits: Smaller proof sizes (~1-2 KB vs. several KB with Lyra) and faster proof generation (sub-second for simple statements).
-
Practical Byzantine Fault Tolerance (PBFT) Consensus
- Replaced the leader-based consensus mechanism with PBFT to ensure fault-tolerant state synchronization.
- Tolerates up to ( f < n/3 ) faulty nodes (where ( n ) is the total number of nodes), providing resilience against Byzantine failures.
- Messages in PBFT rounds are signed with SPHINCS+ for authenticity.
-
Enhanced DHT Security
- Added DTLS encryption to Kademlia DHT communication for peer discovery and block propagation, preventing eavesdropping.
- Implemented SPHINCS+-based node authentication to ensure only trusted nodes participate in the network.
-
CRYSTALS-Kyber for Quantum-Safe Key Exchange and Escrow
- Introduced Zixt Quantum Key Exchange (ZQKE) using Kyber, enabling cross-platform quantum-safe key exchange for end-to-end encryption.
- Added support for message escrow with time-locked smart contracts, using Kyber to encrypt messages for conditional delivery (e.g., “deliver on a specific date”).
Improvements
-
Performance Optimization
- Bulletproofs ZKPs reduce blockchain storage overhead and improve proof generation/verification times compared to Lyra.
- Optimized PBFT message handling to reduce latency in small to medium-sized networks.
-
Security Hardening
- Strengthened overall quantum resistance by ensuring all cryptographic components (SPHINCS+, Bulletproofs, Kyber) are quantum-safe.
- Improved auditability of key exchange and escrow contracts on the blockchain without compromising privacy.
-
Documentation Updates
- Updated whitepaper (Version 1.0.4) to reflect all new features, including Bulletproofs, PBFT, and Kyber integration.
- Added detailed installation instructions for
liboqs-pythonand Bulletproofs dependencies.
Bug Fixes
-
Fixed Metadata Leakage
- Resolved an issue where raw metadata was inadvertently logged in debug mode, ensuring all metadata is now protected by Bulletproofs ZKPs.
-
Improved Node Synchronization
- Fixed a synchronization bug in the previous leader-based consensus that caused occasional chain forks; PBFT ensures consistent state across nodes.
Known Issues
- PBFT Scalability: PBFT requires ( O(n^2) ) message exchanges, which may lead to performance bottlenecks in networks with more than 50 nodes. Future releases will explore sharding or hybrid consensus mechanisms.
- Message Escrow Limitations: Recipient extraction for escrow messages uses a placeholder; a production implementation needs a private mapping or additional ZKP logic.
Installation and Upgrade Notes
Prerequisites
- Python 3.8+
- Dependencies:
flask,requests,pycryptodome,liboqs-python,bulletproofs(simulated)
Installation Steps
- Clone the repository:
git clone https://github.com/zixt/zixt.git cd zixt - Set up a virtual environment:
python -m venv venv source venv/bin/activate - Install dependencies:
pip install -r requirements.txt
- Install
liboqs-python(for SPHINCS+ and Kyber):sudo apt-get install -y cmake gcc ninja-build libssl-dev python3-pip git clone https://github.com/open-quantum-safe/liboqs.git cd liboqs mkdir build && cd build cmake -GNinja .. -DBUILD_SHARED_LIBS=ON ninja sudo ninja install cd .. git clone https://github.com/open-quantum-safe/liboqs-python.git cd liboqs-python python3 setup.py install
- Install Bulletproofs (simulated; for production, adapt a library like Bulletproofs Rust):
git clone https://github.com/dalek-cryptography/bulletproofs.git cd bulletproofs # Adapt to use SHA-3 for quantum resistance
- Configure
config.pywith your SMTP settings and node addresses.
Upgrade Notes
- From v1.0.3: Users upgrading from v1.0.3 must reconfigure their nodes to use PBFT consensus. Existing blockchain data may need to be migrated due to the change in consensus mechanism.
- ZKP Migration: Metadata previously stored with Lyra ZKPs will need to be reprocessed with Bulletproofs for compatibility.
Contributors
- Zixt Core Team: Implementation of Bulletproofs, PBFT, and Kyber enhancements.
Feedback and Support
We welcome feedback and contributions! Please open an issue on GitHub for bug reports, feature requests, or questions. For support, contact us at inquiries@zixt.app.
v1.0.2
Zixt v1.0.2 Release Notes
Release Date: April 19, 2025
GitHub Repository: NetworkNerd1337/zixt
Version: 1.0.2
Zixt v1.0.2 introduces groundbreaking enhancements to our quantum-secure messaging platform, reinforcing our commitment to privacy and security. This release adds Zero-Knowledge Proofs (zk-SNARKs) for private user authentication and anonymous message metadata, and DTLS-encrypted Kademlia DHT for secure peer discovery and blockchain propagation. These features build on Zixt’s post-quantum cryptography (Kyber1024, SPHINCS+, AES-256-GCM, SHA3-512), ensuring your communications and metadata remain protected against both current and future threats.
Designed for Ubuntu 24.04, Zixt v1.0.2 offers real-time messaging, secure file sharing, a proprietary blockchain ledger, and robust user management, all secured by Let’s Encrypt HTTPS. This release refines the installation process, enhances security, and sets the stage for future scalability and privacy improvements.
🚀 What's New
-
Zero-Knowledge Proofs (ZKPs):
- Implemented zk-SNARKs using
circomandsnarkjsto enable private user authentication and anonymous message metadata. - Protects sensitive metadata (usernames, sender details, timestamps) in the database and blockchain, ensuring privacy even in case of server compromise.
- Added
user_public_key_hashtable andzkp_proofcolumn in themessagetable to store proofs securely. - Enables users to prove identity and message validity without revealing personal details, aligning with Zixt’s privacy-first ethos.
- Implemented zk-SNARKs using
-
Encrypted DHT with DTLS:
- Integrated DTLS (Datagram TLS) to encrypt Kademlia DHT traffic over UDP port 8468, securing peer discovery and block propagation.
- Protects blockchain metadata (e.g.,
thread_id,index) from eavesdropping and man-in-the-middle attacks, complementing ZKPs for comprehensive privacy. - Added DTLS certificate generation for secure node communication, using OpenSSL-generated self-signed certificates.
- Updated
app/dht.pywith aDTLSServerclass andapp/blockchain.pyto leverage encrypted DHT, ensuring robust decentralization.
🔧 Enhancements
-
Improved Installation Process:
- Replaced PyPI
oqs==0.10.1with source-installedliboqs-pythonfrom GitHub to resolveImportErrorissues, ensuring compatibility withliboqs 0.10.1. - Added explicit
libssl-devdependency to prevent OpenSSL-related CMake errors duringliboqsbuild. - Clarified admin user setup with interactive and script-based options for generating SPHINCS+ key pairs and password hashes.
- Enhanced SMTP configuration with detailed Gmail setup (App Password) and support for alternative providers like SendGrid.
- Replaced PyPI
-
Security Hardening:
- Introduced dedicated Gunicorn user (
zixtuser) to isolate the WSGI server, reducing attack surface in production. - Updated blockchain to log ZKP proofs, minimizing plaintext metadata exposure.
- Maintained post-quantum security with Kyber1024, SPHINCS+, and SHA3-512, alongside PFS via ephemeral keys.
- Introduced dedicated Gunicorn user (
🐛 Fixes
- Resolved OpenSSL dependency issue in
liboqsbuild by ensuringlibssl-devis installed, fixingCMakeerrors related toOPENSSL_CRYPTO_LIBRARY. - Fixed Gunicorn user setup to use
zixtuser, ensuring proper permissions forapp/uploadsandcertsdirectories. - Addressed PyPI
oqsreliability by switching to source installation, eliminatingImportErrorforKeyEncapsulationandSignature.
📋 Known Limitations
-
ZKP Performance:
- Client-side proof generation with
snarkjsmay be slow on low-end devices (~1-2 seconds for simple circuits). Future releases may optimize circuits or offload to server-side provers. - zk-SNARKs require a trusted setup, introducing a potential security risk. A multi-party ceremony is recommended for production.
- Client-side proof generation with
-
DTLS Overhead:
- DTLS encryption adds slight CPU and latency overhead to DHT operations, noticeable in high-traffic networks. Future optimizations may reduce this.
-
Consensus Mechanism:
- The blockchain lacks a formal consensus algorithm, relying on honest nodes. Future releases may add proof-of-stake or BFT for robustness.
-
Native Apps:
- Zixt is browser-based, with no native iOS/Android apps yet. The interface is compatible with major browsers, but native apps are planned.
-
File Size Limit:
- File attachments are capped at 15MB. Larger file support may be added in future releases.
🛠️ Installation Notes
To deploy Zixt v1.0.2 on Ubuntu 24.04, follow the updated README.md instructions, which include:
- Dependencies: Install Python 3.10+, MySQL, Nginx, Redis, Node.js, npm, and build tools.
- liboqs Setup: Build
liboqs 0.10.1and installoqs-pythonfrom source to ensure compatibility. - ZKP Setup: Install
circomandsnarkjs, and generate circuit files (.wasm,.zkey) for zk-SNARKs. - DTLS Configuration: Generate self-signed certificates for secure DHT communication.
- Admin Setup: Generate SPHINCS+ key pairs and public key hashes for secure user management.
- Gunicorn: Use a dedicated
zixtuserfor production security.
Key steps include:
# Install dependencies
sudo apt install -y python3 python3-pip python3-venv mysql-server nginx redis-server certbot python3-certbot-nginx build-essential libssl-dev libffi-dev python3-dev cmake ninja-build git nodejs npm
# Build liboqs
git clone --branch 0.10.1 https://github.com/open-quantum-safe/liboqs.git
cd liboqs/build
cmake -GNinja -DOQS_ALGS_ENABLED=ALL -DOPENSSL_ROOT_DIR=/usr -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/x86_64-linux-gnu/libcrypto.so ..
ninja && sudo ninja install
# Install oqs-python from source
source /path/to/zixt/venv/bin/activate
git clone --depth=1 https://github.com/open-quantum-safe/liboqs-python
cd liboqs-python && pip install . && cd .. && rm -rf liboqs-python
# Generate DTLS certificates
openssl req -x509 -newkey rsa:4096 -keyout certs/server.key -out certs/server.crt -days 365 -nodes -subj "/CN=zixt"For full installation and usage details, see the README.md.
📖 Usage Highlights
- Register: Create an account with a SPHINCS+ public key and verify via email.
- Login: Use a public key hash and zk-SNARK proof for private authentication.
- Messaging: Send encrypted messages and files in real-time threads, with metadata protected by ZKPs.
- Blockchain: Run nodes with DTLS-encrypted DHT for secure block propagation.
- Admin: Manage users securely via the admin panel.
Example:
# Generate keys
python scripts/keygen.py
# Run blockchain node
python -m app.blockchain🚀 What's Next?
Zixt v1.0.2 lays a robust foundation for secure, private messaging. Future releases will explore:
- zk-STARKs for post-quantum ZKP security.
- Consensus mechanisms for blockchain robustness.
- Native iOS/Android apps for enhanced accessibility.
- Optimized ZKP performance for low-end devices.
- Tor/I2P integration for node anonymity.
We’re excited to continue evolving Zixt based on user feedback and emerging needs. Join the quantum-secure revolution today!
🙌 Acknowledgments
Thank you to the open-source community, particularly the Open Quantum Safe project, circom, and snarkjs teams, for enabling Zixt’s cutting-edge security features.
Join us in building the future of secure communication!
For issues, feature requests, or contributions, visit NetworkNerd1337/zixt.
v1.0.1
Zixt Chat v1.0.1 Release Notes
Zixt Chat v1.0 introduces a groundbreaking quantum-secure chat and collaboration application designed to deliver unparalleled security, privacy, and seamless user experience. Leveraging cutting-edge quantum-resistant cryptography, Zixt Chat ensures your communications remain protected against future quantum computing threats.
This initial release establishes a robust foundation for secure, real-time messaging and team collaboration, with a focus on simplicity, performance, and end-to-end encryption.
Key Features:
- Quantum-Secure Encryption: Utilizes post-quantum cryptographic algorithms (e.g., lattice-based cryptography) to safeguard messages, ensuring long-term security against quantum attacks.
- End-to-End Encryption: All chats, group messages, and file transfers are encrypted, accessible only to intended recipients.
- Real-Time Messaging: Instant, reliable messaging with support for one-on-one and group chats.
- Secure File Sharing: Share documents, images, and other files with confidence, protected by quantum-resistant encryption.
- Cross-Platform Support: Available on iOS, Android, and desktop (Windows, macOS, Linux) for seamless access across devices.
- Collaboration Tools: Basic features like message threading, mentions, and searchable chat history to enhance team productivity.
- User-Friendly Interface: Clean, intuitive design prioritizing ease of use and accessibility.
- Privacy First: No data collection or tracking; all user data remains on-device or encrypted in transit and at rest.
Technical Highlights:
- Built with a modular architecture for scalability and future feature expansion.
- Optimized for low-latency performance, even on low-bandwidth networks.
- Open-source cryptographic libraries audited for security and compliance.
- Initial support for up to 100 participants in group chats.
Known Limitations:
- Voice and video calling are not included in v1.0 but are planned for future releases.
- Advanced collaboration features (e.g., task management, integrations) will be introduced in subsequent updates.
- Device specific apps are not available at this time. The user interface is known to work with all major browsers on all major platforms. Device specific apps are on the roadmap.
- Limited to 10MB file size for file attachments in this release.
Zixt Chat v1.0.1 is the first step toward redefining secure communication in a quantum future. Whether you’re an individual prioritizing privacy, a hobbyist, Government or just a team seeking a secure collaboration platform, Zixt Chat delivers a foundation you can trust.
We’re excited to continue evolving Zixt Chat based on user feedback and emerging needs! Join the quantum-secure revolution today!