BBS:      TELESC.NET.BR
Assunto:  src/ssh/kex/sntrup761.c sntrup761.h sntrup761x25519-sha512.csrc/ssh/CM
De:       Deuc¨
Data:     Thu, 26 Mar 2026 03:45:38 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/5d08d0fd82da038c83be4903
Added Files:
	src/ssh/kex/sntrup761.c sntrup761.h sntrup761x25519-sha512.c
Modified Files:
	src/ssh/CMakeLists.txt client.c deucessh-algorithms.h deucessh-kex.h ssh-trans.c ssh-trans.h src/ssh/test/CMakeLists.txt dssh_test_ossl.c test_alloc.c test_auth.c test_conn.c test_dhgex_provider.h test_selftest.c test_transport.c test_transport_errors.c
Log Message:
Implement sntrup761x25519-sha512 post-quantum hybrid KEX

Adds sntrup761x25519-sha512 key exchange per
draft-josefsson-ntruprime-ssh-02. Combines Streamlined NTRU Prime
761 KEM with X25519, hashed with SHA-512. Default KEX in OpenSSH
since 9.0; verified interop against OpenSSH 9.9.

New files:
- kex/sntrup761.h, kex/sntrup761.c: public-domain SUPERCOP reference
  implementation adapted for OpenSSL (RAND_bytes, EVP_Digest). Error
  propagation added to randombytes, crypto_hash_sha512, and all
  internal callers (Hash_prefix, Short_random, Small_random, KeyGen,
  ZKeyGen, Hide, HashConfirm, HashSession).
- kex/sntrup761x25519-sha512.c: KEX handler module with client and
  server paths, exchange hash (SHA-512), shared secret computation.

Transport layer:
- DSSH_KEX_FLAG_K_ENCODING_STRING flag: hybrid PQ KEX encodes K as
  string (fixed-length, no sign padding) instead of mpint.
- ssh-trans.c newkeys: conditional K encoding based on flag.

Test infrastructure:
- EVP_Digest ossl injection wrapper (dssh_test_EVP_Digest) for
  sntrup761's one-shot SHA-512 calls.
- Test matrix expanded from 4 to 6 variants (sntrup, sntrup_rsa).
- Alloc test iteration limits raised for sntrup (100000 vs 500).
- Proper 1190-byte Q_C construction in alloc kex server/client tests.
- CTest COST properties on alloc tests for scheduling priority.
- Handshake thread socket-close-on-failure across all test files.

Co-Authored-By: Claude Opus 4.6 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]