Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: improve message encryption #5288

Merged
merged 2 commits into from
Apr 19, 2023

Conversation

AaronFeickert
Copy link
Collaborator

@AaronFeickert AaronFeickert commented Apr 4, 2023

Description

Improves message encryption using key-blinding signatures. Updates tari-crypto to the latest version for proper compatibility.

Closes issue 5255.

Motivation and Context

Currently, message encryption uses an encrypted signature. A recent formalization of key-blinding signatures offers an interesting new approach that allows any network node to verify an unencrypted signature on a masked key. This PR updates message encryption to use such a design.

How Has This Been Tested?

Existing, modified, and new tests pass.

What process can a PR reviewer use to test or verify this change?

Examine and run tests. Assert that message encryption follows these flowcharts.

Breaking Changes

None. While existing messages will not verify, this should not affect new messages that use the updated design.

@AaronFeickert AaronFeickert changed the title feat!: improve message encryption feat: improve message encryption Apr 4, 2023
@ghpbot-tari-project ghpbot-tari-project added P-acks_required Process - Requires more ACKs or utACKs P-reviews_required Process - Requires a review from a lead maintainer to be merged labels Apr 4, 2023
@AaronFeickert AaronFeickert force-pushed the masked-message-sig branch 4 times, most recently from 2a5ec90 to a63a949 Compare April 5, 2023 20:05
@stringhandler stringhandler added the P-do_not_merge Process - Not ready for merging label Apr 6, 2023
@stringhandler
Copy link
Collaborator

Just marking this with DNM for now until the tari crypto version has been published to crates.io

@AaronFeickert AaronFeickert force-pushed the masked-message-sig branch 3 times, most recently from 731451e to 1ab2ba6 Compare April 11, 2023 14:46
@AaronFeickert AaronFeickert marked this pull request as ready for review April 11, 2023 14:48
@AaronFeickert AaronFeickert force-pushed the masked-message-sig branch 3 times, most recently from 6431962 to b92b61c Compare April 13, 2023 18:49
@AaronFeickert
Copy link
Collaborator Author

Just marking this with DNM for now until the tari crypto version has been published to crates.io

@stringhandler: Should be fine to remove this label now.

@AaronFeickert AaronFeickert force-pushed the masked-message-sig branch 2 times, most recently from 7b9648b to ba5a9b0 Compare April 17, 2023 14:00
SWvheerden
SWvheerden previously approved these changes Apr 17, 2023
@ghpbot-tari-project ghpbot-tari-project removed the P-reviews_required Process - Requires a review from a lead maintainer to be merged label Apr 17, 2023
@SWvheerden
Copy link
Collaborator

utAck

SWvheerden
SWvheerden previously approved these changes Apr 18, 2023
@SWvheerden SWvheerden merged commit 7a80716 into tari-project:development Apr 19, 2023
@AaronFeickert AaronFeickert deleted the masked-message-sig branch April 19, 2023 14:04
SWvheerden added a commit that referenced this pull request May 8, 2023
##
[0.50.0-pre.1](v0.50.0-pre.0...v0.50.0-pre.1)
(2023-05-08)


### Features

* add miner timeout config option
([5331](#5331))
([aea14f6](aea14f6))
* chat ffi ([5349](#5349))
([f7cece2](f7cece2))
* chat scaffold
([5244](#5244))
([5b09f8e](5b09f8e))
* improve message encryption
([5288](#5288))
([7a80716](7a80716))
* **p2p:** allow listener bind to differ from the tor forward address
([5357](#5357))
([857fb55](857fb55))


### Bug Fixes

* add SECURITY.md Vulnerability Disclosure Policy
([5351](#5351))
([72daaf5](72daaf5))
* added missing log4rs features
([5356](#5356))
([b9031bb](b9031bb))
* allow public addresses from command line
([5303](#5303))
([349ac89](349ac89))
* clippy issues with config
([5334](#5334))
([026f0d5](026f0d5))
* default network selection
([5333](#5333))
([cf4b2c8](cf4b2c8))
* make the first output optional in the wallet
([5352](#5352))
([bf16140](bf16140))
* remove wallet panic
([5338](#5338))
([536d16d](536d16d))
* wallet .h file for lib wallets
([5330](#5330))
([22a3a17](22a3a17))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-acks_required Process - Requires more ACKs or utACKs P-do_not_merge Process - Not ready for merging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider the use of key-blinding signatures for encrypted messages
4 participants