Crypt-Tea reviews

RSS | Module Info | Add a review of Crypt-Tea

Crypt-Tea (1.44) *

The author is well-aware, that a similar module Crypt::TEA (uppercase!) already existed on CPAN when he uploaded the module. The similarity isn't the problem, but on case-insensitive or case-preserving file systems, the two modules will conflict. Since this violates a fundamental CPAN law, the overall rating cannot be higher than 1.

The embedded documentation is wrong! It documents functions that are not exported, others are exported but not documented. Furthermore, no license information is given.

As far as the interface is concerned, I cannot see a reason why non-standard asciify-functions should be exported at all.

The test script does not follow the conventions used for CPAN modules.

A custom installer (the file "Install") may be a nice exercise for Perl beginners but is rather a waste of space than a helper. By convention, files named "INSTALL" contain installation information, not an install script.

Apart from that, the module is probably usable, but it violates a lot of unwritten and written conventions for CPAN modules, hence the bad rating.

Proposed enhancements:

1) Rename the module to "Crypt::TEA_PP" (following the general convention in the Crypt:: namespace).

2) Implement the complete interface required by Crypt::CBC (i. e. make it compatible with Crypt::TEA).

3) Implement the additional bells and whistles (TEA in JavaScript, CBC mode etc.) in new functions (encrypt_cbc(), decrypt_cbc(), tea_in _javascript(), ...) and consider an OO approach or at least reduce the amount of exported symbols. @EXPORT_OK is much better suited for typical helper functions.

4) Add the test suite from Crypt::TEA to the module. A standard and exhaustive test suite gives the user a much better feeling with cryptographic modules, because of issues like endianness or integer sizes.