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

chore: make MAC equality check more idiomatic #6123

Merged

Conversation

AaronFeickert
Copy link
Collaborator

@AaronFeickert AaronFeickert commented Feb 5, 2024

Description

Cleans up the handling of cipher seed message authentication codes (MACs) to be more idiomatic.

Motivation and Context

A cipher seed has an associated MAC that is checked during decryption in constant time. Rather than using Choice::unwrap_u8 as is currently done, this PR uses the more idiomatic Into<bool> on Choice to be more resistant to mistakes or misuse. It also changes the logic slightly to avoid "failing open" by no longer returning an Ok at the end of the function by default, which helps to simplify the code and make the intent more clear.

How Has This Been Tested?

Existing tests pass.

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

Check that the updated logic matches the existing logic.

@AaronFeickert AaronFeickert requested a review from a team as a code owner February 5, 2024 18:51
@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 Feb 5, 2024
Copy link

github-actions bot commented Feb 5, 2024

Test Results (CI)

1 270 tests   1 270 ✅  11m 38s ⏱️
   39 suites      0 💤
    1 files        0 ❌

Results for commit 004d526.

Copy link

github-actions bot commented Feb 5, 2024

Test Results (Integration tests)

29 tests  +29   29 ✅ +29   12m 8s ⏱️ + 12m 8s
11 suites +11    0 💤 ± 0 
 2 files   + 2    0 ❌ ± 0 

Results for commit 004d526. ± Comparison against base commit 9ed0d7e.

@ghpbot-tari-project ghpbot-tari-project removed the P-reviews_required Process - Requires a review from a lead maintainer to be merged label Feb 6, 2024
@SWvheerden SWvheerden merged commit c9d9589 into tari-project:development Feb 6, 2024
13 of 14 checks passed
@AaronFeickert AaronFeickert deleted the subtle-mac-compare branch February 6, 2024 16:22
sdbondi added a commit to sdbondi/tari that referenced this pull request Feb 15, 2024
* development: (120 commits)
  chore: use log4rs 1.3 (tari-project#6148)
  fix: balanced binary merkle tree merged proof (tari-project#6144)
  chore(deps): bump libgit2-sys from 0.16.1+1.7.1 to 0.16.2+1.7.2 (tari-project#6145)
  feat: allow ffi to see lock height (tari-project#6140)
  chore(ci): add metrics targeted build, remove miner artifacts, misc clean ups (tari-project#6141)
  chore: suppress error (tari-project#6137)
  chore: fix versions to correct version (tari-project#6135)
  chore: add stringhandler gpg (tari-project#6134)
  chore: add pgp public key (tari-project#6139)
  feat: turn off node metrics by default (tari-project#6073)
  feat: add import tx method (tari-project#6132)
  chore: update pgp public key (tari-project#6129)
  chore: new testnet release (tari-project#6127)
  chore: update pgp key (tari-project#6128)
  fix(libtor): prevent metrics port conflict (tari-project#6125)
  fix(comms): correctly initialize hidden service (tari-project#6124)
  chore: make MAC equality check more idiomatic (tari-project#6123)
  chore: new release (tari-project#6120)
  fix: restart tx fix (tari-project#6119)
  chore: suppress warn log (tari-project#6118)
  ...
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants