One problem we have (which was discussed a while back on this list) is that
our algorithm identifiers have no provision for variants. With IDEA this was
not a problem as there was only one IDEA. 3DES is pretty well standardized
on the version we use (EDE). CAST is technically a design procedure rather
than a cipher, and what we call CAST is properly known as CAST5-128, with
several other variations possible.
Why not just use the ISO AlgorithmIdentifiers, which (where they exist) are
well-know and standardised, and handle parameters and variants? The only
problem is that they're variable-length, but that shouldn't be a major problem,
especially since the current format doesn't handle algorithm parameters and
will need some sort of major change to support this anyway.
Peter.