def compute(): if len(self.shares) > 1: print threshold_scheme.recover_secret(self.shares) else: tkMessageBox.showerror(message='Need more shares!', title='Invalid Entry')
print('Generating secret fragments...') fragments = threshold_scheme.share_secret(secret, t, n) print('Shares:') i = 0 for f in fragments: i += 1 print('Share #{}:\np:\t\t\t{}\ncoprime:\t{}\nshare:\t\t{}\n'.format(i, f['p'], f['d'], f['k'])) # recovery part print('\n--- recovery of secret ---') # choosing any t parts can recover secret shuffle(fragments) recovery_set = fragments[:t] print('Recovery set:') i = 0 for f in recovery_set: i += 1 print('Recovery part #{}:\np:\t\t\t{}\ncoprime:\t{}\nshare:\t\t{}\n'.format(i, f['p'], f['d'], f['k'])) start_time = time() encrypted_secret = threshold_scheme.recover_secret(recovery_set) elapsed_time = time() - start_time if encrypted_secret == secret: print('--- SUCCESS ---\nTime elapsed: {}\nSecret:\n{}'.format(elapsed_time, encrypted_secret)) else: print("--- ERROR Decrypted secret doesn't equal encrypted secret ---\nTime elapsed: {}\nSecret:\n{}\n".format(elapsed_time, encrypted_secret)) if input('Enter "exit" to exit. Any other input will restart program: ').lower() != 'exit': restart()
def compute(): if len(self.shares) > 1: print threshold_scheme.recover_secret(self.shares) else: tkMessageBox.showerror(message = 'Need more shares!', title = 'Invalid Entry')