Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: leancrypto-devel | Distribution: openSUSE Tumbleweed |
Version: 1.3.0 | Vendor: openSUSE |
Release: 2.1 | Build date: Tue Apr 15 15:02:47 2025 |
Group: Unspecified | Build host: reproducible |
Size: 983388 | Source RPM: leancrypto-1.3.0-2.1.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: https://www.leancrypto.org | |
Summary: Development files for leancrypto, a cryptographic library |
Leancrypto provides a general-purpose cryptographic library with PQC-safe algorithms. Further it only has POSIX dependencies, and allows all algorithms to be used on stack as well as on heap. Accelerated algorithms are transparently enabled if possible. This subpackage holds the development headers for the library.
BSD-3-Clause OR GPL-2.0-only
* Tue Apr 15 2025 Marcus Meissner <meissner@suse.com> - added keyring, https://leancrypto.org/about/smuellerDD-2024.asc * Tue Apr 15 2025 Marcus Meissner <meissner@suse.com> - adjust license to BSD-3-clause * Thu Apr 10 2025 Marcus Meissner <meissner@suse.com> - updated to 1.3.0 * Allow CPU entropy sources to be used as seed sources with meson option "seedsource=cpu" * Ensure full clean run on vintage system without AVX2 (thanks to "David C. Rankin" <drankinatty@gmail.com>) * EFI: compilation support on AARCH64 * Meson: reduce number of object files to speed up compilation process * Intel assembler: add endbr[64|32] to every function and ensure IBT is enabled * ARMv8 assembler / ELF: add BTI and PAC support * *Full FIPS 140 compliance*: Invoke PCT, add integrity test for ELF compilations, enable FIPS compilation by default * ML-DSA: add external-mu support; new API: lc_dilithium_ctx_external_mu * Add optional Jitter RNG entropy source * Add SLH-DSA-Ascon-128[s|f] (by default they are disabled, enable with meson configuration options `slh_dsa_ascon_128s` and `slh_dsa_ascon_128f`) * ML-KEM: use common poly_tobytes / poly_compress including fix for kyberslash for ARMv8 (thus all ML-KEM implementations have proper protections against it) * ML-KEM: reduce code duplication * Big-Endian: fixes on X.509 key usage processing, ML-KEM modulus tester - Changes 1.2.0 * Locking für seeded_rng added to avoid requiring the caller providing a lock * Addition of ASN.1 decoder, X.509 parser, PKCS#7 / CMS parser * Addition of ASN.1 encoder, X.509 generator, PKCS#7 / CMS generator for ML-DSA, SLH-DSA, ML-DSA-ED25519 * ML-DSA-ED25519: Hybrid implementation changed to match definition https://www.ietf.org/archive/id/draft-ietf-lamps-pq-composite-sigs-03.html * RISCV64: Keccak - add assembler and ZBB implementation * RISCV64: ML-KEM - add assembler implementation * RISCV64: ML-DSA - add assembler implementation * Add FIPS 140 mode (as of now, it does not yet implement full FIPS 140 compliance) * Ascon AEAD, Hash, XOF, Ascon-Keccak: Update to comply with SP800-232 * Dilithium AVX2: Add side channel analysis * leancrypto passes X.509 IETF-Hackathon tests: https://ietf-hackathon.github.io/pqc-certificates/pqc_hackathon_results_certs_r4_automated_tests.html * Add compilation support for (U)EFI environment * RISCV64 RVV: ML-KEM, ML-DSA - add assembler implementation using RVV support * Seeded DRNG: Require a reseed after 2**14 bytes to comply with AIS20/31 3.0 DRG.4 and the discussed upcoming changes to SP800-90A. * SHA-512 / 384 / 256: Addition of AVX2, SHA_NI, SHA_NI-512, ARMv8 Neon, ARMv8 CE, RISCV ASM, RISCV ZBB acceleration * Add lc_init API * Intel non-AVX2 systems: remove all SIGILL causes by ensuring no AVX2 code is executed * Linux kernel: support version 6.13 kernel crypto signature API * Allow switching the central leancrypto seeded RNG instance with a caller-provided RNG * ML-KEM: fix poly_frombytes to perform the loading operation modulo 3329 (instead of modulo 4096) - thanks to Daiki Ueno for reporting it - Changes 1.1.0 * ML-KEM remove modulus check of decapsulation key (not required by FIPS 203) * ML-KEM: add key pair PCT API - leancrypto cannot invoke it itself as it does not know when both keys are provided from outside * ML-DSA: add consistency with FIPS 204 - the signature changes as the input data handling is added (if you want to apply the old signature, use the new lc_dilithium_[sign|verify]_ctx API with ctx->ml_dsa_internal = 1) * ML-DSA: add API to allow caller to provide a user context as allowed by FIPS 204, to invoke ML-DSA.Sign_internal, ML-DSA.Verify_internal and HashML-DSA * ML-KEM: rename source code directory to ml-kem * ML-DSA: rename source code directory to ml-dsa * BIKE: Add NIST round 4 KEM candiate * ML-DSA: Add support to retain the expanded key to increase the performance of signature operations by 15 to 20% * ML-DSA: add key pair PCT API - leancrypto will not invoke it, but provides it for FIPS 140 support * SLH-DSA: Add SLH-DSA-SHAKE-256s, SLH-DSA-SHAKE-256f, SLH-DSA-SHAKE-192s, SLH-DSA-SHAKE-192f, SLH-DSA-SHAKE-128s, SLH-DSA-SHAKE-128f * ML-DSA, ML-KEM, SLH-DSA, BIKE, Hash, AEAD, RNG, HMAC, HKDF, symmetric: move API implementation from H to C file - this implies that no RUST wrappers are needed * Linux kernel: ML-DSA / SLH-DSA sigver input changed to be compliant to existing kernel structures: req->src SGL contains signature || msg, req->dst SGL is not processed - Changes 1.0.1 * fix: Kyber keygen - add LC_KYBER_K to initial hash (change is only relevant when storing keys as seed and for interoperability) * fix: Dilithium keygen - add dimensions K and L (change is only relevant when storing keys as seed and for interoperability) * small performance improvements for hasher apps - Changes 1.0.0 * enhancement: add Doxygen support - it is automatically compiled if Doxygen is present * enhancement: add Dilithium-ED25519 stream mode operation (i.e. init/update/final) * due to the Dilithium-ED25519 stream mode support, the Dilithium-ED25519 now used ED25519ph signature algorithm mode * Dilithium API change: the stream mode uses struct lc_dilithium_ctx instead of lc_hash_ctx to reflect the newly added Dilithium-ED25519 API - the lc_dilithium_ctx can be allocated on the stack or heap using LC_DILITHIUM_CTX_ON_STACK or lc_dilithium_ctx_alloc * enhancement: add Dilithium-ED25519 as Linux kernel akcipher algorithm * enhancement: make Kyber-X25519 as Linux kernel kpp algorithm consistent with the standalone Kyber kpp implementation and add a tester * seeded_rng: when using the ESDM as entropy source, use DRBG without prediction resistance. When having heavy respawning of applications, using the PR DRBG will strain the entropy source significantly. * Dilithium: add edge case tests as referenced by https://github.com/usnistgov/ACVP/pull/1525.patch and https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/G8Zf0hC-uu0/m/Kb3qNJb0AwAJ - Changes 0.11.0 * security fix: fix possible leak of message in Kyber * Kyber: reduce memory footprint, use common lc_memcmp_secure API * Ascon-Keccak: include the tag length into the IV and thus implicitly authenticate the tag length (thanks to Markku-Juhani Saarinen to suggest this) * Kyber: change standard API such that caller can select Kyber type * Dilithium: change standard API such that caller can select Dilithium type * security: addition of Timecop and instrumentation of tests to find side-channels * enhancement: add Linux kernel crypto API support for Ascon / Ascon-Keccak * fix: performance of seeded RNG by setting reseed threshold to 1MB * fix: Linux kernel warning on return thunk * enhancement: add ASM ARMv7 and ARMv8 implementation for X25519 * enhancement: add Ascon support for XDRBG * enhancement: performance increase for XDRBG256 * enhancement: add ED25519ph to support Dilithium hybrid init/update/final handling - Changes 0.10.1 * enhancement: Linux kernel - Kyber: allow parallel compilation of all Kyber types including all optimizations * enhancement: Linux kernel - Dilithium: allow parallel compilation of all Dilithium types including all optimizations * add additional hardening compiler flags stipulated by openssf.org - Changes 0.10.0 * enhancement: add Sponge APIs * enhancement: add Ascon Keccak 512 and 256 * update AEAD: add lc_aead_enc|dec_init and change all AEAD algo's tag calculation to now perform MAC(AAD || ciphertext) instead of MAC(ciphertext || AAD) - this brings it in line with all AEAD algorithms * enhancement: add Ascon AEAD 128 and 128b * rename API lc_shake to lc_xof * enhancement: add Ascon Hash 128 and 128a * enhancement: add Ascon XOF and XOFa * enhancement: add Ascon 128/128a hasher apps * large data tests can now execute on small systems by using smaller memory sizes * remove riscv64 hash assembler directory: it is a duplicate of the riscv32 assembler code * Kyber 768: Add AVX2, ARMv8, ARMv7 support * Dilithium 65: Add AVX2, ARMv8, ARMv7 support * Enable compilation of Kyber 1024, Kyber-768 and Kyber-512 at the same time (APIs starting with lc_kyber_768/lc_kex_768 refer to Kyber-768, APIs starting with lc_kyber_512/lc_kex_512 refer to Kyber-512, all others refer to Kyber-1024) * Enable compilation of Dilithium 87, Dilithium-65 and Dilithium-44 at the same time (APIs starting with lc_dilithium_65 refer to Dilithium-768, APIs starting with lc_dilithium_44 refer to Dilithium-44, all others refer to Dilithium-87) * enhancement: Windows is now supported as target platform using the MINGW compiler with full acceleration support * Dilithium: update SampleInBall implementation following https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/y8ul-ZcVWI4 - implementation is fully checked against NIST ACVP Demo server - Changes 0.9.2 * fix: update "reduce memory footprint of Keccak state" to handle big-endian systems * enhancement: Seed the lc_seeded_rng with (random.c || Jitter RNG) - Changes 0.9.1 * fix: move XOR-256 memory definitions to lc_memory_support.h as otherwise compilation of external applications and libraries fail due to missing xor256.h - Changes 0.9.0 * enhancement: X/ED25519: enable 128 bit mode on Intel for both, kernel and user space * add Rust binding support * enhancement: reduce memory footprint of Keccak state * enhancement: add cSHAKE re-init support * fix: KMAC-AEAD / cSHAKE-AEAD - ensure proper re-initialization * enhancement: add RISC-V 64 bit Keccak - currently disabled due to a bug * enhancement: compile Dilithium ARMv8 support in Linux kernel (excluding the SIMD Keccak operation) * fix: fix ARM-CE detection logic * fix: potential Kyber side channel * fix: KMAC min MAC size is 32 bits * enhancement: use accelerated XOR for KMAC/cSHAKE AEAD * fix: enable poly_compress_avx for Linux kernel compilation when GCC >= 13 is present * enhancement: add interface code to register leancrypto with Linux kernel crypto API - Changes 0.8.0: * enhancement: add applications * enhancement: add Dilithium ARMv8 support (including SHAKE 2x ARMv8 support) * enhancement: add Dilithium ARMv7 support * enhancement: add Kyber ARMv7 support * reduce memory footprint of Dilithium and Kyber * enhancement: Add Kyber-X25519 KEM, KEX, and IES * enhancement: Add Dilithium-ED25519 * hardening: use -fzero-call-used-regs=used-gpr if available to counter ROP attacks * fix: Add fork-detection for seeded_rng * update XDRBG256 implementation based on latest draft - Changes 0.7.0: * enhancement: add XDRBG256 - the SHAKE256-based DRNG discussed for SP800-90A inclusion (almost idential to cSHAKE/KMAC DRNG specified with leancrypto) * enhancement: add SymKMAC AEAD algorithm - it uses 100 bytes less context than SymHMAC (it is less than 1024 bytes now), uses accelerated Keccak for KDF and authentication but is otherwise identical to SymHMAC * Kyber: switch responder and initiator definitions * enhancement: add ESDM seed source to seed lc_seeded_rng * editorial: reformat code using clang-format and provided configuration file * Dilithium: Update implementation to match FIPS 204 (draft from Aug 24, 2023) * Kyber: Update implementation to match FIPS 203 (draft from Aug 24, 2023) * enhancement: Dilithium and Kyber security strengths are selectable via Meson options * Kyber KEM: Update shared secret KDF (as the KDF is now removed from FIPS 203, it can be adjusted to be more performant and consistent with SP800-108) * Kyber KEX: Updated shared secret KDF to use SP800-108 compliant KMAC KDF * enhancement: Add input parameter validatino to Kyber as specified in FIPS 203 * enhancement: consolidate all testing requiring an RNG to use selftest_rng - Changes 0.6.0: * enhancement: Linux - add memfd_secret(2) support for secure memory allocation * fix: documentation of lc_kyber_keypair * enhancement: remove the rng_ctx parameter in all Kyber APIs except the key generation - internally lc_seeded_rng is used instead * enhancement: use -Wmissing-prototypes and fix reported issues * enhancement: provide standalone CBC, CTR, KW implementation * enhancement: provide AESNI implementation * enhancement: provide AES ARM CE implementation * enhancement: provide AES RISC-V 64 assembler implementation * enhancement: provide Linux kernel configuration option to enable startup health tests * fix: apply fixes such that all self tests and regression tests pass when compiled for Linux kernel * fix: properly zeroize memory when using the workspace memory - Changes 0.5.3: * convert to safe min/max implementations * enhancement: allow kernel modules to be compiled directly from installed user space headers * enhancement: make ARMv8 code compile on macOS * Sun Feb 05 2023 Stephan Mueller <smueller@chronox.de> - leancrypto version 0.5.2 Pretesting of ARMv8 Kyber * Sun Jan 08 2023 Stephan Mueller <smueller@chronox.de> - leancrypto version 0.5.1 * Fri Nov 25 2022 Stephan Mueller <smueller@chronox.de> - merge kernel definition into common SPEC file * Fri Nov 25 2022 Stephan Mueller <smueller@chronox.de> - Add Linux kernel module spec file * Fri Nov 25 2022 Stephan Mueller <smueller@chronox.de> - Add static compilation support of leancrypto
/usr/include/leancrypto /usr/include/leancrypto.h /usr/include/leancrypto/ext_headers.h /usr/include/leancrypto/lc_aead.h /usr/include/leancrypto/lc_aes.h /usr/include/leancrypto/lc_ascon_aead.h /usr/include/leancrypto/lc_ascon_hash.h /usr/include/leancrypto/lc_ascon_keccak.h /usr/include/leancrypto/lc_asn1.h /usr/include/leancrypto/lc_bike.h /usr/include/leancrypto/lc_bike_1.h /usr/include/leancrypto/lc_bike_3.h /usr/include/leancrypto/lc_bike_5.h /usr/include/leancrypto/lc_chacha20.h /usr/include/leancrypto/lc_chacha20_drng.h /usr/include/leancrypto/lc_cshake.h /usr/include/leancrypto/lc_cshake256_drng.h /usr/include/leancrypto/lc_cshake_crypt.h /usr/include/leancrypto/lc_dilithium.h /usr/include/leancrypto/lc_dilithium_44.h /usr/include/leancrypto/lc_dilithium_65.h /usr/include/leancrypto/lc_dilithium_87.h /usr/include/leancrypto/lc_drbg.h /usr/include/leancrypto/lc_ed25519.h /usr/include/leancrypto/lc_hash.h /usr/include/leancrypto/lc_hash_crypt.h /usr/include/leancrypto/lc_hash_drbg.h /usr/include/leancrypto/lc_hkdf.h /usr/include/leancrypto/lc_hmac.h /usr/include/leancrypto/lc_hmac_drbg.h /usr/include/leancrypto/lc_hmac_drbg_sha512.h /usr/include/leancrypto/lc_hotp.h /usr/include/leancrypto/lc_init.h /usr/include/leancrypto/lc_kdf_ctr.h /usr/include/leancrypto/lc_kdf_dpi.h /usr/include/leancrypto/lc_kdf_fb.h /usr/include/leancrypto/lc_kmac.h /usr/include/leancrypto/lc_kmac256_drng.h /usr/include/leancrypto/lc_kmac_crypt.h /usr/include/leancrypto/lc_kyber.h /usr/include/leancrypto/lc_kyber_1024.h /usr/include/leancrypto/lc_kyber_512.h /usr/include/leancrypto/lc_kyber_768.h /usr/include/leancrypto/lc_memcmp_secure.h /usr/include/leancrypto/lc_memcpy_secure.h /usr/include/leancrypto/lc_memory_support.h /usr/include/leancrypto/lc_memset_secure.h /usr/include/leancrypto/lc_pbkdf2.h /usr/include/leancrypto/lc_pkcs7_common.h /usr/include/leancrypto/lc_pkcs7_generator.h /usr/include/leancrypto/lc_pkcs7_parser.h /usr/include/leancrypto/lc_rng.h /usr/include/leancrypto/lc_sha256.h /usr/include/leancrypto/lc_sha3.h /usr/include/leancrypto/lc_sha512.h /usr/include/leancrypto/lc_sphincs.h /usr/include/leancrypto/lc_sphincs_shake_128f.h /usr/include/leancrypto/lc_sphincs_shake_128s.h /usr/include/leancrypto/lc_sphincs_shake_192f.h /usr/include/leancrypto/lc_sphincs_shake_192s.h /usr/include/leancrypto/lc_sphincs_shake_256f.h /usr/include/leancrypto/lc_sphincs_shake_256s.h /usr/include/leancrypto/lc_status.h /usr/include/leancrypto/lc_sym.h /usr/include/leancrypto/lc_symhmac.h /usr/include/leancrypto/lc_symkmac.h /usr/include/leancrypto/lc_totp.h /usr/include/leancrypto/lc_x25519.h /usr/include/leancrypto/lc_x509_common.h /usr/include/leancrypto/lc_x509_generator.h /usr/include/leancrypto/lc_x509_parser.h /usr/include/leancrypto/lc_xdrbg.h /usr/lib64/libleancrypto-fips.so /usr/lib64/libleancrypto.so /usr/lib64/pkgconfig/leancrypto-fips.pc /usr/lib64/pkgconfig/leancrypto.pc /usr/share/doc/packages/leancrypto-devel /usr/share/doc/packages/leancrypto-devel/CHANGES.md /usr/share/doc/packages/leancrypto-devel/README.md
Generated by rpm2html 1.8.1
Fabrice Bellet, Wed Apr 23 00:20:57 2025