asym encryption working
This commit is contained in:
16
ECC/encrypt.py
Normal file
16
ECC/encrypt.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
from Crypto.PublicKey import ECC
|
||||||
|
from Crypto.Cipher import Salsa20 as salsa
|
||||||
|
|
||||||
|
key = ECC.import_key(open("publickey.pem", "r").read())
|
||||||
|
cipher = salsa.new(key)
|
||||||
|
|
||||||
|
message = "attack at dawn"
|
||||||
|
encd = cipher.encrypt(bytes(message, "utf-8"))
|
||||||
|
print(encd)
|
||||||
|
|
||||||
|
'''
|
||||||
|
dkey = RSA.import_key(open("privatekey.pem").read())
|
||||||
|
dcipher = pk.new(dkey)
|
||||||
|
dmessage = dcipher.decrypt(encd)
|
||||||
|
print(dmessage)
|
||||||
|
'''
|
||||||
18
ECC/genkeys.py
Normal file
18
ECC/genkeys.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
from Crypto.PublicKey import ECC
|
||||||
|
|
||||||
|
# generate keypair
|
||||||
|
key = ECC.generate(curve='NIST P-256')
|
||||||
|
|
||||||
|
# export private key
|
||||||
|
f = open("privatekey.pem", "wt+")
|
||||||
|
f.write(key.export_key(format='PEM'))
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
# export public key
|
||||||
|
f = open("publickey.pem", "wt+")
|
||||||
|
f.write(key.public_key().export_key(format='PEM'))
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
f = open("publickey.pem", "rt")
|
||||||
|
key = ECC.import_key(f.read())
|
||||||
|
print(key)
|
||||||
5
ECC/privatekey.pem
Normal file
5
ECC/privatekey.pem
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgUqs0swLxRuyc0yCR
|
||||||
|
QTiFexisOy7p2gNkhrppy/tsTPChRANCAAQ55jBJtJoY6S3micNjZkOGSm9XgwIG
|
||||||
|
D6Fnt3nWRbonBFAYWCMdKZnGhbdbAacc/QKVOtlHZwnhOAzkbhzvpz4O
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
4
ECC/publickey.pem
Normal file
4
ECC/publickey.pem
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOeYwSbSaGOkt5onDY2ZDhkpvV4MC
|
||||||
|
Bg+hZ7d51kW6JwRQGFgjHSmZxoW3WwGnHP0ClTrZR2cJ4TgM5G4c76c+Dg==
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
14
RSA/encrypt.py
Normal file
14
RSA/encrypt.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
from Crypto.Cipher import PKCS1_OAEP as pk
|
||||||
|
from Crypto.PublicKey import RSA
|
||||||
|
|
||||||
|
key = RSA.import_key(open("publickey.pem", "r").read())
|
||||||
|
cipher = pk.new(key)
|
||||||
|
|
||||||
|
message = "attack at dawn"
|
||||||
|
encd = cipher.encrypt(bytes(message, "utf-8"))
|
||||||
|
print(encd)
|
||||||
|
|
||||||
|
dkey = RSA.import_key(open("privatekey.pem").read())
|
||||||
|
dcipher = pk.new(dkey)
|
||||||
|
dmessage = dcipher.decrypt(encd)
|
||||||
|
print(dmessage)
|
||||||
18
RSA/genkeys.py
Normal file
18
RSA/genkeys.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
from Crypto.PublicKey import RSA
|
||||||
|
|
||||||
|
# generate keypair
|
||||||
|
key = RSA.generate(2048)
|
||||||
|
|
||||||
|
# export private key
|
||||||
|
f = open("privatekey.pem", "wb+")
|
||||||
|
f.write(key.export_key('PEM'))
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
# export public key
|
||||||
|
f = open("publickey.pem", "wb+")
|
||||||
|
f.write(key.public_key().export_key(format='PEM'))
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
f = open("publickey.pem", "rt")
|
||||||
|
key = RSA.import_key(f.read())
|
||||||
|
print(key.encrypt(b"attack at dawn",32))
|
||||||
27
RSA/privatekey.pem
Normal file
27
RSA/privatekey.pem
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEogIBAAKCAQEA1/U19NJAzlURKvS5mRp6Glv+vteUdVSB1OzOedtPDQx0f0U0
|
||||||
|
y4OEadHw1QZPfVNN/qHxG69/LNh0i/zHtjW/B8rc3Meg61zq8ZYWFoM9tc3g72ZR
|
||||||
|
z1jTh/ZQp1WsuuNH70akXcsUAVqzAOYtdf11ayu3WMutfNfsOISdl+4yCqeE9cal
|
||||||
|
8Sesuh68hNbxtBOo+QLF76jNFG5DVmrU/dbLjp4yG5d1Y6Rj+Vqddr9r4qdvj8gH
|
||||||
|
erA1yaYYAw9MIDWyxB1K26Bnd0qP5pq5orLWBaH2b4apYilGEInSG9TpKb6uWWDz
|
||||||
|
fnKvb3fVcUarValG+2VWT48vVwVEV3y4YIbFpwIDAQABAoIBAGJptuRx+iFtB61N
|
||||||
|
J9UbCUDA4pbCdD+Busa3AaLra5tVLTOgbJ4/uVRl3TuerBO/JkBfORp2P9zGaVov
|
||||||
|
4CzrUjoxWrPr7yvCxLhCPp+UwEb84sAGH0r/vinr+DZBZz0lfO8QALBTbrLtS7yh
|
||||||
|
qF7oGZ20ptF6w/0sAtSArraBUGGkvhIC6p71uVh8GeW+VXBJ+wKrRBAkOV/EiITw
|
||||||
|
97Of7Ch8xxPQlQof3jeEHbzoACuZmhi+QDmhRUTQmW9nbtSyUHuVC/VGCed12yJa
|
||||||
|
R9zuga9PmcSX87f8vaDGb0Gq9DP/D6lZBGblgZRosCYr0USySlmGaMc/KkInuv+m
|
||||||
|
g6m7dd0CgYEA4oejefEnzSA4AZweCDZrK9WQ9pjOcCDjW1qnUHNfpu+FXKoBLxT5
|
||||||
|
6HupgLR4kL12LhrU2okXTqzuIc2IF268gzJ4CqhcZTu73Aj/t1GxBk/5ibtOPMX5
|
||||||
|
gyIGbe7NwuqLALkSiIoYdSny2Tq1Nn+98o/MYJWmuDOiCoTtGC+/ZPsCgYEA9A17
|
||||||
|
d+4DU0MxrsBY6lNXDfPstKFlFYb16MoXKgA283NIcfAGABBvjHA37UaBzatrau7B
|
||||||
|
hzbIx/72fZmeEsLFG9IKZsq4XVZvrjpZMo52pLyTwM3emRtNSBgJ4uQyNfR/Jrhk
|
||||||
|
NZiUZDsnZwkiQ5UHzx48MHnJmBkj4RR+s9BASkUCgYB6PyaKfQi0mul+fOh8GBn3
|
||||||
|
2tXTLh1hx23Kc/6M3OZGqUW3/wqKhPBkdK/BhCL4QTZQpSwvDwJj89DCry79LkZP
|
||||||
|
KuI7JiZOf1De6oBNRqmYtXn9yPXsuA3xpWAA3Xlu8bG33yhQRO3z9IJYlmUKlx9D
|
||||||
|
kjSB/uCs0ThmItvsTIAmFwKBgBeIAUKkCWAK14yA8VHOrVMkFMup0CROOgGzEp6z
|
||||||
|
HJlGoVKTEREKhKbm3w2awcNB5v6NfM17w8o81ClyGWK3suemzefxXetp/SSwbY9J
|
||||||
|
WzkxEZICh5b9oer0nmdpF0pKg8QI/WiJiK1NYtQ1dj9L7E/VG3qVE5H9wo7eOgU+
|
||||||
|
bCR9AoGAYPb1t6/l4+PnllAFKIYAuCfAwFBw5Zd/nqAFupIStDtqyKPqQZSxXukR
|
||||||
|
ib1jYka4nN26pMjRDRQj5xZbPoOWRYzrsFo3Zue4eYFsRu2i3CEzxU6am/saPWS0
|
||||||
|
ci4zBQH2+peHskkME6CEQ1V87PbFJeoWWT5Yc5h9XUfEgfyzrTI=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
9
RSA/publickey.pem
Normal file
9
RSA/publickey.pem
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1/U19NJAzlURKvS5mRp6
|
||||||
|
Glv+vteUdVSB1OzOedtPDQx0f0U0y4OEadHw1QZPfVNN/qHxG69/LNh0i/zHtjW/
|
||||||
|
B8rc3Meg61zq8ZYWFoM9tc3g72ZRz1jTh/ZQp1WsuuNH70akXcsUAVqzAOYtdf11
|
||||||
|
ayu3WMutfNfsOISdl+4yCqeE9cal8Sesuh68hNbxtBOo+QLF76jNFG5DVmrU/dbL
|
||||||
|
jp4yG5d1Y6Rj+Vqddr9r4qdvj8gHerA1yaYYAw9MIDWyxB1K26Bnd0qP5pq5orLW
|
||||||
|
BaH2b4apYilGEInSG9TpKb6uWWDzfnKvb3fVcUarValG+2VWT48vVwVEV3y4YIbF
|
||||||
|
pwIDAQAB
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
27
prikey.pem
27
prikey.pem
@@ -1,27 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIIEpQIBAAKCAQEAuk5egzauVPCxuNvWcJAAISIxcvsdXQFFB5lYUdOgv8Dcyva/
|
|
||||||
9kh76R2TEay0K3kEpXBx/M4YdiAIg0XoTYUxWNR3vGy4sWuAkF1WPF0hCJcx/GGC
|
|
||||||
Cszl7NqMDz7uedBSkJG4sIyOCnmxJli/Y7O+xoENb1DvJ4U7b0n3AHkovlsfkw8z
|
|
||||||
wOVsc9dUnPbZmrzbd99HYoRFPKnAVgF+vGY62qRj2GvsJzRAC0K8HMxJv0r/V+3O
|
|
||||||
+fwqGCnJlCcadgMJUuHPDVdYVXgEZZ1iYdwFpPHLML2DEOd3y3DJAy1F59IkEGAr
|
|
||||||
ULQbu7SdqwaFkU1Y2euZXb/J1q/9C/GhppQH9QIDAQABAoIBACxgf3W8wCC+Zm7U
|
|
||||||
eos8WbOKvAGZ3AArzcAGIDn5cUhLjawQw1/MGyvHXiEvJIlYXal0k8o2YzA76Bsw
|
|
||||||
uyk/6SWyEkVBFms4YprAiMp/Gl+79+2YYkvlS30z/3mgMVi1rPz/oOD40dqf6vjp
|
|
||||||
2cjLZ01MLyGNQzIEM8iJ8zpbIb/Zd496n6awH+am4+9tD5o87aI0mx0PwS0zCUfX
|
|
||||||
bFg6ns42XS2FuAiKeqMkmNcoo6G0E/6zDw7dk4MfJ5UNDIkSJ+r3UHjXOi1Zn4BW
|
|
||||||
0uNYIV9BdJlyiKTB+edTxe0IzSpaBnPp+3f5CKeR9V/T3apLet/EFbYzyJ0KSi31
|
|
||||||
MTUW64ECgYEA0FJ++cqVSUz2AtBOY9yF362LlRH60DQe7JiDHAFZmhN/iMw+VBOr
|
|
||||||
KsSOAtSx01Cr5iD9KO/CqJCVFmdM4lzvJklcpOyNhNwt8B8kc8R+QLi+wfBCLy3q
|
|
||||||
ODp7UcWhKAV3hsAGx1ct8fWNtkfI7v+BaPN6ablNFYKHJa5RvUTsizUCgYEA5PH1
|
|
||||||
ezOLDukj+QRf3DE2u0HZRWmv807gA1+tuicDn9JAbK7FFLbdANDwd2TC5wYGGUaR
|
|
||||||
Trk6CGKlp0H/P0VJbjUIHQOtLz4Xao91wU8iLdrcKeVoELgJqO0em3YUdOEpcdUT
|
|
||||||
y06SBImz3T+NS/NP7GcxbSJ+Fqc07p2iAUGAYcECgYEAonQixuK/JklY83rEFsXq
|
|
||||||
tDKeziIWSHTMxM5uN9GpsSiRZPl5hZFNAu4CnJyHC/Y2ByEkqt7GGzOcv7rQzxmP
|
|
||||||
+XhuQcKi3b/iJwXyJEFP/2LSh2S4CBizNSQN9Qe8E/ynaDKpVpxanPxThZlXTWF8
|
|
||||||
5n4wsO+q+CIxCCZ3YbS1Dh0CgYEAuOWwG4/E/oXLR5EA2hPk39aOYkC4mQdaY18i
|
|
||||||
LvTTOH/VB/EduVz1n3MewU3fGjUDN+aF884j0CHbJvll6vNKGnc51jTh6QV8Y9L4
|
|
||||||
huYh9GaM6EkdgmMfag4WafczDjHKBuTO16Lcyk1rtYNd2bjnE0VD5Z+1tRXU6eDk
|
|
||||||
tZ7w0AECgYEAo+tRkqj12gVWYFNK5Ij7zfzn7Iv0pGiyq+sa+8PBEeziKGGRPyjn
|
|
||||||
KlpAYmOlSr9aKAtE8JKCvrAfrQHFo3dQRxWQAppiuY38zu2dxXUOpdF3Wb9Tfk4Y
|
|
||||||
MMDhzybUSNa0tq4rVg6xaeQvIwNx2SGk93tUul0JBh6vzrF+eB7WYu8=
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
27
privatekey.pem
Normal file
27
privatekey.pem
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEogIBAAKCAQEA1/U19NJAzlURKvS5mRp6Glv+vteUdVSB1OzOedtPDQx0f0U0
|
||||||
|
y4OEadHw1QZPfVNN/qHxG69/LNh0i/zHtjW/B8rc3Meg61zq8ZYWFoM9tc3g72ZR
|
||||||
|
z1jTh/ZQp1WsuuNH70akXcsUAVqzAOYtdf11ayu3WMutfNfsOISdl+4yCqeE9cal
|
||||||
|
8Sesuh68hNbxtBOo+QLF76jNFG5DVmrU/dbLjp4yG5d1Y6Rj+Vqddr9r4qdvj8gH
|
||||||
|
erA1yaYYAw9MIDWyxB1K26Bnd0qP5pq5orLWBaH2b4apYilGEInSG9TpKb6uWWDz
|
||||||
|
fnKvb3fVcUarValG+2VWT48vVwVEV3y4YIbFpwIDAQABAoIBAGJptuRx+iFtB61N
|
||||||
|
J9UbCUDA4pbCdD+Busa3AaLra5tVLTOgbJ4/uVRl3TuerBO/JkBfORp2P9zGaVov
|
||||||
|
4CzrUjoxWrPr7yvCxLhCPp+UwEb84sAGH0r/vinr+DZBZz0lfO8QALBTbrLtS7yh
|
||||||
|
qF7oGZ20ptF6w/0sAtSArraBUGGkvhIC6p71uVh8GeW+VXBJ+wKrRBAkOV/EiITw
|
||||||
|
97Of7Ch8xxPQlQof3jeEHbzoACuZmhi+QDmhRUTQmW9nbtSyUHuVC/VGCed12yJa
|
||||||
|
R9zuga9PmcSX87f8vaDGb0Gq9DP/D6lZBGblgZRosCYr0USySlmGaMc/KkInuv+m
|
||||||
|
g6m7dd0CgYEA4oejefEnzSA4AZweCDZrK9WQ9pjOcCDjW1qnUHNfpu+FXKoBLxT5
|
||||||
|
6HupgLR4kL12LhrU2okXTqzuIc2IF268gzJ4CqhcZTu73Aj/t1GxBk/5ibtOPMX5
|
||||||
|
gyIGbe7NwuqLALkSiIoYdSny2Tq1Nn+98o/MYJWmuDOiCoTtGC+/ZPsCgYEA9A17
|
||||||
|
d+4DU0MxrsBY6lNXDfPstKFlFYb16MoXKgA283NIcfAGABBvjHA37UaBzatrau7B
|
||||||
|
hzbIx/72fZmeEsLFG9IKZsq4XVZvrjpZMo52pLyTwM3emRtNSBgJ4uQyNfR/Jrhk
|
||||||
|
NZiUZDsnZwkiQ5UHzx48MHnJmBkj4RR+s9BASkUCgYB6PyaKfQi0mul+fOh8GBn3
|
||||||
|
2tXTLh1hx23Kc/6M3OZGqUW3/wqKhPBkdK/BhCL4QTZQpSwvDwJj89DCry79LkZP
|
||||||
|
KuI7JiZOf1De6oBNRqmYtXn9yPXsuA3xpWAA3Xlu8bG33yhQRO3z9IJYlmUKlx9D
|
||||||
|
kjSB/uCs0ThmItvsTIAmFwKBgBeIAUKkCWAK14yA8VHOrVMkFMup0CROOgGzEp6z
|
||||||
|
HJlGoVKTEREKhKbm3w2awcNB5v6NfM17w8o81ClyGWK3suemzefxXetp/SSwbY9J
|
||||||
|
WzkxEZICh5b9oer0nmdpF0pKg8QI/WiJiK1NYtQ1dj9L7E/VG3qVE5H9wo7eOgU+
|
||||||
|
bCR9AoGAYPb1t6/l4+PnllAFKIYAuCfAwFBw5Zd/nqAFupIStDtqyKPqQZSxXukR
|
||||||
|
ib1jYka4nN26pMjRDRQj5xZbPoOWRYzrsFo3Zue4eYFsRu2i3CEzxU6am/saPWS0
|
||||||
|
ci4zBQH2+peHskkME6CEQ1V87PbFJeoWWT5Yc5h9XUfEgfyzrTI=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
27
recieve.py
27
recieve.py
@@ -1,5 +1,6 @@
|
|||||||
import socket
|
import socket
|
||||||
from Crypto.Cipher import PKCS1_OAEP as RSA
|
from Crypto.PublicKey import RSA
|
||||||
|
from Crypto.Cipher import PKCS1_OAEP as pkrsa
|
||||||
from Crypto.Cipher import AES
|
from Crypto.Cipher import AES
|
||||||
import os
|
import os
|
||||||
import glob
|
import glob
|
||||||
@@ -39,13 +40,14 @@ def getStream(bytelen):
|
|||||||
done = True
|
done = True
|
||||||
print(f"{len(fullmsg) - HEADERSIZE} | {msglen}")
|
print(f"{len(fullmsg) - HEADERSIZE} | {msglen}")
|
||||||
|
|
||||||
# TODO decrypt text with PGP key
|
def decryptRSA(data):
|
||||||
def decryptPGP(text):
|
key = RSA.import_key(open("privatekey.pem").read())
|
||||||
return text
|
cipher = pkrsa.new(key)
|
||||||
# keytext = open("prikey.pem", "r").read()
|
return cipher.decrypt(data)
|
||||||
keytext = "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuk5egzauVPCxuNvWcJAAISIxcvsdXQFFB5lYUdOgv8Dcyva/\n9kh76R2TEay0K3kEpXBx/M4YdiAIg0XoTYUxWNR3vGy4sWuAkF1WPF0hCJcx/GGC\nCszl7NqMDz7uedBSkJG4sIyOCnmxJli/Y7O+xoENb1DvJ4U7b0n3AHkovlsfkw8z\nwOVsc9dUnPbZmrzbd99HYoRFPKnAVgF+vGY62qRj2GvsJzRAC0K8HMxJv0r/V+3O\n+fwqGCnJlCcadgMJUuHPDVdYVXgEZZ1iYdwFpPHLML2DEOd3y3DJAy1F59IkEGAr\nULQbu7SdqwaFkU1Y2euZXb/J1q/9C/GhppQH9QIDAQABAoIBACxgf3W8wCC+Zm7U\neos8WbOKvAGZ3AArzcAGIDn5cUhLjawQw1/MGyvHXiEvJIlYXal0k8o2YzA76Bsw\nuyk/6SWyEkVBFms4YprAiMp/Gl+79+2YYkvlS30z/3mgMVi1rPz/oOD40dqf6vjp\n2cjLZ01MLyGNQzIEM8iJ8zpbIb/Zd496n6awH+am4+9tD5o87aI0mx0PwS0zCUfX\nbFg6ns42XS2FuAiKeqMkmNcoo6G0E/6zDw7dk4MfJ5UNDIkSJ+r3UHjXOi1Zn4BW\n0uNYIV9BdJlyiKTB+edTxe0IzSpaBnPp+3f5CKeR9V/T3apLet/EFbYzyJ0KSi31\nMTUW64ECgYEA0FJ++cqVSUz2AtBOY9yF362LlRH60DQe7JiDHAFZmhN/iMw+VBOr\nKsSOAtSx01Cr5iD9KO/CqJCVFmdM4lzvJklcpOyNhNwt8B8kc8R+QLi+wfBCLy3q\nODp7UcWhKAV3hsAGx1ct8fWNtkfI7v+BaPN6ablNFYKHJa5RvUTsizUCgYEA5PH1\nezOLDukj+QRf3DE2u0HZRWmv807gA1+tuicDn9JAbK7FFLbdANDwd2TC5wYGGUaR\nTrk6CGKlp0H/P0VJbjUIHQOtLz4Xao91wU8iLdrcKeVoELgJqO0em3YUdOEpcdUT\ny06SBImz3T+NS/NP7GcxbSJ+Fqc07p2iAUGAYcECgYEAonQixuK/JklY83rEFsXq\ntDKeziIWSHTMxM5uN9GpsSiRZPl5hZFNAu4CnJyHC/Y2ByEkqt7GGzOcv7rQzxmP\n+XhuQcKi3b/iJwXyJEFP/2LSh2S4CBizNSQN9Qe8E/ynaDKpVpxanPxThZlXTWF8\n5n4wsO+q+CIxCCZ3YbS1Dh0CgYEAuOWwG4/E/oXLR5EA2hPk39aOYkC4mQdaY18i\nLvTTOH/VB/EduVz1n3MewU3fGjUDN+aF884j0CHbJvll6vNKGnc51jTh6QV8Y9L4\nhuYh9GaM6EkdgmMfag4WafczDjHKBuTO16Lcyk1rtYNd2bjnE0VD5Z+1tRXU6eDk\ntZ7w0AECgYEAo+tRkqj12gVWYFNK5Ij7zfzn7Iv0pGiyq+sa+8PBEeziKGGRPyjn\nKlpAYmOlSr9aKAtE8JKCvrAfrQHFo3dQRxWQAppiuY38zu2dxXUOpdF3Wb9Tfk4Y\nMMDhzybUSNa0tq4rVg6xaeQvIwNx2SGk93tUul0JBh6vzrF+eB7WYu8=\n-----END RSA PRIVATE KEY-----"
|
|
||||||
key = RSA.importKey(keytext)
|
# simplifier helper function to call current publickey decryption method
|
||||||
return key.decrypt(text)[0]
|
def PKdecrypt(data):
|
||||||
|
return decryptRSA(data)
|
||||||
|
|
||||||
# decrypt files with given keyset
|
# decrypt files with given keyset
|
||||||
def decryptSet(keyset, vidset, verbose=False):
|
def decryptSet(keyset, vidset, verbose=False):
|
||||||
@@ -56,8 +58,9 @@ def decryptSet(keyset, vidset, verbose=False):
|
|||||||
for i in range(len(vidset)):
|
for i in range(len(vidset)):
|
||||||
file_in = open(vidset[i], "rb")
|
file_in = open(vidset[i], "rb")
|
||||||
nonce, tag, ciphertext = [ file_in.read(x) for x in (16, 16, -1) ]
|
nonce, tag, ciphertext = [ file_in.read(x) for x in (16, 16, -1) ]
|
||||||
key = open(keyset[i], "rb")
|
key = open(keyset[i], "rb").read()
|
||||||
cipher = AES.new(key.read(), AES.MODE_EAX, nonce)
|
key = PKdecrypt(key)
|
||||||
|
cipher = AES.new(key, AES.MODE_EAX, nonce)
|
||||||
data = cipher.decrypt_and_verify(ciphertext, tag)
|
data = cipher.decrypt_and_verify(ciphertext, tag)
|
||||||
with open(location + "/" + str(i+1) + ".mp4", "wb+") as mp:
|
with open(location + "/" + str(i+1) + ".mp4", "wb+") as mp:
|
||||||
mp.write(data)
|
mp.write(data)
|
||||||
@@ -79,10 +82,6 @@ def downloadFromServer(urlWithPort, verbose=False):
|
|||||||
if verbose:
|
if verbose:
|
||||||
print(f"Recieved ({i+1}/{int(r.content)})")
|
print(f"Recieved ({i+1}/{int(r.content)})")
|
||||||
|
|
||||||
# decrypt text
|
|
||||||
#def decryptText(text, fkey):
|
|
||||||
# return Fernet(fkey).decrypt(text)
|
|
||||||
|
|
||||||
# establish connection with client and download files
|
# establish connection with client and download files
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
host = get_ip()
|
host = get_ip()
|
||||||
|
|||||||
Reference in New Issue
Block a user