code: def encryption_cipher(self):
          
  
          encryption_algo = self['algorithm'].native
  
          if encryption_algo[0:7] in set(['aes128_', 'aes192_', 'aes256_']):
              return 'aes'
  
          if encryption_algo in set(['des', 'rc2', 'rc5']):
              return encryption_algo
  
          if encryption_algo == 'tripledes_3key':
              return 'tripledes'
  
          if encryption_algo == 'pbes2':
              return self['parameters']['encryption_scheme'].encryption_cipher
  
          if encryption_algo.find('.') == -1:
              return {
                  'pbes1_md2_des': 'des',
                  'pbes1_md5_des': 'des',
                  'pbes1_md2_rc2': 'rc2',
                  'pbes1_md5_rc2': 'rc2',
                  'pbes1_sha1_des': 'des',
                  'pbes1_sha1_rc2': 'rc2',
                  'pkcs12_sha1_rc4_128': 'rc4',
                  'pkcs12_sha1_rc4_40': 'rc4',
                  'pkcs12_sha1_tripledes_3key': 'tripledes',
                  'pkcs12_sha1_tripledes_2key': 'tripledes',
                  'pkcs12_sha1_rc2_128': 'rc2',
                  'pkcs12_sha1_rc2_40': 'rc2',
              }[encryption_algo]
  
          raise ValueError(unwrap(
              '''
              Unrecognized encryption algorithm "%s"
              ''',
              encryption_algo
          ))
docs: Returns the name of the symmetric encryption cipher to use. The key
          length can be retrieved via the .key_length property to disabiguate
          between different variations of TripleDES, AES, and the RC* ciphers.
  
          :return:
              A unicode string from one of the following: "rc2", "rc5", "des",
              "tripledes", "aes"