Description
I feel like the fact that implementors have to implement serialization by hand is somewhat bothersome.
While it has improved a lot over the years (and the necessary boilerplate code has been reduced a lot), Representations may still pose our most significant barrier to entry.
So one of the main use-cases for our library is fast prototyping of schemes. The end result is not production-grade secure anyway, so why force people to manually write a serialization format whose main purpose is to offer security through safe deserialization?
I want to collect ideas how to further lessen or remove the overhead represented by the Representation framework for high-level constructions (I'm more fine with Representations being a thing for mid or low level primitives).
Rough initial thoughts:
- Enable/advertise Java's built-in serialization
- Con: serializations are probably incredibly large. Maybe we can hook into the framework and blend it with Representation stuff?
- Change APIs to make serialization capabilities more optional.
- Come up with even more automation for serialization.
- We can probably decide via static type what object to use deserialize in 99% of cases. How many
EncryptionSchemes
can possibly be involved in the current context? For this, maybe we'd have to introduce new interfacesG1,G2,GT
or something.
- We can probably decide via static type what object to use deserialize in 99% of cases. How many