mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
[PR #266] [MERGED] Core/SSL: AES-256-GCM encryption and decryption #275
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#275
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/266
Author: @ismail-yilmaz
Created: 5/4/2025
Status: ✅ Merged
Merged: 5/5/2025
Merged by: @mirek-fidler
Base:
master← Head:aes256_encryption📝 Commits (1)
79b5ad2Core/SSL: AES-256-GCM encryption and decryption📊 Changes
8 files changed (+697 additions, -1 deletions)
View changed files
➕
autotest/AES256/AES256.upp(+10 -0)➕
autotest/AES256/main.cpp(+85 -0)➕
reference/AESEncryption/AESEncryption.upp(+12 -0)➕
reference/AESEncryption/main.cpp(+40 -0)➕
uppsrc/Core/SSL/AES.cpp(+333 -0)📝
uppsrc/Core/SSL/SSL.h(+37 -0)📝
uppsrc/Core/SSL/SSL.upp(+4 -1)➕
uppsrc/Core/SSL/src.tpp/Upp_SSL_AES256GCM_en-us.tpp(+176 -0)📄 Description
Rationale
U++ currently lacks a modern, authenticated encryption API suitable for securely storing or transmitting sensitive data. This pull request introduces a self-contained, stream-capable
Aes256Gcmclass toCore/SSLpackage that implements AES-256 in GCM mode, providing,Features
This implementation aligns with modern cryptographic best practices and fills an essential gap in U++'s Core/SSL package.
Format
Encrypted data uses the following binary envelope:
SaltandIVare randomly generated. The authenticationTagis appended at the end. The versionPrefixis meant to allow future format upgrades.Public API
Unit Tests
Reference Examples
AESEncryption: Demonstrates the basic usage of AES-256-GCM functions.API docs
Related Discussions
The main context for this PR can be found here.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.