mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 06:05:58 -06:00
[PR #270] [MERGED] Core/SSL: Secure Functions for Cryptographic Random/Nonce Generation #279
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/ultimatepp#279
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/ultimatepp/ultimatepp/pull/270
Author: @ismail-yilmaz
Created: 5/18/2025
Status: ✅ Merged
Merged: 4/25/2026
Merged by: @mirek-fidler
Base:
master← Head:rgen📝 Commits (1)
9863d3cCore/SSL: Secure random and nonce generator with SecureBuffer support📊 Changes
6 files changed (+476 additions, -0 deletions)
View changed files
➕
autotest/SecureRandomGenerator/SecureRandomGenerator.cpp(+233 -0)➕
autotest/SecureRandomGenerator/SecureRandomGenerator.upp(+10 -0)➕
uppsrc/Core/SSL/Random.cpp(+146 -0)📝
uppsrc/Core/SSL/SSL.h(+17 -0)📝
uppsrc/Core/SSL/SSL.upp(+1 -0)➕
uppsrc/Core/SSL/src.tpp/Upp_SSL_Random_en-us.tpp(+69 -0)📄 Description
Rationale
U++ currently lacks a dedicated cryptographically secure nonce generator suitable for modern cryptographic protocols. This pull request introduces thread-safe nonce generation functions to the
Core/SSLpackage, providing guaranteed uniqueness and fork-safety for cryptographic operations.Features
SecureBuffer<byte>with automatic memory zeroingImplementation Details
The generator combines three entropy sources:
Nonce structure adapts based on size:
[4B UID | 8B counter | random tail][8B UID | 8B counter | random tail]Public API
Security Properties
Unit Tests
Comprehensive test suite with 13 test cases:
Example Usage
Fixes or Enhances
Tested on
Related Discussions
This addresses cryptographic primitive needs discussed in:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.