Code:
static void init_crypt(struct crypt_block *block, uint8 *key, int len)
{
block->state = *key;
block->counter=0;
block->sum=0;
}
Da block->state nur 1 Byte groß ist, wird immer nur das erste Byte des Key verwendet und der Rest ignoriert ... fällt auch dadurch auf, daß "len" garnicht verwendet wird.
PS: Bei len=0 und vorallem *key=nil wird es knallen, da es dort dieses Byte garnicht gibt.