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