'Returns the byte string to use as the salt for the KDF.
:return:
A byte string'

@property
def kdf_salt(self):

    encryption_algo = self[u'algorithm'].native
    if (encryption_algo == u'pbes2'):
        salt = self[u'parameters'][u'key_derivation_func'][u'parameters'][u'salt']
        if (salt.name == u'other_source'):
            raise ValueError(unwrap(u'\n                                                                                Can    not    determine    key    derivation    salt    -    the\n                                                                                reserved-for-future-use    other    source    salt    choice    was\n                                                                                specified    in    the    PBKDF2    params    structure\n                                                                                '))
        return salt.native
    if (encryption_algo.find(u'.') == (-1)):
        if (encryption_algo.find(u'_') != (-1)):
            return self[u'parameters'][u'salt'].native
        raise ValueError(unwrap(u'\n                                                                Encryption    algorithm    "%s"    does    not    have    a    registered    key\n                                                                derivation    function\n                                                                ', encryption_algo))
    raise ValueError(unwrap(u'\n                                                Unrecognized    encryption    algorithm    "%s",    can    not    determine    key\n                                                derivation    salt\n                                                ', encryption_algo))
