code: def decipher(self,string,keep_punct=False):
                 
          # if we have not yet calculated the inverse key, calculate it now
          if self.invkey == '':
              for i in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ': 
                  self.invkey += self.i2a(self.key.index(i))
          if not keep_punct: string = self.remove_punctuation(string)
          ret = ''      
          for c in string.upper():
              if c.isalpha(): ret += self.invkey[self.a2i(c)]
              else: ret += c
          return ret
docs: Decipher string using Simple Substitution cipher according to initialised key.
  
          Example::
  
              plaintext = SimpleSubstitution('AJPCZWRLFBDKOTYUQGENHXMIVS').decipher(ciphertext)     
  
          :param string: The string to decipher.
          :param keep_punct: if true, punctuation and spacing are retained. If false, it is all removed. Default is False. 
          :returns: The deciphered string.