def siqs(self): # attempt a Self-Initializing Quadratic Sieve # this attack module can be optional try: from siqs import SiqsAttack except ImportError: if self.args.verbose: print "[*] Warning: Yafu SIQS attack module missing (siqs.py)" return if self.pub_key.n.bit_length() > 1024: print "[*] Warning: Modulus too large for SIQS attack module" return siqsobj = SiqsAttack(self.args, self.pub_key.n) if siqsobj.checkyafu() and siqsobj.testyafu(): siqsobj.doattack() if siqsobj.p and siqsobj.q: self.pub_key.q = siqsobj.q self.pub_key.p = siqsobj.p self.priv_key = PrivateKey(long(self.pub_key.p), long(self.pub_key.q), long(self.pub_key.e), long(self.pub_key.n)) return
def siqs(self): # attempt a Self-Initializing Quadratic Sieve # this attack module can be optional try: from siqs import SiqsAttack except ImportError: if self.args.verbose: print("[!] Warning: Yafu SIQS attack module missing (siqs.py)") return if self.pub_key.n.bit_length() > 1024: print("[!] Warning: Modulus too large for SIQS attack module") return siqsobj = SiqsAttack(self.args, self.pub_key.n) if siqsobj.checkyafu() and siqsobj.testyafu(): siqsobj.doattack() if siqsobj.p and siqsobj.q: self.pub_key.q = siqsobj.q self.pub_key.p = siqsobj.p self.priv_key = PrivateKey(int(self.pub_key.p), int(self.pub_key.q), int(self.pub_key.e), int(self.pub_key.n)) return