// new returns a fresh instance of the given cipher. func (cipher CipherFunction) new(key []byte) (block cipher.Block) { switch cipher { case Cipher3DES: block, _ = des.NewTripleDESCipher(key) case CipherCAST5: block, _ = cast5.NewCipher(key) case CipherAES128, CipherAES192, CipherAES256: block, _ = aes.NewCipher(key) } return }
func newCast5Stream(key, iv []byte, doe DecOrEnc) (cipher.Stream, error) { block, err := cast5.NewCipher(key) return newStream(block, err, key, iv, doe) }