def __init__(self): self.RSA = rsa.RSA() self.DSA = dsa.DSA() self.keys = self.RSA.get_key_pair() print("Client RSA private key: ", self.keys[1]) print("Client RSA public key: ", self.keys[0]) print( "==================================================================" ) N = 160 L = 1024 self.dsa_p, self.dsa_q, self.dsa_g = self.DSA.generate_params(L, N) self.dsa_priv_key, self.dsa_pub_key = self.DSA.generate_keys( self.dsa_g, self.dsa_p, self.dsa_q) print("Client DSA private key: ", self.dsa_priv_key) print("Client DSA public key: ", self.dsa_pub_key) print( "==================================================================" ) self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.socket.connect(('localhost', 8989)) self.server_pub_key = None self.server_dsa_pub_key = None self.requesting_thread = None self.listening_thread = None self.threads = []
def login(): token = raw_input('Provide your token: ').strip() name = raw_input('Provide your username: '******'Provide your password: '******'login'][0] or pwd != data['pwd'][0]: print '[-] Authentication failed' return print '[+] Welcome, %s' % data['login'][0] if 'admin' in data['role']: dsa.DSA() except: print '[-] Error'
def hw2_17(): e_in = [] e_out = [] for t in range(0, 5000): #generate data set. random.seed() noise = 0.2 data = [] x = [] while len(x) < 20: n = random.uniform(-1, 1) if not n in x: x.append(n) for i in range(0, 20): data.append([]) data[i].append([x[i]]) if random.random() < noise: data[i].append(-1 if x[i] >= 0 else 1) else: data[i].append(1 if x[i] >= 0 else -1) sign, i, theta, ein = dsa.DSA(data) eout = dsa.Eout(sign, theta, noise) print "%04d sign=%02d i=%d theta=%.3f e_in=%.3f e_out=%.3f" % ( (t + 1), sign, i, theta, ein, eout) e_in.append(ein) e_out.append(eout) print 'avg E-in:', sum(e_in) / len(e_in) print 'avg E-out:', sum(e_out) / len(e_out)
def __init__(self): self.RSA = rsa.RSA() self.DSA = dsa.DSA() self.keys = self.RSA.get_key_pair() print("Server RSA private key: ", self.keys[1]) print("Server RSA public key: ", self.keys[0]) print( "==================================================================" ) self.client_pub_key = None self.client_dsa_pub_key = None self.dsa_p = None self.dsa_q = None self.dsa_g = None self.dsa_priv_key = None self.dsa_pub_key = None self.client_socket = None self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.socket.bind(('localhost', 8989))
import iWantItAll import diffie import dsa import chiffrement # condition d'arrêt du programme end = False # objet contentant notamment la clé publique et la clé privée de l'utilisateur # (il n'est donc pas possible de posséder plusieurs couples de clés) dsa_obj = dsa.DSA() while end == False: choice = input("""\nBonjour ô maître ! Que souhaitez vous faire aujourd’hui ? ->1<- Générer des couples de clés publiques / privées. ->2<- Générer un certificat. ->3<- Vérifier la validité d’un certificat. ->4<- Partager une clé secrète. ->5<- Chiffrer un message. ->6<- Signer un message. ->7<- Vérifier une signature. ->8<- I WANT IT ALL !! I WANT IT NOW !! ->0<- Quitter le programme\n""") if int(choice) == 1: #si aucun couple de clé n'a déjà été généré if(dsa_obj._pubKey == None): print("Génération d'une clé publique et d'une clé privée en cours ...\n") dsa_obj.generation_cles() else: print("Clés déjà générées !!") print("Les clés générées sont : clé privée = " + str(dsa_obj._privKey) + " ; clé publique = " + str(dsa_obj._pubKey))