I've just finished the core code for my Crypt::RC6 extension. The API is still in puberty. Before I mature it anymore, I'd be interested in hearing what monks look for in a crypto API.
Right now what I have in mind is:
- The ability to throw large amounts of data at an (?:en|de)cryption method and not have to worry about the size of the blocks.
- Transparent handling of various data types. Methods should be able to handle scalars, arrays, hashes at _least_.
- Automatic secure hashing of user supplied keys. This would eliminate the need to pre-hash passphrases, etc.
- Multiple encryption modes. ECB is implemented, CBC will follow soon.
Any suggestions would be greatly appreciated.
Thanks!