CA MARCHE

This commit is contained in:
Fomys 2018-11-19 22:41:39 +01:00
parent 8fe90ac427
commit 5c3394c28e
4 changed files with 80 additions and 94 deletions

View File

@ -12,12 +12,12 @@ try:
# noinspection PyUnresolvedReferences
from Crypto.PublicKey import RSA as RSA
# noinspection PyUnresolvedReferences
from Crypto.Cipher import PKCS1_OAEP
from Crypto.Cipher import PKCS1_OAEP as PKCS1_OAEP
pycryptodome = False
except ModuleNotFoundError: # Pycryptodomex
from Cryptodome.PublicKey import RSA as RSA
from Cryptodome.Cipher import PKCS1_OAEP
from Cryptodome.Cipher import PKCS1_OAEP as PKCS1_OAEP
pycryptodome = True
@ -82,7 +82,6 @@ class MainThread(threading.Thread):
rsa = self.RsaGenThread(self)
rsa.start()
rsa.join()
print(type(self.rsa))
self.clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.clientSocket.connect((HOST, PORT))
self.initialisation()
@ -93,7 +92,7 @@ class MainThread(threading.Thread):
self.send(header + content)
data = self.receive_rsa()
header = self.extract_header(data[:BUFFER_SIZE])
if header["type"] != b"init":
if header[b"type"] != b"init":
debug("Incorrect request type, end of connection")
return
self.aes_key = data[BUFFER_SIZE:]
@ -115,7 +114,7 @@ class MainThread(threading.Thread):
if data_lines[0] != VERSION:
raise ValueError("Version is incorrect.")
return {
l.split(b": ")[0]: l.split(b": ")[1] for l in data_lines
l.split(b": ")[0]: l.split(b": ")[1].rstrip(b";") for l in data_lines[1:]
}
@staticmethod
@ -133,7 +132,6 @@ class MainThread(threading.Thread):
:rtype: bytes"""
if type_ not in REQUEST_TYPE:
raise ValueError("Unknown request type")
return
header = VERSION + b"\ntype: " + type_
if to_:
header += b"\nto: " + to_
@ -143,7 +141,7 @@ class MainThread(threading.Thread):
class RsaGenThread(threading.Thread):
def __init__(self, client_, difficulty=4):
def __init__(self, client_, difficulty=2):
threading.Thread.__init__(self)
self.client = client_
self.difficulty = difficulty
@ -182,12 +180,11 @@ class MainThread(threading.Thread):
cipher_rsa = PKCS1_OAEP.new(recipient_key)
raw = self.receive()
content = b""
for to_send_text in [raw[i:i + CHUNK_SIZE] for i in range(0, len(raw), CHUNK_SIZE)]:
print(content)
content += cipher_rsa.decrypt(to_send_text)
for to_decrypt in [raw[i:i + self.rsa.publickey().size_in_bytes()] for i in range(0, len(raw), self.rsa.publickey().size_in_bytes())]:
content += cipher_rsa.decrypt(to_decrypt)
return content
############################################ COMMUNICATION WITHOUT CRYPTING ########################################
############################################ COMMUNICATION WITHOUT CRYPTING ############################################
def receive(self):
"""Receive message from connection
@ -204,8 +201,8 @@ class MainThread(threading.Thread):
if chunk != END_MESSAGE:
# Get content part
# int.from_bytes(chunk[:2], byteorder='big') == Get content size
content += chunk[2:int.from_bytes(chunk[:2], byteorder='big')+2]
debug(b"Received : " + content)
content += chunk[2:int.from_bytes(chunk[:2], byteorder='big') + 2]
debug(b"Received: " + content)
return content
def send(self, to_send):

View File

@ -1,63 +1,57 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

View File

