object a = Crypto.CRC16();
/usr/local/pike/7.8.447/lib/modules/Crypto.pmod/module.pmod:118:Illegal program pointer.
You need to put the class you inherit before the inherit itself. This is one case where the pike compiler isn't independent on order.
Btw, it looks rather odd to me that you inherit the hash state class into the base algorithm class. The hash state is supposed to contain the context for a specific hashing while the algorithm class has the static data (e.g. the polynomial). And the algorithm class (which is a module and hence just a single instance) cannot return itself as state, because then several hashings running in parallell would clobber each other.