code: func hiddenIndices(Disclosure []byte) []int {
  	HiddenIndices := make([]int, 0)
  	for index, disclose := range Disclosure {
  		if disclose == 0 {
  			HiddenIndices = append(HiddenIndices, index)
  		}
  	}
  	return HiddenIndices
  }
docs: // A signature that is produced using an Identity Mixer credential is a so-called signature of knowledge
  // (for details see C.P.Schnorr "Efficient Identification and Signatures for Smart Cards")
  // An Identity Mixer signature is a signature of knowledge that signs a message and proves (in zero-knowledge)
  // the knowledge of the user secret (and possibly attributes) signed inside a credential
  // that was issued by a certain issuer (referred to with the issuer public key)
  // The signature is verified using the message being signed and the public key of the issuer
  // Some of the attributes from the credential can be selectvely disclosed or different statements can be proven about
  // credential atrributes without diclosing them in the clear
  // The difference between a standard signature using X.509 certificates and an Identity Mixer signature is
  // the advanced privacy features provided by Identity Mixer (due to zero-knowledge proofs):
  //  - Unlinkability of the signatures produced with the same credential
  //  - Selective attribute disclosure and predicates over attributes
  // Make a slice of all the attribute indices that will not be disclosed