@ -1,17 +1,15 @@
-----BEGIN PUBLIC KEY-----
MIICojANBgkqhkiG9w0BAQEFAAOCAo8AMIICigKCAoEAmoi9rbZ6kiCZMaLeX46S
KQ+hN8kkt/d6VV6pH7n8Mw9Di4xc2dvosVGwBVvsDzYC4sS5+orU76ps0uvELZgQ
Q8++2bfXXeRYWeucrZSA850vfokVKDTjkNVCJoOUGBeNgVxh2I8Mzn8logyFvbP6
TQKRz+lY+ah7uKA2bp3PTr7uNrB4hhFvfwVBOMu9ismziBOy6Jjj4nHzhpWjPug7
cWhiae2jPdacGCmqRog1cAspiyZ7Lkg+0pUrJWMeRHtCfhA8KHwYPQj423rO7Dz6
lAEN/yqJeU34dva+rqWFPsrrXpO5FyJwa1VWqLZQvI3KjMmGd4d2Uxp4tIkJyEwE
v7IiKKc7xcl4hoesQr4dQiBVD7434zhzvk4N1BPwq7dY0ryYYyv0UhAw3oJyk3GE
agCejts0cej/MgugiR4qHkes59ZBd8KN96xI9J4iCSfFoOL8GqgsSYkD0rAn+JOY
advvdhD+p2lok0PqaOZm702MbUO+d0NEZa18z0YrEM2ttig327g0X7o8P/zwrh0i
5BCVtD6qeO2RFub0sDOYvqmDP2ueuX5lWq5oERi33Yxm7cEfZMD6i8eD03QIIWIU
4R4drs9VmPoqsSXPLxn0o1W7qo27rIUrfgFylmQdWPef/rsEP0RVfaLoDNL1e/Fg
RNi1eeueNlFoFgob/9GNekLhjQneTnvPntbFKD0fgYcmskW48J1eCego9CXKzfH+
QMlDAknkq16ykmvyiNMisAGgxif9vnACkT4l3srHpv7PRDBR7YRS/4Yeu64FH9Oy
QkX4eE9MCY8GdNfYE4Q0GQzDtmCpfAWO0oXOoFLA0CZZD4pqTKB7XnmUpjd+Wbfs
mwIDAQAB
MIICYjANBgkqhkiG9w0BAQEFAAOCAk8AMIICSgKCAkEAyCjkX4LpaXrvh8oeVq6r
dNLNpVBUiJxSX8CJizqB6Z/m8/4ZR69V0H/MzVjngnczA9Z2ITsIJ3ZLpGxL5TNC
4Kv5q3LKsvhuSWMTq97q2bKaeCBrROOurG5FxWrTqLHbs5U47kJEDKH6Orn42l6t
jvl/74qWTRarpZ4lbNfIkbM45rp10OhZNnjCsuxlcWEhGn5bp6IrSsQ0ZIYfwNLw
sEDjkn/fCz9NY0ZouT8ua/RnEkW7s6KOAdoaQi6LSADq9BXK+c4Zdfb5E7ScBzHM
jl10AqyNSHZ3DnFL5AEdzC4ZbmXLSbAKuglFnplKoXRZm6rUb2rWU3NDQ9LVIoUp
OfHUD+ip6V9nuQHIS7KVHJ0hgu9s3lRwN5YwnNz5OqcxWB2eLw8PLaH0WNRTmfbl
9EEf2huhUpgXv/DI+7J0dfnSpxaGO0YAZnjm0x+E/ryXq3vpGb3uErgJ8iuro6MF
LE7u9iiAr8HQisGiVVIPgvmns3fqHJq1tJ1p0GSjHN+Of2QQPx7TSpt/5Ew3Y/pZ
/ho8vazIBe036v6NyENywrW+UWYWdB6m9boEcg6GElSA0kVMw37syuRw7O6FhiOw
JZNjAMA67siio1vJfHXrzLhFmlyUzE07raMFpG4aKw2zwo4PKLSxIiU66i9/ECbJ
+3yN7p+XXljCkni7KO9JSI64hETw7BiY+S/+ZqaipnB3hWxQFsZn36RfeU/BIfGz
kQ4+NdYZPgR4h64tcVv9BjZ8abqBb5id1wFRpKVDeDpDAgMBAAE=
-----END PUBLIC KEY-----

View File

@ -129,7 +129,6 @@ class ClientThread(threading.Thread):
if header[b"type"] == b"RSASend":
self.type = T_CLIENT if header[b"from"] == b"client" else T_NODE
debug("Réception de la clef RSA de %s", self.ip)
print(content)
self.rsa_client = content
header = self.gen_header(b"init")
content = self.aes_key
@ -152,7 +151,7 @@ class ClientThread(threading.Thread):
if data_lines[0] != VERSION:
raise ValueError("Version is incorrect.")
return {
l.split(b": ")[0]: l.split(b": ")[1] for l in data_lines[1:]
l.split(b": ")[0]: l.split(b": ")[1].rstrip(b";") for l in data_lines[1:]
}
@staticmethod
@ -225,9 +224,7 @@ class ClientThread(threading.Thread):
if chunk != END_MESSAGE:
# Get content part
# int.from_bytes(chunk[:2], byteorder='big') == Get content size
content += chunk[2:int.from_bytes(chunk[:2], byteorder='big')] #+2] # Avec le +2 il me mange plus les caractères mais je sais pas pourquoi @suwako
print(chunk[2:int.from_bytes(chunk[:2], byteorder='big')])
print(content[:BUFFER_SIZE])
content += chunk[2:int.from_bytes(chunk[:2], byteorder='big')+2]
debug(b"Received from" + bytes(str(self.ip), 'ascii') + b" : " + content)
return content