A curated list of security tools, cryptography libraries, and cybersecurity resources for the Julia programming language.
Julia's high-performance computing capabilities, native parallelism, and scientific computing ecosystem make it uniquely suited for security research, cryptographic implementations, and large-scale threat analysis.
- Cryptography
- Network Security
- Web Security
- Binary Analysis and Reverse Engineering
- Data Forensics and Analysis
- Machine Learning for Security
- Privacy and Anonymity
- Security Frameworks and Tools
- Mathematics for Security
- Cloud Security
- Resources
- SHA.jl - Performant, 100% native-Julia SHA1, SHA2, and SHA3 implementation.
- MD5.jl - Performant, 100% native-Julia MD5 implementation.
- Ripemd.jl - Pure Julia RIPEMD-160 implementation.
- CryptographicHashFunctions.jl - Fast cryptographic hash functions for Julia.
- Nettle.jl - Libnettle bindings providing MD5, SHA1, SHA2 hashing and HMAC functionality, as well as AES encryption/decryption.
- AES.jl - Advanced Encryption Standard on-the-fly mode implementation in Julia.
- ChaChaCiphers.jl - GPU-compatible implementations of the ChaCha stream cipher family.
- SQLCipher.jl - Drop-in replacement for SQLite.jl using the sqlcipher library for full database encryption support.
- ToyFHE.jl - Toy implementation of Fully Homomorphic Encryption algorithms.
- SEAL.jl - Wrapper for the Microsoft SEAL library supporting homomorphic encryption with BFV and CKKS schemes.
- OpenFHE.jl - Julia bindings for OpenFHE, an open-source fully homomorphic encryption library.
- Paillier.jl - Julia implementation of the Paillier partially homomorphic encryption system.
- SecureArithmetic.jl - Secure arithmetic operations using fully homomorphic encryption.
- Carousel.jl - Implementation of Carousel: Fully Homomorphic Encryption from slot blind rotation.
- FHEW.jl - Fully Homomorphic Encryption library in pure Julia.
- NistyPQC.jl - Post-Quantum Cryptography implementations for Julia based on NIST standards.
- MKTFHE - Implementation of Multi-Key Threshold Fully Homomorphic Encryption.
- ECC.jl - Elliptic Curve Cryptography in Julia with secp256k1 curve support.
- CryptoGroups.jl - Groups for cryptographic applications including Weierstrass elliptic curves.
- OpenSSLGroups.jl - OpenSSL elliptic curve wrapper for CryptoGroups.
- DarkCurves.jl - DarkIntegers-based library for working with elliptic curves.
- Groth.jl - Groth16 zkSNARK implementation in Julia, a modular zero-knowledge proof system for learning and research.
- SigmaProofs.jl - Zero-knowledge proofs with practical applications.
- ShuffleProofs.jl - Verificatum compatible verifier and prover for NIZK proofs of shuffle.
- CryptoSignatures.jl - Cryptographic signature library supporting DSA and elliptic curve signatures.
- OpenSSH.jl - OpenSSH key generation and management.
- CryptoUtils.jl - Cryptography and number-theory primitives in Julia including continued fractions and prime factoring.
- CryptoPRG.jl - Deterministic pseudorandom generators for cryptographic applications.
- Krypto.jl - Experimental futuristic crypto library in Julia.
- ToyPublicKeys.jl - Toy implementation of public key cryptography for learning purposes.
- SecretSharing.jl - Shamir's Secret Sharing scheme over GF(256) for splitting secrets into threshold-reconstructable shares.
- PasswordHashing.jl - Unified password hashing with bcrypt, scrypt, and Argon2id implementations in pure Julia.
- TOTP.jl - RFC 4226/6238 compliant HOTP and TOTP one-time password generation and verification.
- Jlsca - Side-channel analysis toolkit for differential power analysis (DPA), correlation power analysis (CPA), and related attacks.
- CryptoAnalysis.jl - Classical cryptanalysis and cipher-breaking toolkit with frequency analysis, IoC, Kasiski examination, Caesar/Vigenère/XOR breaking, entropy, and chi-squared testing.
- HTTP.jl - Full-featured HTTP client and server framework for Julia.
- HTTP2.jl - HTTP/2 protocol implementation for Julia.
- WebSockets.jl - WebSockets library for Julia, useful for real-time security monitoring dashboards.
- Sockets.jl - Standard library for low-level networking and socket programming.
- ZMQ.jl - Julia interface to ZeroMQ for distributed messaging patterns.
- Pcap.jl - libpcap bindings for Julia with packet capture and analysis capabilities.
- LDAPClient.jl - LDAP client for Julia providing directory services integration for authentication and authorization.
- MbedTLS.jl - TLS and SSL protocol implementation with certificate management.
- OpenSSL.jl - Julia wrapper for OpenSSL cryptographic and TLS functionality.
- LibSSH2.jl - SSH protocol bindings for secure remote connections.
- OpenSSH.jl - OpenSSH key generation utilities.
- NetProbe - Network reconnaissance and port scanning toolkit with service detection and CIDR support.
- PacketLib.jl - Packet crafter and packet sniffer library for Julia.
- GeoIP.jl - Estimate the geographic location of IP addresses for threat intelligence geolocation.
- URIs.jl - URI parsing and manipulation for web security analysis.
- Mux.jl - Middleware framework for Julia web applications.
- JuliaWebAPI.jl - Package for deploying secure APIs with Julia.
- Gumbo.jl - Julia wrapper around Google's gumbo HTML parser for web scraping and security analysis.
- LibCURL.jl - Julia wrapper for libcurl, useful for custom HTTP request crafting.
- Hyperscript.jl - Lightweight DOM representation for safe HTML generation.
- JWTs.jl - JSON Web Tokens (JWT) implementation for Julia supporting token creation, validation, and verification.
- GitHub.jl - Julia interface for the GitHub API with OAuth authentication support.
- OAuthClient.jl - OAuth 2.0 client library supporting Authorization Code with PKCE, Client Credentials, Device Code, and Refresh Token flows.
- ContentSecurityPolicy.jl - Julia library for working with Content Security Policy headers, CSP reports, and XSS mitigation.
- ELF.jl - ELF binary format parser for Linux executable analysis.
- MachO.jl - Mach-O binary format parser for macOS executable analysis.
- DWARF.jl - DWARF debug information parser for binary analysis and reverse engineering.
- Debugger.jl - Full-featured Julia debugger for code analysis and vulnerability research.
- Infiltrator.jl - No-overhead breakpoints for runtime code inspection.
- Cthulhu.jl - Deep code introspection and type-level analysis tool.
- JuliaInterpreter.jl - Julia code interpreter for dynamic analysis and security auditing.
- CodeTracking.jl - Track method definitions and source locations for code auditing.
- CassetteOverlay.jl - Method overlay mechanism for instrumenting and intercepting function calls.
- Cxx.jl - Julia C++ interface for interoperating with native security tools.
- CxxWrap.jl - Make C++ security libraries available in Julia.
- Clang.jl - C binding generator and interface to libclang for source code analysis.
- JavaCall.jl - Call Java security libraries from Julia.
- CSV.jl - High-performance CSV file parser for processing log files and data dumps.
- JSON3.jl - High-performance JSON parser for processing API responses and structured data.
- DataFrames.jl - Tabular data analysis framework for investigating security events and forensic data.
- LazyJSON.jl - Lazy JSON interface for efficiently reading large JSON data files.
- XMLDict.jl - XML to dictionary parser useful for processing security scan outputs and SAST reports.
- ASN1.jl - ASN.1/DER/BER encoder-decoder with X.509 certificate parser for cryptographic data analysis.
- SQLCipher.jl - Encrypted SQLite database using sqlcipher for secure local data storage.
- SpectraSec - Security Protocol Engine for Cyber Threat Response and Analysis with hash identification, entropy analysis, port scanning, pattern detection, and threat scoring.
- Flux.jl - Machine learning framework suitable for building anomaly detection models and threat classifiers.
- MLJ.jl - Machine learning toolbox for building and evaluating security models.
- Knet.jl - Deep learning framework useful for network intrusion detection systems.
- OutlierDetection.jl - Fast, scalable, and flexible outlier detection framework for identifying security anomalies.
- AnomalyDetection.jl - Anomaly detection algorithms for identifying unusual patterns in security data.
- GenerativeAD.jl - Generative models for anomaly detection using deep learning approaches.
- OutlierDetectionNetworks.jl - Neural network-based outlier detection algorithms.
- OutlierDetectionNeighbors.jl - Neighbor-based outlier detection algorithms including KNN and LOF.
- HalfSpaceTrees.jl - Half-space trees for streaming anomaly detection.
- LinRegOutliers - Direct and robust methods for outlier detection in linear regression.
- GrugBot420 - Neuromorphic cognitive engine deploying domain-expert AI specimens via competing pattern node populations, coinflip decay, and architectural configuration instead of training.
- Mirage - Adversarial machine learning toolkit for model extraction, adversarial examples, neural network probing, and defense evaluation.
- DiffPrivacyInference.jl - Automatically infer differential privacy properties of Julia source code through static analysis.
- DiffPrivacy.jl - Library implementing differential privacy techniques over statistical databases.
- Steganography.jl - LSB image steganography for hiding and extracting secret data in images with configurable bit depth and Netpbm support.
- PeaceFounder.jl - Centralized end-to-end verifiable e-voting system via pseudonym braiding and history trees.
- ElectionGuardVerifier.jl - MITRE Election Guard verifier for secure election auditing.
- HistoryTrees.jl - History tree implementation for tamper-evident logging and audit trails.
- TallyProofs.jl - Cryptographic core for end-to-end verifiable voting with everlasting privacy and coercion resistance.
- Phantom - Zero-knowledge proof security framework for proving vulnerabilities without revealing details.
- Oracle - AI-powered vulnerability discovery engine using predictive detection with ML models and 300+ patterns.
- Fuzz.jl - Security fuzzing toolkit with mutation-based, generation-based, and coverage-guided fuzzing strategies.
- NullSec-HashWitch - High-performance hash identification and cracking tool leveraging Julia's parallel computing.
- HashForensics - Hash identification, analysis, and cracking toolkit with 40+ algorithm support.
- SecureVault - Encrypted credential vault with PBKDF2 key derivation, secure memory wiping, and audit logging.
- Vortex - Real-time threat intelligence fusion engine for correlating IOCs across 50+ feeds with ML analysis.
- YARAJulia.jl - YARA-like pattern matching engine for malware analysis and threat detection with hex, text, and regex patterns.
- RegistryScanner - Scans Julia registries for possible malicious behavior and misconfigurations.
- SecurityAdvisories.jl - The official Julia Security Advisory Database.
- Primes.jl - Prime number functions essential for cryptographic key generation and factoring challenges.
- CryptoUtils.jl - Number-theory primitives including continued fractions, modular arithmetic, and prime analysis.
- BloomFilters.jl - Bloom filter implementation for efficient set membership testing in network security applications.
- AWS.jl - Julia interface to Amazon Web Services for cloud security automation.
- AWSAuth.jl - AWS authentication implementation for secure cloud API access.
- AWSS3.jl - AWS S3 interface for secure cloud storage operations.
- GoogleCloud.jl - Google Cloud APIs for Julia including IAM and security services.
- Julia Documentation - Official Julia language documentation.
- Julia Security Policy - Official Julia security vulnerability reporting process.
- JuliaCrypto Organization - Official GitHub organization for Julia cryptography packages.
- JuliaWeb Organization - Official GitHub organization for Julia web and networking packages.
- Julia Discourse - Security - Community discussion forum with security-related topics.
- Julia Slack - Real-time chat community for Julia developers.
- Julia Zulip - Zulip chat for Julia development discussions.
- JuliaCon - Annual Julia conference featuring security and cryptography presentations.
- JuliaCon YouTube - Recorded conference talks including security-related presentations.
- Secure Numerical Computations using FHE - JuliaCon 2024 - Talk on secure numerical computations using fully homomorphic encryption.
- Secure Numerical Simulations using FHE - Research paper and reproducibility repository on secure numerical simulations with homomorphic encryption.
- Julia for Data Analysis - Book covering data analysis techniques applicable to security forensics.
- Julia SecurityAdvisories.jl - Official database of Julia security advisories and vulnerability disclosures.
Contributions welcome! Read the contribution guidelines first.