예제 #1
0
    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 = []
예제 #2
0
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'
예제 #3
0
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)
예제 #4
0
    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))
예제 #5
0
파일: menu.py 프로젝트: bheroult/GS15-A19
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))