for advanced users(like myself), i don't care about abstraction, but beginners that are not used to cryptographic operations, this can be a little too complex, what i suggest is to add a way to use the library for very beginners as well as advanced users.