Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
4af7a32
feat(kas): add hybrid X-Wing key wrapping support
sujankota Apr 2, 2026
9a50a76
feat(crypto): add hybrid NIST EC + ML-KEM key wrapping support
sujankota Apr 8, 2026
1f14504
tdf test cleanup
sujankota Apr 9, 2026
6eb01e6
more cleanup
sujankota Apr 9, 2026
9668f24
more cleanup
sujankota Apr 10, 2026
c28eb46
more cleanup
sujankota Apr 10, 2026
8156e84
more cleanup
sujankota Apr 10, 2026
2f0e5d1
more cleanup
sujankota Apr 10, 2026
23de259
Working encrypt/decrypt
sujankota Apr 13, 2026
14cfb5b
metric
sujankota Apr 15, 2026
add02e9
switch NIST hybrid ML-KEM from circl to crypto/mlkem stdlib
sujankota Apr 17, 2026
a3a2633
add ParseKeyType and remove duplicate in examples
sujankota Apr 17, 2026
f2c1699
address PR review comments — docs wording, ec-wrapped schema, EC fixt…
sujankota Apr 17, 2026
ffc5b17
Merge remote-tracking branch 'origin/main' into claude-nist-ec-ml-kem
sujankota Apr 17, 2026
7b81ed6
Merge branch 'main' into claude-nist-ec-ml-kem
dmihalcik-virtru Apr 21, 2026
f2eb1cf
fixup remove checked in binary keygen
dmihalcik-virtru Apr 21, 2026
47a2301
fixup add pqt hybrid e2e tests
dmihalcik-virtru Apr 21, 2026
12558cf
fixup
dmihalcik-virtru Apr 21, 2026
0efacc7
fix(sdk): regenerate hybrid NIST mock keys to use compact ML-KEM seed…
dmihalcik-virtru Apr 21, 2026
8e5a9b8
fix(test): remove unsupported -A flag from hybrid decrypt tests
dmihalcik-virtru Apr 21, 2026
fa6c9f2
fixup go mod tidy
dmihalcik-virtru Apr 21, 2026
2ff6c7a
fixup bats syntax err
dmihalcik-virtru Apr 21, 2026
f91cb0b
fixup adds test keys
dmihalcik-virtru Apr 21, 2026
3a180cf
fixup start-additional-kas let it use already modified confg
dmihalcik-virtru Apr 21, 2026
80b6422
Merge branch 'main' into claude-nist-ec-ml-kem
dmihalcik-virtru Apr 21, 2026
6e94df7
fixup legacy test
dmihalcik-virtru Apr 21, 2026
3bfe583
fixup disable pqt by default
dmihalcik-virtru Apr 21, 2026
954cc60
fixup remove static pqc keys from default cfg
dmihalcik-virtru Apr 21, 2026
78cbcc0
Merge branch 'main' into claude-nist-ec-ml-kem
dmihalcik-virtru Apr 21, 2026
6a88bc5
fixup simplify alg conversions
dmihalcik-virtru Apr 21, 2026
d4a518f
fixup double down on bats tests; removes shell script test
dmihalcik-virtru Apr 21, 2026
9a364b0
fixup missing rename
dmihalcik-virtru Apr 21, 2026
7bf1e81
fixup linter errors
dmihalcik-virtru Apr 21, 2026
996123e
Merge branch 'main' into claude-nist-ec-ml-kem
dmihalcik-virtru Apr 21, 2026
e750ca7
fix(ci): avoid race condition in updating config
dmihalcik-virtru Apr 21, 2026
82d7222
fixup busted test condition
dmihalcik-virtru Apr 21, 2026
65942c0
fixup typo
dmihalcik-virtru Apr 21, 2026
8a6ca53
fixup
dmihalcik-virtru Apr 21, 2026
44bbcc4
feat(otdfctl): add hybrid PQC algorithm support to key management
dmihalcik-virtru Apr 21, 2026
cbbc4f2
Addressed code review comments
sujankota Apr 27, 2026
597b0f3
Merge branch 'main' into claude-nist-ec-ml-kem
sujankota Apr 27, 2026
2c6c48f
regenerate protocol files after merge
sujankota Apr 27, 2026
77e7633
revert auto-regenerated proto/openapi files to match main
sujankota Apr 28, 2026
480dea5
restore HPQT enums in regenerated protocol files
sujankota Apr 28, 2026
7aab295
tidy tests-bdd/go.mod after merge
sujankota Apr 28, 2026
2e82722
remove tracked test PEMs (generated at runtime by start_test SetupSuite)
sujankota Apr 28, 2026
e0a1994
Merge branch 'main' into claude-nist-ec-ml-kem
sujankota Apr 28, 2026
a181303
add EC P-384 to benchmark suite and report (count=5)
sujankota Apr 29, 2026
141e9ba
Merge branch 'main' into claude-nist-ec-ml-kem
dmihalcik-virtru May 5, 2026
dc17b58
fixup make proto-generate
dmihalcik-virtru May 5, 2026
4f0928b
Merge branch 'main' into claude-nist-ec-ml-kem
dmihalcik-virtru May 20, 2026
138cb68
fix: remove context argument from determineKeyType calls in test
dmihalcik-virtru May 20, 2026
713152b
fixup
dmihalcik-virtru May 20, 2026
901353f
tidy service/go.mod and regen stale pb.go comments
sujankota May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/scripts/init-temp-keys.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ openssl rsa -in "$opt_output/kas-private.pem" -pubout -out "$opt_output/kas-cert
openssl ecparam -name prime256v1 >ecparams.tmp
openssl req -x509 -nodes -newkey ec:ecparams.tmp -subj "/CN=kas" -keyout "$opt_output/kas-ec-private.pem" -out "$opt_output/kas-ec-cert.pem" -days 365

