hello John, On Friday 16 June 2006 00:57, John Pritchard wrote: > dear reader, > > attached is an OAEP AONT, ready for your comments or cvs thanks for your contribution! i do have some comments: * it would be very helpful to include in the class documentation web references (HREFs) to cited documents and works the implementation is based on. i believe all three cited references are available on the net. * why not specify a default cipher, similar to H and R? a 0-arguments constructor can then call the non-trivial constructor with the default block size of the _default_ cipher. * is there other implementations of this scheme with published test vectors? if not i think you should generate one such value and test for it in the self-test method. a self-test relying solely on symmetric operation, especially with this type of mode is meaningless. * property names, all (to my knowledge) start with "gnu.crypto" whatever package the classes using them, live in. so INIT_H should read: gnu.crypto... furthermore for property names, the lower-case, dotted form is generally preferred, unless it references a parameter described in the reference paper(s) of the algorithm; hence acceptable names of INIT_H could be: gnu.crypto.oae.H or gnu.crypto.oae.hash.name (see the TMMH16 mac). * InitHash, InitRand, and InitGenerator do not exist (anymore) --i suspect you had separate methods so named, and called from the init() method in a previous incarnation of this code. * JavaDoc does not like OAE$Generator, Registry.SHA160_HASH. OAE.Generator and Registry#SHA160_HASH are ok. * we don't qualify classes from the java.lang package, so for example writing String instead of java.lang.String is better. * some other style inconsistencies which can be ironed out by using an Eclipse IDE (with the GNU style formatter if it does not already use it by default), or at least the Eclipse Formatter for Java (<http://www.bagu.org/eclipse/efj/>). cheers; rsn