In codec.js/decode(), digestMessage() can be called up to 3 times to hash 'encrypted' which may be large. This is a performance bug.