kernc / kernc/myba

Use `openssl cms -aes-256-gcm-siv`

Open
#5 0 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
Dominant language
Shell
Stars
6
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Use cipher algorithm AES-256-GCM-SIV that does authentication over AES-256-CTR that doesn't.

See also:
https://github.com/openssl/openssl/issues/12220
https://github.com/openssl/openssl/issues/12220#issuecomment-1237509811
https://github.com/openssl/openssl/issues/24421
https://github.com/openssl/openssl/discussions/22269

https://github.com/openssl/openssl/issues/28607
https://github.com/openssl/openssl/commit/86344acb02eb3718b0491b9915846667c55c95ff

Demo:
```shell
echo "test content" > test_cms.txt
key=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
# NOTE: aes-256-gcm != aes-256-gcm-siv # https://www.reddit.com/r/crypto/comments/giw4wz/comment/fqi1wbh/
# We would want to use the latter!
openssl cms -encrypt -binary -aes-256-gcm -secretkey $key -secretkeyid 1234 -in test_cms.txt -out test_cms.enc
openssl cms -decrypt -binary -secretkey $key -secretkeyid 1234 -in test_cms.enc
rm -f test_cms.txt test_cms.enc
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the shell demo in the issue and inspect how this backup utility invokes OpenSSL CMS. Read the linked OpenSSL issues and commit to determine whether the required cipher is available; done means the CMS encryption and decryption flow uses AES-256-GCM-SIV rather than AES-256-GCM.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.