def test_generate_keypair(self): self.assertEqual(((103, 323), (151, 323)), rsa.generate_keypair(17, 19)) self.assertEqual(((194389, 1697249), (324589, 1697249)), rsa.generate_keypair(1229, 1381)) self.assertEqual(((8799823, 11188147), (5490847, 11188147)), rsa.generate_keypair(3259, 3433))
def test_generate_keypair(self): random.seed(1234567) self.assertEqual(((121, 323), (169, 323)), rsa.generate_keypair(17, 19)) self.assertEqual(((142169, 1697249), (734969, 1697249)), rsa.generate_keypair(1229, 1381)) self.assertEqual(((9678731, 11188147), (1804547, 11188147)), rsa.generate_keypair(3259, 3433))
def crack(): message = [ 84620, 66174, 66174, 5926, 9175, 87925, 54744, 54744, 65916, 79243, 39613, 9932, 70186, 85020, 70186, 5926, 65916, 72060, 70186, 21706, 39613, 11245, 34694, 13934, 54744, 9932, 70186, 85020, 70186, 54744, 81444, 32170, 53121, 81327, 82327, 92023, 34694, 54896, 5926, 66174, 11245, 9175, 54896, 9175, 66174, 65916, 43579, 64029, 34496, 53121, 66174, 66174, 21706, 92023, 85020, 9175, 81327, 21706, 13934, 21706, 70186, 79243, 9175, 66174, 81327, 5926, 74450, 21706, 70186, 79243, 81327, 81444, 32170, 53121 ] public_key = (29815, 100127) pk, public_key = rsa.generate_keypair() message = rsa.encrypt(public_key, "vi skulle egentlig ha en pong greie") e, n = public_key primes = rsa.PrimeGen(1000) for p in primes: if n % p == 0: q = n // p break phi = (p - 1) * (q - 1) d = rsa.multiplicative_inverse(e, phi) attempt = rsa.decrypt((d, n), message)
def post(self, request): form=SellLandForm(request.POST) if form.is_valid(): landno=int(form.cleaned_data["land_number"]) fromaadahar=int(form.cleaned_data["from_aadhar"]) owner=form.cleaned_data["owner_name"] aadhar=int(form.cleaned_data["aadhar_number"]) panno=form.cleaned_data["land_number"] pubkeyobj=get_object_or_404(PublicKey, aadhar=1) pubkey,privatekey=rsa.generate_keypair(pubkeyobj.p_val, pubkeyobj.q_val) cipher=rsa.encrypt(privatekey, message) print("Params",landno, fromaadahar, aadhar, owner, panno,43, msgord, cipher, pubkeyobj.n_val(), len(message)) Bhoomi.transact({"from":web3.eth.coinbase}).sellLand(landno, fromaadahar, aadhar, owner, panno, pubkey[0], msgord, cipher, pubkeyobj.n_val(), len(message)) return render(request, "ownerportal/setown_succ.html") context={ "form":form, } return render(request, "ownerportal/setowner.html", context)
def on_generate(self, widget): p = self.p q = self.q if(p.get_text() == '' or q.get_text() == '' or not p.get_text().isdigit() or not q.get_text().isdigit()): self.on_error("Check inputs again") return try: pu, pr = generate_keypair(int(p.get_text()), int(q.get_text())) except: self.on_error("Check inputs again") return dialog = Gtk.MessageDialog(self, 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "Success") dialog.format_secondary_text( "Public Key: " + str(pu[0]) + ', ' + str(pu[1]) + "\nPrivate Key: " + str(pr[0]) + ', ' + str(pr[1])) dialog.run() dialog.destroy()
def generer(Labele, Labeln, Labeld, p, q): try: e, n, d = rsa.generate_keypair(p, q) print("e = ", e) print("n = ", n) print("d = ", d) Te = StringVar() Tn = StringVar() Td = StringVar() Te.set("e = " + str(e)) Tn.set("n = " + str(n)) Td.set("d = " + str(d)) Labele['textvariable'] = Te Labeln['textvariable'] = Tn Labeld['textvariable'] = Td Labele.pack(side=LEFT, padx=5, pady=5) Labeln.pack(side=LEFT, padx=5, pady=5) Labeld.pack(side=LEFT, padx=5, pady=5) except ValueError as erreur: messagebox.showerror("Mauvais choix", erreur)
import sys import rsa if __name__ == '__main__': inputfile = sys.argv[1] outputfile = sys.argv[2] print(inputfile) print(outputfile) # p = int(input("Enter a prime number (17, 19, 23, etc): ")) # q = int(input("Enter another prime number (Not one you entered above): ")) p, q = rsa.generate_primes(1000, 10000) print('p = ', p, ' q = ', q) print('n = p*q =', p * q) print("Generating public/private keys. Please, wait.") public, private = rsa.generate_keypair(p, q) print("Your public key is ", public, " and your private key is ", private) rsa.encrypt_and_write(inputfile=inputfile, outputfile=outputfile, key=public) rsa.decrypt_and_write(inputfile=outputfile, outputfile='decrypt_' + inputfile, key=private)
import socket import threading import time from tkinter import * import pickle import rsa import binascii name = input("enter your name : ") public, private = rsa.generate_keypair(1024) msg = pickle.dumps(public) #print(public[0]) def set_ip(): ip = edit_text_ip.get() port = edit_text_port.get() # Define Server: server = socket.socket() server.bind((ip, int(port))) server.listen() global conn conn, addr = server.accept() # distryo input root input_root.destroy() # end of input root input_root.quit()
# a212_generate_keys.py import rsa as rsa print("Generating your public/private keypairs now . . .") keys = rsa.generate_keypair() print("Public key: ", keys[0]) print("Private key: ", keys[1]) print("Modulus: ", keys[2])
import rsa private, public = rsa.generate_keypair(512) txt = 'deadbeef' message = rsa.Message.from_hex(txt) message.encrypt(public) message.decrypt(private) assert message == rsa.Message.from_hex(txt) message.encrypt(private) message.decrypt(public) assert message == rsa.Message.from_hex(txt) message = rsa.Message.from_str('kinakuta') signature = message.sign(private) assert message.verify(signature, public) print('It works!')
def test_generate_keypair(self): public, private = rsa.generate_keypair(17, 23) self.assertEqual(private[1], 391) self.assertEqual(public[1], 391)