Closed h5law closed 1 year ago
@Olshansk bump
Patch and project coverage have no change.
Comparison is base (
2489d3b
) 31.52% compared to head (1a4293c
) 31.52%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Description
This PR updates the V1 codebase to encrypt keys using NaCl (libsodium) SecretBox cipher instead of AES-GCM due to the large number of benefits. These include the ability to use a random nonce, excellent efficiency for small messages (our keys are small) and the
XSalsa20
stream cipher used by SecretBox provides a higher confidence in its security compared to AES and is a faster safer implementation compared to AES.This change means V0 keys are now only partially interoperable with V1 and can now only be imported via their private hex strings.
A tool to convert V0 JSON files to V1 JSON files: https://gist.github.com/h5law/b5fde79f629ba960886b98ac12de6536 at a later date this can be implemented into the web wallet or CLI.
Summary generated by Reviewpad on 14 Jun 23 13:31 UTC
This pull request contains various updates related to the Keybase module in the codebase. It includes changes to the implementation of private key encryption and armouring, child key generation, and interoperability between protocols. The TestKeybase_ImportKeyFromStringNoPassphrase test function has been updated and is passing, and the
debug_keybase.bak
file has changed in thebuild/debug_keybase
directory. Additionally,CHANGELOG.md
has been updated with new version releases0.0.0.35
,0.0.0.49
, and0.0.0.61
, with changes to encryption and backup binary. Finally, theshared/crypto/README.md
file has been updated with documentation related to cryptographic operations in this package.Issue
Fixes N/A
Type of change
Please mark the relevant option(s):
List of changes
Testing
make develop_test
; if any code changes were mademake test_e2e
on k8s LocalNet; if any code changes were madee2e-devnet-test
passes tests on DevNet; if any code was changedRequired Checklist
godoc
format comments on touched members (see: tip.golang.org/doc/comment)If Applicable Checklist
shared/docs/*
if I updatedshared/*
README(s)