V-crypto :key:
May 5, 2026 · View on GitHub
Attention!
V-crypto has no connection to the official V community and is not maintained by it.
→ It is not recommended to use the algorithms implemented here productively until the status is implemented. As a non-cryptographer, I cannot fully validate the security.
Contributions welcome!
V-crypto provides...
- a detailed overview of important cryptographic algorithms, protocols and formats,
- the current implementation status of the official V community.
- less known but relevant as well as self-developed official algorithms that might be published here.
Cryptographic algorithms and protocols available in V standard library
| algorithm | category, info | importance | status |
|---|---|---|---|
| AES | symmetric block cipher | high, daily use | implemented :heavy_check_mark: [Git] |
| argon2 | hash-algorithm / key derivation function | high | implemented :heavy_check_mark: [Git] |
| bcrypt | hash-algorithm | high | implemented :heavy_check_mark: [Git] |
| blake2(b,s) | hash-algorithm | moderate | implemented :heavy_check_mark: [Git] [Git] |
| blake3 | hash-algorithm | moderate | implemented :heavy_check_mark: [Git] |
| blowfish | legacy symmetric block cipher | moderate | implemented :heavy_check_mark: [Git] |
| blockcipher modes → CBC, CFB, CTR, OFB | Cipher-Block-Chaining, Cipher-Feedback, Counter, Output-Feedback | high | implemented :heavy_check_mark: [Git] |
| (3)DES | legacy symmetric block cipher | low | implemented :heavy_check_mark: [Git] |
| ECDSA | signature algorithm based on elliptic curves | high, daily use | OpenSSL C Wrapper :yellow_circle: [Git] |
| Ed25519 | signature algorithm based on elliptic curves | high | implemented :heavy_check_mark: [Git] |
| HMAC | hash-based message authentication code | high | implemented :heavy_check_mark: [Git] |
| MD5 | legacy hash-algorithm | high | implemented :heavy_check_mark: [Git] |
| PBKDF2 | key derivation function | high | implemented :heavy_check_mark: [Git] |
| PEM | encoding format | high | implemented :heavy_check_mark: [Git] |
| RAND | random number generator | high, daily use | implemented :heavy_check_mark: [Git] |
| RC4 | legacy stream cipher | low | implemented :heavy_check_mark: [Git] |
| RIPEMD160 | legacy hash-algorithm | moderate | implemented :heavy_check_mark: [Git] |
| scrypt | hash-algorithm / key derivation function | high | implemented :heavy_check_mark: [Git] |
| SHA1 | legacy hash-algorithm | moderate | implemented :heavy_check_mark: [Git] |
| SHA256 | hash-algorithm | high, daily use | implemented :heavy_check_mark: [Git] |
| SHA512 | hash-algorithm | high, daily use | implemented :heavy_check_mark: [Git] |
| SHA3 | hash-algorithm | moderate | implemented :heavy_check_mark: [Git] |
| Ascon | lightweight AEAD | moderate | experimental :yellow_circle: [Git] |
| ChaCha20 | symmetric stream cipher | high, daily use | experimental :yellow_circle: [Git] |
| ChaCha20-Poly1305 | Authenticated encryption with associated data (AEAD) | high, daily use | experimental :yellow_circle: [Git] |
| Curve25519 | elliptic curve | high, daily use | expiremental :yellow_circle: [Git] |
| ML-DSA | post-quantum secure digital signature (aka. Crystals Dilithium; lattice based) | high | experimental :yellow_circle: [Git] |
| Poly1305 | message authentication code | moderate | experimental :yellow_circle: [Git] |
| SLH-DSA | post-quantum secure signature algorithm (aka. SPHINCS+; hash based) | moderate | experimental :yellow_circle: [Git] |
| SM4 | block cipher | moderate | experimental :yellow_circle: [Git] |
Last Update: 04-05-2026
Cryptographic algorithms and protocols (not officially) planned for V standard library
The V wrapper libsodium [Git] has some of these algorithms.
| algorithm | category, info | importance | status |
|---|---|---|---|
| blockcipher modes → XTS, CCM, GCM | XEX-based tweaked-codebook mode with ciphertext stealing, Counter with CBC-MAC (AEAD), Galois/Counter (AEAD) | high | thirdparty :x: [Git] |
| Curve448 | elliptic curve | high | thirdparty :yellow_circle: [Git] |
| DSA | legacy signature algorithm | low | (see [1]) :x: |
| ECDH | asymmetric crypto based on elliptic curves | high, daily use | (see [1], [2]), thirdparty, non standard :x: [Git] |
| Ed448 | signature algorithm based on elliptic curves | high | :x: |
| HKDF | key derivation function | moderate | thirdparty :x: [Git] |
| HQC | post-quantum secure key encapsulation (code based) | moderate | :x: |
| ML-KEM | post-quantum secure key encapsulation (aka. Crystals Kyber; lattice based) | high | :x: |
| P-224/256/384/(521) | elliptic curves (NIST) | high, daily use | :x: |
| secp256k1 | elliptic curve | moderate | thirdparty, non standard :x: [Git] |
| RSA | asymmetric crypto | high, daily use | (see [1]), thirdparty, non standard :x: [Git] |
| SSH | network protocol | high, daily use | (see [2]) :x: |
| TLS | protocol for secure network communication | high, daily use | (see [2]), wrapper, thirdparty :yellow_circle: [Git] [Git] |
| x509 | encoding format | high | wrapper, thirdparty :yellow_circle: [Git] |
Last Update: 04-05-2026
Additional cryptographic algorithms implemented/planned in V-crypto (this Repo)
The V wrapper libsodium [Git] has some of these algorithms.
| algorithm | category, info | importance | status |
|---|---|---|---|
| blockcipher modes → ECB, EAX, IGE, OCB | Electronic-Codebook, encrypt-then-authenticate-then-translate, Infinite Garble Extension, Offset codebook mode (AEAD) | moderate | experimental (only ECB, IGE) :yellow_circle: [Git] |
| brainpoolP(256,384,521)r1 | elliptic curve | high | :x: |
| Camellia | symmetric block cipher | low | :x: |
| CAST | symmetric block cipher | moderate | :x: |
| Grain v1 | symmetric stream cipher | moderate | :x: |
| HC-(128,256) | symmetric stream cipher | moderate | :x: |
| IDEA | symmetric block cipher | low | :x: |
| MD4 | legacy hash-algorithm | low | experimental :yellow_circle: [Git] |
| RC6 | symmetric block cipher | low | :x: |
| RIPEMD160 | legacy hash-algorithm | moderate | experimental :yellow_circle: [Git] |
| (X)Salsa20 | symmetric stream cipher | high | experimental :yellow_circle: [Git] |
| Serpent | symmetric block cipher | moderate | :x: |
| Speck | legacy block cipher | low | :x: |
| TEA, XTEA | legacy block cipher | low | experimental :yellow_circle: [Git] [Git] |
| Twofisch | symmetric block cipher | moderate | experimental :yellow_circle: [Git] |
| yescrypt | hash-algorithm / key derivation function | high | :x: |
Last Update: 04-05-2026
v_crypto
Installation
v install https://github.com/bstnbuck/V-crypto
Usage
In general, the functionality is easy to understand based on the tests of the respective algorithm. For larger algorithms, a README file with the most important functions follows.
import v_crypto.md4
fn main(){
// short way to get MD4 hex hash
println("`test` hashed with MD4 is: "+md4.hexhash("test"))
// long way to get bytes array
mut d := md4.new()
blocksize, bytes_hash := d.checksum('test'.bytes())
println("input produces a bytes checksum $bytes_hash.hex() with block size: $blocksize")
d.reset() // with reset, a new empty checksum can be produced
_, _ := d.checksum('Hi from V_crypto. This is an example of a long long line.'.bytes())
}
Please report security related issues to: bstnbuck (at) proton (dot) me