Compare commits
1 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| f532cd802d |
BIN
0.10.1.tar.gz
LFS
BIN
0.10.1.tar.gz
LFS
Binary file not shown.
BIN
0.13.0.tar.gz
LFS
Normal file
BIN
0.13.0.tar.gz
LFS
Normal file
Binary file not shown.
@@ -1,2 +1,2 @@
|
||||
liboqs5
|
||||
liboqs7
|
||||
liboqs-devel
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
Index: liboqs-0.8.0/src/kem/frodokem/kem_frodokem.h
|
||||
Index: liboqs-0.13.0/src/kem/frodokem/kem_frodokem.h
|
||||
===================================================================
|
||||
--- liboqs-0.8.0.orig/src/kem/frodokem/kem_frodokem.h
|
||||
+++ liboqs-0.8.0/src/kem/frodokem/kem_frodokem.h
|
||||
@@ -11,9 +11,9 @@
|
||||
#define OQS_KEM_frodokem_640_aes_length_ciphertext 9720
|
||||
--- liboqs-0.13.0.orig/src/kem/frodokem/kem_frodokem.h
|
||||
+++ liboqs-0.13.0/src/kem/frodokem/kem_frodokem.h
|
||||
@@ -12,10 +12,10 @@
|
||||
#define OQS_KEM_frodokem_640_aes_length_shared_secret 16
|
||||
#define OQS_KEM_frodokem_640_aes_length_keypair_seed 0
|
||||
OQS_KEM *OQS_KEM_frodokem_640_aes_new(void);
|
||||
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_keypair_derand(uint8_t *public_key, uint8_t *secret_key, const uint8_t *seed);
|
||||
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
|
||||
+OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_keypair(unsigned char *public_key, unsigned char *secret_key);
|
||||
+OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_keypair_derand(unsigned char *public_key, unsigned char *secret_key, const unsigned char *seed);
|
||||
+OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_encaps(unsigned char *ciphertext, unsigned char *shared_secret, const unsigned char *public_key);
|
||||
+OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_decaps(unsigned char *shared_secret, const unsigned char *ciphertext, const unsigned char *secret_key);
|
||||
#endif
|
||||
|
||||
104
liboqs.changes
104
liboqs.changes
@@ -1,3 +1,107 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon May 12 09:30:45 UTC 2025 - Marcus Meissner <meissner@suse.com>
|
||||
|
||||
- add -DOQS_ENABLE_KEM_HQC=ON even due to security issues, as otherwise
|
||||
we dropped binary compatibility with postquantumcryptoengine (bsc#1242701)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun May 11 16:10:22 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Add reproducible.patch to not embed the buildhost's kernel version (boo#1101107)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 17 16:03:16 UTC 2025 - Marcus Meissner <meissner@suse.com>
|
||||
|
||||
- Updated to 0.13.0:
|
||||
- Key encapsulation mechanisms
|
||||
- New API: Added a deterministic key generation and API for KEMs (only ML-KEM supported at the moment).
|
||||
- ML-KEM: Changed the default ML-KEM implementation to [PQCP's mlkem-native](https://github.com/pq-code-package/mlkem-native). There are three variants: Portable C, AVX2, and AArch64. Large +parts of these implementations are formally verified: all of the C code is verified for memory and type safety using [CBMC](https://github.com/diffblue/cbmc) and the functional correctness +of the core AArch64 assembly routines is verified using [HOL-Light](https://github.com/jrh13/hol-light).
|
||||
- ML-KEM: Added support for the ML-KEM implementation from [Nvidia cuPQC](https://developer.nvidia.com/cupqc), a GPU accelerated cryptography library.
|
||||
- ML-KEM: Implementation from mlkem-native upstream updated to add Pair-wise Consistency Test (PCT) and Intel CET support.
|
||||
- ML-KEM: Improved testing of ML-KEM keys.
|
||||
- HQC: Disabled HQC by default until [a new security flaw](https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/Wiu4ZQo3fP8) is fixed.
|
||||
|
||||
- Digital signature schemes
|
||||
- ML-DSA: Improved testing for ML-DSA.
|
||||
- CROSS: Updated to NIST Additional Signatures Round 2 version.
|
||||
- MAYO: Updated to NIST Additional Signatures Round 2 version.
|
||||
- UOV: Added support for UOV algorithm from NIST Additional Signatures Round 2.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 10 07:51:25 UTC 2024 - Marcus Meissner <meissner@suse.com>
|
||||
|
||||
- Updated to 0.12.0:
|
||||
- This release updates the ML-DSA implementation to the [final
|
||||
FIPS 204](https://csrc.nist.gov/pubs/fips/204/final) version. This
|
||||
release still includes the NIST Round 3 version of Dilithium for
|
||||
interoperability purposes, but we plan to remove Dilithium Round 3 in
|
||||
a future release.
|
||||
|
||||
- This will be the last release of liboqs to include Kyber (that is,
|
||||
the NIST Round 3 version of Kyber, prior to its standardization by NIST
|
||||
as ML-KEM in FIPS 203). Applications should switch to ML-KEM (FIPS 203).
|
||||
|
||||
- The addition of ML-DSA FIPS 204 final version to liboqs has
|
||||
introduced a new signature API which includes a context string
|
||||
parameter. We are planning to remove the old version of the API
|
||||
without a context string in the next release to streamline the
|
||||
API and bring it in line with NIST specifications. Users who
|
||||
have an opinion on this removal are invited to provide input at
|
||||
https://github.com/open-quantum-safe/liboqs/issues/2001.
|
||||
|
||||
Security issues:
|
||||
|
||||
- CVE-2024-54137: Fixed bug in HQC decapsulation that leads to incorrect
|
||||
shared secret value during decapsulation when called with an invalid
|
||||
ciphertext. (bsc#1234292)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 29 09:48:19 UTC 2024 - Marcus Meissner <meissner@suse.com>
|
||||
|
||||
- Updated to 0.11.0:
|
||||
* This release updates ML-KEM implementations to their final FIPS 203
|
||||
https://csrc.nist.gov/pubs/fips/203/final versions .
|
||||
* This release still includes the NIST Round 3 version of Kyber for
|
||||
interoperability purposes, but we plan to remove Kyber Round 3 in a
|
||||
future release.
|
||||
* Additionally, this release adds support for MAYO and CROSS
|
||||
digital signature schemes from [NIST Additional Signatures Round 1
|
||||
https://csrc.nist.gov/Projects/pqc-dig-sig/round-1-additional-signatures
|
||||
along with stateful hash-based signature schemes XMSS
|
||||
https://datatracker.ietf.org/doc/html/rfc8391 and LMS
|
||||
https://datatracker.ietf.org/doc/html/rfc8554.
|
||||
* Finally, this release provides formally verified
|
||||
implementations of Kyber-512 and Kyber-768 from libjade
|
||||
https://github.com/formosa-crypto/libjade/releases/tag/release%2F2023.05-2
|
||||
|
||||
* LMS and XMSS are disabled by default due to the security risks associated with their use in software.
|
||||
See the note on stateful hash-based signatures in CONFIGURE.md
|
||||
|
||||
* Key encapsulation mechanisms:
|
||||
|
||||
- Kyber: Added formally-verified portable C and AVX2 implementations
|
||||
of Kyber-512 and Kyber-768 from libjade.
|
||||
- ML-KEM: Updated portable C and AVX2 implementations of ML-KEM-512,
|
||||
ML-KEM-768, and ML-KEM-1024 to FIP 203 version.
|
||||
- Kyber: Patched ARM64 implementations of Kyber-512, Kyber-768, and
|
||||
Kyber-1024 to work with AddressSanitizer.
|
||||
|
||||
* Digital signature schemes:
|
||||
|
||||
- LMS/XMSS: Added implementations of stateful hash-based signature
|
||||
schemes: XMSS and LMS
|
||||
- MAYO: Added portable C and AVX2 implementations of MAYO signature
|
||||
scheme from NIST Additional Signatures Round 1.
|
||||
- CROSS: Added portable C and AVX2 implementations of CROSS signature
|
||||
scheme from NIST Additional Signatures Round 1.
|
||||
|
||||
* Other changes:
|
||||
|
||||
- Added callback API to use custom implementations of AES, SHA2, and SHA3.
|
||||
- Refactor SHA3 implementation to use OpenSSL's EVP_DigestSqueeze() API.
|
||||
|
||||
- new library major version 6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 11 08:39:32 UTC 2024 - Marcus Meissner <meissner@suse.com>
|
||||
|
||||
|
||||
21
liboqs.spec
21
liboqs.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package liboqs
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
Name: liboqs
|
||||
Version: 0.10.1
|
||||
Version: 0.13.0
|
||||
Release: 0
|
||||
Summary: C library for quantum-resistant cryptographic algorithms
|
||||
License: MIT
|
||||
@@ -27,6 +27,7 @@ Source: https://github.com/open-quantum-safe/liboqs/archive/refs/tags/%{
|
||||
Source1: baselibs.conf
|
||||
Patch0: liboqs-fix-build.patch
|
||||
Patch1: liboqs-fix-prototypemismatch.patch
|
||||
Patch2: reproducible.patch
|
||||
BuildRequires: cmake
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: libopenssl-devel
|
||||
@@ -35,18 +36,18 @@ BuildRequires: libopenssl-devel
|
||||
liboqs is a C library for quantum-resistant cryptographic algorithms.
|
||||
See the bundled README.md for particular limitations on intended use.
|
||||
|
||||
%package -n liboqs5
|
||||
%package -n liboqs7
|
||||
Summary: C library for quantum-resistant cryptographic algorithms
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n liboqs5
|
||||
%description -n liboqs7
|
||||
liboqs is a C library for quantum-resistant cryptographic algorithms.
|
||||
See the bundled README.md for particular limitations on intended use.
|
||||
|
||||
%package devel
|
||||
Summary: Headers for liboqs, a library for quantum-resistant cryptography
|
||||
Group: Development/Languages/C and C++
|
||||
Requires: liboqs5 = %{version}
|
||||
Requires: liboqs7 = %{version}
|
||||
|
||||
%description devel
|
||||
liboqs is a C library for quantum-resistant cryptographic algorithms.
|
||||
@@ -60,7 +61,7 @@ export RPM_OPT_FLAGS="%{optflags} -std=gnu11"
|
||||
|
||||
# 20220702: The %%cmake macro can't be used because a 'CMakeLists.txt' folder
|
||||
# exists
|
||||
cmake -S . -B build -DBUILD_SHARED_LIBS:BOOL=ON -DOQS_DIST_BUILD:BOOL=ON
|
||||
cmake -S . -B build -DBUILD_SHARED_LIBS:BOOL=ON -DOQS_DIST_BUILD:BOOL=ON -DOQS_ENABLE_KEM_HQC=ON
|
||||
|
||||
pushd build
|
||||
%cmake_build
|
||||
@@ -78,13 +79,13 @@ mv %{buildroot}%{_prefix}/local/* %{buildroot}%{_prefix}
|
||||
|
||||
rmdir %{buildroot}%{_prefix}/local/
|
||||
|
||||
%post -n liboqs5 -p /sbin/ldconfig
|
||||
%postun -n liboqs5 -p /sbin/ldconfig
|
||||
%post -n liboqs7 -p /sbin/ldconfig
|
||||
%postun -n liboqs7 -p /sbin/ldconfig
|
||||
|
||||
%files -n liboqs5
|
||||
%files -n liboqs7
|
||||
%license LICENSE.txt
|
||||
%{_libdir}/liboqs.so.%version
|
||||
%{_libdir}/liboqs.so.5
|
||||
%{_libdir}/liboqs.so.7
|
||||
%doc README.md
|
||||
|
||||
%files devel
|
||||
|
||||
13
reproducible.patch
Normal file
13
reproducible.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: liboqs-0.13.0/CMakeLists.txt
|
||||
===================================================================
|
||||
--- liboqs-0.13.0.orig/CMakeLists.txt
|
||||
+++ liboqs-0.13.0/CMakeLists.txt
|
||||
@@ -46,7 +46,7 @@ set(OQS_VERSION_MINOR 13)
|
||||
set(OQS_VERSION_PATCH 0)
|
||||
set(OQS_VERSION_PRE_RELEASE "")
|
||||
set(OQS_VERSION_TEXT "${OQS_VERSION_MAJOR}.${OQS_VERSION_MINOR}.${OQS_VERSION_PATCH}${OQS_VERSION_PRE_RELEASE}")
|
||||
-set(OQS_COMPILE_BUILD_TARGET "${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_HOST_SYSTEM}")
|
||||
+set(OQS_COMPILE_BUILD_TARGET "${CMAKE_SYSTEM_PROCESSOR}-Linux-6.14.0-OBS")
|
||||
set(OQS_MINIMAL_GCC_VERSION "7.1.0")
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
Reference in New Issue
Block a user