1234567891011121314 |
- Convert EncryptionAlgo, DecryptionAlgo, SignAlgo, VerifyAlgo to traits.
- Modify SymKey and AsymKey<T> to hold the state needed to perform these operations, rather than
- just buffers of serialized data, and implement these traits.
- Manually implement the Serialize and Deserialize traits for these types.
- Split AsymKey<T> into two types, one for private and on for public keys.
- The public part should be an enum, AsymKeyPublic, allowing operations to be performed in software.
- The private part should be a trait, AsymKeyPrivate, requiring all operations to be deferred to an
- implementation, which may use a hardware device to execute them.
- AsymKeyPrivate = DecryptionAlgo + SignAlgo
|