code: func (s *SecureChannelSession) decryptAPDU(data []byte) ([]byte, error) {
  	a, err := aes.NewCipher(s.sessionEncKey)
  	if err != nil {
  		return nil, err
  	}
  
  	ret := make([]byte, len(data))
  
  	crypter := cipher.NewCBCDecrypter(a, s.iv)
  	crypter.CryptBlocks(ret, data)
  	return unpad(ret, 0x80)
  }
docs: // decryptAPDU is an internal method that decrypts and deserializes an APDU.