# Generate hybrid post-quantum key pairs (X-Wing, P256+ML-KEM-768, P384+ML-KEM-1024)
go run ./service/cmd/keygen -output "$opt_output"

mkdir -p keys
openssl req -x509 -nodes -newkey RSA:2048 -subj "/CN=ca" -keyout keys/keycloak-ca-private.pem -out keys/keycloak-ca.pem -days 365
printf "subjectAltName=DNS:localhost,IP:127.0.0.1" >keys/sanX509.conf
Expand Down
50 changes: 43 additions & 7 deletions .github/scripts/watch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,18 +53,54 @@ done
file_to_watch="$1"
shift

file_signature() {
if [[ ! -e "$1" ]]; then
echo "missing"
return
fi

if stat -c '%i:%s:%Y' "$1" >/dev/null 2>&1; then
stat -c '%i:%s:%Y' "$1"
return
fi

stat -f '%i:%z:%m' "$1"
}

wait_for_change_to() {
if which inotifywait; then
echo "[INFO] inotifywaiting to [${file_to_watch}]"
inotifywait -e modify -e move -e create -e delete -e attrib -r "${file_to_watch}"
if command -v inotifywait >/dev/null 2>&1; then
local watch_dir
local watch_name
local changed_file

watch_dir=$(dirname "${file_to_watch}")
watch_name=$(basename "${file_to_watch}")

echo "[INFO] inotifywaiting to [${file_to_watch}] via [${watch_dir}]"
while true; do
changed_file=$(inotifywait -q \
-e close_write \
-e moved_to \
-e delete \
-e attrib \
--format '%f' \
"${watch_dir}")

if [[ "${changed_file}" == "${watch_name}" ]]; then
return
fi
done
else
m=$(date -r "${file_to_watch}" +%s)
local m
local n

m=$(file_signature "${file_to_watch}")
echo "[INFO] stat checking [${file_to_watch}] from [${m}]"
while true; do
sleep 1
n=$(date -r "${file_to_watch}" +%s)
echo "[INFO] stat checking [${file_to_watch}] from [${m} < ${n}]"
if [[ $m < $n ]]; then
n=$(file_signature "${file_to_watch}")
echo "[INFO] stat checking [${file_to_watch}] from [${m} != ${n}]"
if [[ "${m}" != "${n}" ]]; then
return
fi
done
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -598,7 +598,7 @@ jobs:
- uses: bufbuild/buf-setup-action@a47c93e0b1648d5651a065437926377d060baa99 # v1.50.0
with:
github_token: ${{ github.token }}
version: "1.68.2"
version: "1.68.3"
- uses: bufbuild/buf-lint-action@06f9dd823d873146471cfaaf108a993fe00e5325 # v1.1.1
with:
input: service
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ opentdf.yaml
tmp-gen/
/examples/examples
/**/kas-*.pem
!/service/pkg/server/testdata/kas-*.pem
/opentdf
/sdkjava/target
/serviceapp
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

.PHONY: all buf-check build clean connect-wrapper-generate docker-build fix fmt go-lint license lint otdfctl/otdfctl policy-sql-gen proto-generate proto-helper-generate proto-lint sdk/sdk sqlc-check test tidy toolcheck

MODS=protocol/go lib/ocrypto lib/fixtures lib/flattening lib/identifier sdk service examples otdfctl
HAND_MODS=lib/ocrypto lib/fixtures lib/flattening lib/identifier sdk service examples otdfctl
MODS=protocol/go lib/ocrypto lib/fixtures lib/flattening lib/identifier sdk service examples otdfctl tests-bdd
HAND_MODS=lib/ocrypto lib/fixtures lib/flattening lib/identifier sdk service examples otdfctl tests-bdd
REQUIRED_BUF_VERSION=1.68.2
REQUIRED_SQLC_VERSION=1.31.0

Expand Down
42 changes: 39 additions & 3 deletions docs/grpc/index.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions docs/openapi/authorization/authorization.openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions docs/openapi/authorization/v2/authorization.openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions docs/openapi/kas/kas.openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions docs/openapi/policy/actions/actions.openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions docs/openapi/policy/attributes/attributes.openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions docs/openapi/policy/namespaces/namespaces.openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading