perf: share links use scrypt 2^15, about 40 ms each way
CI / Checks (pull_request) Successful in 39s
PR title / Conventional title (pull_request) Successful in 2s

Keys keeping to share.keyRules are random and long, so age's 2^18
(a third of a second to share and to open) bought little.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kebandClaude Opus 5.5 committed 2026-10-13 13:31:34 +02:00
1 parent 80332680e5
commit 0757898d61
2 files changed
+8 -6

No files matched your search

+6 -4
View File
@@ -51,10 +51,12 @@ const (
maxFiles = 1 << 20 maxFiles = 1 << 20
) )
// workFactor is age's scrypt work factor for sealing (its default); // workFactor is the scrypt work factor for sealing: 2^15, about 40 ms
// maxWorkFactor is the most opening accepts, so a link can't make it // each way, instead of age's 2^18 (a third of a second). scrypt makes
// work for minutes. // guessing a weak passphrase slow; a key keeping to the rules is random
var workFactor, maxWorkFactor = 18, 20 // and long enough not to need that. maxWorkFactor is the most opening
// accepts, so a link can't make it work for minutes.
var workFactor, maxWorkFactor = 15, 20
// File is a shared file. // File is a shared file.
type File struct { type File struct {
+2 -2
View File
@@ -17,8 +17,8 @@ import (
"git.kebcloud.no/keb/lazysecrets/internal/share" "git.kebcloud.no/keb/lazysecrets/internal/share"
) )
// scryptWait is how long the driver waits for encrypting and decrypting, // scryptWait is how long the driver waits for encrypting and decrypting:
// which take about a second on purpose. // tens of milliseconds, more than its usual wait, and more under load.
const scryptWait = 20 * time.Second const scryptWait = 20 * time.Second
// demoRules take the demo key, made up to be remembered. // demoRules take the demo key, made up to be remembered.