def test__Sieve__second_level_compounding_repr(): even_sieve = Sieve(is_even) positive_sieve = Sieve(is_positive) thirteen_sieve = Sieve(is_thirteen) compound_sieve = (even_sieve & positive_sieve) | thirteen_sieve assert repr( compound_sieve) == "Sieve((is_even & is_positive) | is_thirteen)"
def test__Sieve__second_level_compounding(): even_sieve = Sieve(is_even) positive_sieve = Sieve(is_positive) thirteen_sieve = Sieve(is_thirteen) compound_sieve = (even_sieve & positive_sieve) | thirteen_sieve assert compound_sieve(8) is True assert compound_sieve(-8) is False assert compound_sieve(13) is True
def test__Sieve__intersection(): even_sieve = Sieve(is_even) positive_sieve = Sieve(is_positive) intersection_sieve = even_sieve & positive_sieve assert intersection_sieve(8) is True assert intersection_sieve(-8) is False assert intersection_sieve(9) is False assert intersection_sieve(-9) is False
def __init__(self, bg, sieve_function=None, general=None, reach_function=None, selfcentered=False): self.bg = bg self.general = general self.sieve = Sieve(general, sieve_function) if sieve_function else None self.reach = Sieve(general, reach_function) if reach_function else None self.selfcentered = selfcentered
def __init__(self, n_holders, min_holder, secret, verbose=False): self.__verbose = verbose self.__sieve = Sieve() self.__n_holder = n_holders self.__min_holder = min_holder self.__holders = [Holder() for _ in range(n_holders)] self.__secret = secret self.__generateHolders()
def main(): sieve = Sieve() number_of_holders = int(input("Input number of holders : ")) while number_of_holders < 1: number_of_holders = int( input("Number must be larger than one. Try again : ")) min_number_to_solve = int( input("Input minimum number of holders to retrieve the secret : ")) while min_number_to_solve > number_of_holders or min_number_to_solve < 1: min_number_to_solve = int( input( "Number of minimum must be between 1 and number of holders. Try again : " )) secret = int(input("Input secret : ")) while secret < 0: secret = int(input("Secret must not be less than zero. Try again :")) # SSS Object generation_start = time.time() SSS = AsmuthBloom(number_of_holders, min_number_to_solve, secret, verbose=True) generation_end = time.time() # Sequence print("Sequence") for sequence in SSS.getSequence(): print(sequence) # Print holders for holder in SSS.getHolders(): print(holder) # Solve secret # For now choice is totally random solve_start = time.time() secret = SSS.solve() solve_end = time.time() print("Generation time (s): " + str(generation_end - generation_start)) print("Solving time (s): " + str(solve_end - solve_start)) print(secret)
def test__Sieve__union_repr(): even_sieve = Sieve(is_even) positive_sieve = Sieve(is_positive) intersection_sieve = even_sieve | positive_sieve assert repr(intersection_sieve) == "Sieve(is_even | is_positive)"
def test__Sieve__negation_repr(): sieve = Sieve(is_even) is_odd = -sieve assert repr(is_odd) == "Sieve(not(is_even))"
def test__Sieve__negation(): sieve = Sieve(is_even) is_odd = -sieve assert is_odd(8) is False assert is_odd(9) is True
def test__Sieve__call(): sieve = Sieve(is_even) assert sieve(8) is True assert sieve(9) is False
def test__Sieve__repr(): sieve = Sieve(is_even) assert repr(sieve) == "Sieve(is_even)"
def test__Sieve__creation(): sieve = Sieve(is_even)
def test__Sieve__empty(): sieve = Sieve() assert repr(sieve) == "Sieve(True)" assert sieve(10) is True assert sieve("mille") is True assert sieve({}) is True
ovpn_path = results.ovpn_path config_path = results.config_path outfile = results.outfile date = results.date timeout = results.timeout try: is_admin = os.getuid() == 0 except AttributeError: is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0 if not is_admin: raise Exception('Please run as root/admin, since OpenVPN needs admin privileges') if os.path.isfile('output/' + outfile): # Check if file is existent, if not, remove dates and proceed combos = 'output/' + outfile else: sv = Sieve(date=date, outfile=outfile) sv.filter() combos = sv.write() if config_path is None: for filename in os.listdir('ovpn/'): if filename.endswith('.ovpn'): config_path = 'ovpn/' + filename break cn = Connector(ovpn_path=ovpn_path, config_path=config_path, combos=combos, timeout=timeout) cn.unpack() cn.connect()
# -*- coding: utf-8 -*- """ Created on Fri Nov 30 10:55:07 2018 @author: XZentus """ from math import log10 from sieve import Sieve limit = 10000 sieve = Sieve(100000000) def concat_nums(n1, n2): return n1 * 10**(1 + int(log10(n2))) + n2 def check_pair(n1, n2, sieve=sieve): is_prime = sieve.is_prime return is_prime(concat_nums(n1, n2)) and is_prime(concat_nums(n2, n1)) def check_collect(lst, elements_to_add): next_prime = sieve.next_prime is_prime = sieve.is_prime if elements_to_add == 0: