cryptor.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import socket
  2. import threading
  3. import config as cfg
  4. from .worker import Worker
  5. from nacl.public import PrivateKey
  6. def new_x25519():
  7. private_key = PrivateKey.generate()
  8. key_exchange = bytes(private_key.public_key)
  9. return bytes(private_key).hex() , key_exchange.hex()
  10. class Cryptor(Worker):
  11. def __init__(self, parent):
  12. super().__init__(self,parent)
  13. self.privatekey , self.key_exchange = new_x25519()
  14. print("\n\n CRYPTOR, \n ",self.privatekey ,type (self.key_exchange),"\n")
  15. def socketOracle(self,HOST,PORT):
  16. self.connector = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  17. self.connector.connect((HOST, PORT))
  18. t = threading.Thread(target=self.receive)
  19. t.start()
  20. self.toSEND({
  21. "type":"oracleInit",
  22. "oracle":"Cryptor"
  23. })
  24. print("socket is created and Listener is created\n")
  25. self.toSEND({
  26. "type":"key_exchange",
  27. "key_exchange":self.key_exchange
  28. })
  29. def start(self,a):
  30. print("Cryptor",a)
  31. self.socketOracle(self.connectorIP,self.connectorPort)