
Radikant Crypto is a cryptolibrary providing cryptograhpic primivitves such as ECC, Hash and various ciphers and macβs. Written in C with no external dependencies.
Radikant Crypto is a eductional (toy) implementation supporting common primitives. The cryptograhic core is seperated and decoupled. Currently works on arm64 hardware (apple silicon) and in software mode on 64 bit architecture, but can be easliy modified to run on other platforms or architectures aswell. Testing against RFC vectors has proven that the library is capable to produce the correct bit output. It used as dependency inside Radikant TLS , Radikant Noise and many other Radikant Projects. It supported primitives like AES , Diffie-hellman, KDF
β οΈ This library is an infamous example of βdonβt roll your own cryptoβ it is incredibly insecure, branchy, leaks memory, information and secrets and is not constant time. It isnt fuzzed against malicious input. Cryptography is incredibly complex and it's suprisingly easy to get wrong, i'm not a Cryptographic expert. There is only handfull of situations where it would be acceptable to use and its not distributed software. In general i highly recommend against it.
Symmetric, Asysmetic, Block and Stream ciphers
Advances Encryption Standard for arm64 supporting cbc, ccm, ctr, ecb and gcm modes.
ChaCha with support for Poly1305 mac. Some arm64 support, by design for software mode.
Software only support for Salsa20 stream ciphers.
Bit accurate implementation of RSA for 2048 bit encryption.
Software only implementation of from 3th party source.
Software only implementation of SM4 cipher.
Software only implementation of TwoFish cipher from 3th party source.
Software only implementation of TwoFish.
Hashing algorithms
Implementation of Blake3
Keccak that powers SHA3
Basic MD5 implementation
Chinese Hash
SHA1 software implementation.
SHA2 software implementation.
SHA3 software implementation.
SHAKE software implementation
Eliptic curve cryptography
NIST secp224r1
NIST secp256r1
NIST secp384r1
NIST secp521r1
Software Implementation of DJB curve
ECDH & EdDSA for Curve 25519
Software Implementation of MH Curve
ECDH & EdDSA for Curve 448
Message Authentication Code
achieved 2x improvcement over openSSL using Kurdi & MΓΆller 2025 paper on arm64.
Support for SHA1, SHA2-256, SHA2-384, SHA2-512,
Software implementation of Poly1305 only.
Fast software implementation of VMAC.
Key Derivation Functions
Argon2 with Blake2
HMAC-based Extract-and-Expand Key Derivation Function
Password-Based Key Derivation Function 2
Scrypt
In order to test the bit output of this library the build can produce seperate testing binaries specific for testing against rfc vectors. Since alot of cryptographic primitives are build ontop of eachother a very simple and rudimentary test setup is used for regression testing. Radikant probe is utilized for quick testing and Radikant Log for logging. The most commonly used primitives are now tested, but quite a few ciphers like SM2, Grashopper and many more havent been fully tested on correct output, but appear functional at first glance. One of the first next great improvements would be to focus on memory and constant time for major primitives.
Radikant Probe Output
FINAL SUMMARY REPORT | Radikant ECC X25519 Suite | RFC 7748 |------------------------------------------------------------------------------| | S | M | Ξ¨ | ID | Status | Name | Standard | |---+---+---+------+--------+--------------------------------+-----------------| | β | β | β | 0 | PASS | test_arithmetic_fuzz | Arithmetic Fuzz | | β | β | β | 1 | PASS | test_rfc7748_vectors | RFC 7748 Vector | | β | β | β | 2 | PASS | test_properties | Properties | | β | β | β | 3 | PASS | test_edge_cases | Edge Cases | | β | β | β | 4 | PASS | test_clamping_safety | Clamping Safety | | β | β | β | 5 | PASS | test_monte_carlo_1k | Monte Carlo 1k | | β | β | β | 6 | PASS | test_monte_carlo_1m | Monte Carlo 1M | ================================================================================ SUMMARY: 7 Tests Run | 7 Passed | 0 Failed ================================================================================