type ctr … const streamBufferSize … type ctrAble … // NewCTR returns a [Stream] which encrypts/decrypts using the given [Block] in // counter mode. The length of iv must be the same as the [Block]'s block size. func NewCTR(block Block, iv []byte) Stream { … } func (x *ctr) refill() { … } func (x *ctr) XORKeyStream(dst, src []byte) { … }