Add large payload encryption testing for Go SDK#1664
Open
Conversation
Standalone tool to verify encrypt/decrypt round-trips at 25-100MB+ payload sizes, investigating reported issues with large payloads. Generates random data, checksums, encrypts via Asherah, persists the DRR to disk, validates ciphertext integrity, then decrypts from file and verifies checksum match. Includes Dockerfile for Linux container validation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sub-benchmarks for 1MB, 10MB, 25MB, 50MB, and 100MB payloads with throughput reporting via b.SetBytes. Complements the standalone large payload test tool for automated regression tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
aa88d75 to
a9c4c49
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
samples/go/largepayload/) that validates encrypt/decrypt round-trips at 25-100MB+ payload sizes, with SHA-256 checksum verification, ciphertext integrity checks, and file-based DRR persistenceMotivation
Investigating reported issues with large payload (25-100MB) encryption from a downstream FFI-based consumer of the Go SDK. This tooling isolates pure Go behavior from FFI/CGO complexity to determine whether the issue originates in the SDK itself.
Test plan
cd samples/go/largepayload && go build -o largepayload . && ./largepayload -sizes 1,25docker build -f samples/go/largepayload/Dockerfile -t asherah-largepayload . && docker run --rm asherah-largepayload -sizes 1,25cd go/appencryption/integrationtest && go test -bench=Benchmark_EncryptDecrypt_LargePayload -benchtime=1x -timeout=10m -run ^$