yubikey.rs icon indicating copy to clipboard operation
yubikey.rs copied to clipboard

mgm: Generalize TDES logic to enable other algorithms

Open str4d opened this issue 11 months ago • 4 comments

Part of #330.

Includes #584 because I don't have write permissions on the repo and thus can't create stacked PRs directly.

str4d avatar Jan 04 '25 17:01 str4d

@str4d if you can rebase and remove draft we can get this reviewed

tony-iqlusion avatar Feb 12 '25 21:02 tony-iqlusion

Rebased on main. Note that although I've marked it as not draft / ready for review, there are still some TODOs in the code that I want reviewers to comment on.

str4d avatar Feb 13 '25 00:02 str4d

Force-pushed to fix a rebase bug.

str4d avatar Feb 13 '25 00:02 str4d

Force-pushed to update a new test for the generalization.

str4d avatar Feb 13 '25 00:02 str4d

Rebased on main to fix merge conflicts.

str4d avatar Aug 09 '25 18:08 str4d

Force-pushed to address remaining TODOs and fill out changelog.

str4d avatar Aug 10 '25 13:08 str4d

Force-pushed to simplify changelog.

str4d avatar Aug 10 '25 14:08 str4d

Force-pushed to have MgmKey::generate callers select an algorithm at runtime instead of compile-time.

str4d avatar Aug 12 '25 11:08 str4d

I opened #620 (WIP) as an alternative exploring only runtime dynamism like I was suggesting.

Especially since the algorithm choice is runtime-dependent on the YubiKey version, I don't see what the generics/traits in this approach are adding. It feels overengineered to me, and I would prefer to keep the block cipher types out of the public API if possible.

tony-iqlusion avatar Aug 13 '25 20:08 tony-iqlusion

Pushed 333788029ed6df0b0a052c8471975ff2cd1496ba to show how removing SpecificMgmKey from this PR achieves the same goal.

str4d avatar Aug 17 '25 13:08 str4d

Rebased on main to fix merge conflicts after #621 was merged.

str4d avatar Aug 17 '25 14:08 str4d

Merged in #625

tony-iqlusion avatar Aug 22 '25 15:08 tony-iqlusion