def process(self, data):
     #print '\n--------------'
     #print data
     try: d = nDDB.decode(data)
     except: return None, None, None
     #print d
     #print '--------------\n'
     if not d or (not (d.has_key('cmd') or d.has_key('msg'))): return None, None, None
     if d.has_key('sig'): return d['cmd'], d['msg'], d['sig']
     return d['cmd'], d['msg'], None
 def set_pub_key(self, msg, signature):
     vr = auth.verify_signature(self.secret, self.salt, msg, signature)
     if vr:
         k_dict = nDDB.decode(qcrypt.denormalize(msg))
         k = RSA.generate(1, os.urandom)
         k.__setstate__(keyfile.proc_key_dict(k_dict))
         print 'public key recieved and verified'
     else:
         print 'incorrect message signature'
         k = None
     self.pub_key = k