mirror of
https://github.com/bvanroll/odiseectf.git
synced 2025-08-28 11:22:41 +00:00
fam
This commit is contained in:
BIN
aesFINISHED/AES-CBC26.png
Normal file
BIN
aesFINISHED/AES-CBC26.png
Normal file
Binary file not shown.
BIN
aesFINISHED/AES-CBC26_decrypted.png
Normal file
BIN
aesFINISHED/AES-CBC26_decrypted.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 KiB |
112
aesFINISHED/decryptAESCBC.py
Normal file
112
aesFINISHED/decryptAESCBC.py
Normal file
@@ -0,0 +1,112 @@
|
||||
import sys
|
||||
import os
|
||||
import getpass
|
||||
import itertools
|
||||
from Crypto.Cipher import AES
|
||||
from Crypto.Hash import MD5, SHA256
|
||||
|
||||
|
||||
# generates key based on password
|
||||
def generatekey(pw):
|
||||
password = pw # getpass.getpass('Password for decryption: ')
|
||||
#print(password)
|
||||
h = MD5.new()
|
||||
h.update(password.encode())
|
||||
#h.update(password)
|
||||
return h.digest()
|
||||
|
||||
def generatePass():
|
||||
temp = []
|
||||
alpha = ["a", "z", "e", "r", "t", "y", "u", "i", "o", "p"]
|
||||
for i in itertools.product(alpha, repeat=6):
|
||||
temp.append(generatekey("".join(i)))
|
||||
return temp
|
||||
|
||||
# calculates and return hash for message
|
||||
def calculatehash(message):
|
||||
h = SHA256.new()
|
||||
h.update(message)
|
||||
# use hexdigest to prevent problems with control characters
|
||||
# e.g. \r in charcter 5, appends 4, then overwrites beginning of message with rest of digest
|
||||
return h.hexdigest()
|
||||
|
||||
|
||||
# check integrity and return cleartext or error message
|
||||
def checkintegrity(decryptedcontent):
|
||||
return calculatehash(decryptedcontent[0:-64]).encode() == decryptedcontent[-64:]
|
||||
|
||||
|
||||
# encrypts content in AES CBC mode
|
||||
def decrypt_AES_CBC(inputfilename, encryptedContent):
|
||||
# create encrypted filename, keep extension
|
||||
outputfilename = inputfilename[0:inputfilename.find('.', len(inputfilename) - 5)] \
|
||||
+ '_decrypted' + inputfilename[inputfilename.find('.'):len(inputfilename)]
|
||||
|
||||
i = 0
|
||||
keys = generatePass()
|
||||
print(len(keys))
|
||||
for key in keys:
|
||||
decipher = AES.new(key, AES.MODE_CBC)
|
||||
decryptedcontent = decipher.decrypt(encryptedContent)
|
||||
ivlength = 16
|
||||
# remove iv and padding
|
||||
decryptedcontent = decryptedcontent[ivlength:-decryptedcontent[-1]]
|
||||
# check Integrity and retain cleartext
|
||||
if checkintegrity(decryptedcontent):
|
||||
cleartext = decryptedcontent[0:-64]
|
||||
outputfile = open(outputfilename, 'wb')
|
||||
outputfile.write(cleartext)
|
||||
outputfile.close
|
||||
outputfilename = outputfilename+"EXTRA"
|
||||
else:
|
||||
cleartext = 'Integrity check error'.encode()
|
||||
print("error:{}".format(i))
|
||||
i = i+1
|
||||
print("done?")
|
||||
|
||||
return
|
||||
|
||||
#
|
||||
#
|
||||
# key = generatekey()
|
||||
# decipher = AES.new(key, AES.MODE_CBC)
|
||||
# decryptedcontent = decipher.decrypt(encryptedContent)
|
||||
#
|
||||
# ivlength = 16
|
||||
# # remove iv and padding
|
||||
# decryptedcontent = decryptedcontent[ivlength:-decryptedcontent[-1]]
|
||||
#
|
||||
# # check Integrity and retain cleartext
|
||||
# if checkintegrity(decryptedcontent):
|
||||
# cleartext = decryptedcontent[0:-64]
|
||||
# else:
|
||||
# cleartext = 'Integrity check error'.encode()
|
||||
#
|
||||
# # useful only for decrypted text files
|
||||
# # print(cleartext)
|
||||
#
|
||||
# # write to file
|
||||
# outputfile = open(outputfilename, 'wb')
|
||||
# outputfile.write(cleartext)
|
||||
# outputfile.close()
|
||||
|
||||
|
||||
for i in sys.argv[1:]:
|
||||
|
||||
inputfilename = i
|
||||
|
||||
print('decrypting ' + inputfilename)
|
||||
|
||||
try:
|
||||
inputfile = open(inputfilename, 'rb')
|
||||
except IOError:
|
||||
print("File " + inputfilename + " not found, working directory: " + os.getcwd())
|
||||
continue
|
||||
else:
|
||||
# if file opened, read content into variable
|
||||
content = inputfile.read()
|
||||
inputfile.close()
|
||||
|
||||
# apply symmetric encryption
|
||||
decrypt_AES_CBC(inputfilename, content)
|
||||
# encrypt_AES_ECB(inputfilename,content)
|
BIN
aesFINISHED/example_enc_azerty.png
Normal file
BIN
aesFINISHED/example_enc_azerty.png
Normal file
Binary file not shown.
4
aesFINISHED/uitleg.txt
Normal file
4
aesFINISHED/uitleg.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Het png bestand bij deze opgave is symmetrisch versleuteld met AES in CBC mode. Voor integriteitscontrole werd het originele bericht aangevuld met een SHA256 hash alvorens dit geheel versleuteld werd.
|
||||
Het script voor decryptie is beschikbaar. Hieruit kan je afleiden dat het vertrekt van een paswoord. Van het paswoord is geweten dat het bestaat uit zes verschillende letters van de bovenste rij van een azerty-toetsenbord (azertyuiop). Het paswoord wordt dankzij een hash functie omgezet in een 128 bit sleutel, die dan gebruikt wordt voor AES.
|
||||
Je moet het script niet gebruiken of uitvoeren, maar als je dat toch wil doen is de pycryptodome library nodig (en niet pycrypto). Voor het testen van het decryptiemechanisme is er ook een bestand toegevoegd dat versleuteld werd met een gekende sleutel (<28>azerty<74>).
|
||||
Brute force is onmogelijk met een 128 bit sleutel.
|
1
keylessFINISHED/dcode
Normal file
1
keylessFINISHED/dcode
Normal file
File diff suppressed because one or more lines are too long
1
keylessFINISHED/keyless43.gif
Normal file
1
keylessFINISHED/keyless43.gif
Normal file
File diff suppressed because one or more lines are too long
9
keylessFINISHED/test.txt
Normal file
9
keylessFINISHED/test.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
ia
|
||||
b
|
||||
cat is cat
|
||||
euhm
|
||||
test
|
||||
test
|
||||
vier
|
||||
achtentwintig
|
||||
|
9
olivierdeschacht/820.py
Normal file
9
olivierdeschacht/820.py
Normal file
@@ -0,0 +1,9 @@
|
||||
temp = []
|
||||
with open("olivier.txt", "r") as infile:
|
||||
temp = infile.readlines()
|
||||
|
||||
with open("olivier820.txt", "w") as outfile:
|
||||
for t in temp:
|
||||
if len(t) < 8 and len(t) > 20:
|
||||
continue
|
||||
outfile.write(t+"\n")
|
BIN
olivierdeschacht/__pycache__/test.cpython-37.pyc
Normal file
BIN
olivierdeschacht/__pycache__/test.cpython-37.pyc
Normal file
Binary file not shown.
18
olivierdeschacht/euhm.py
Normal file
18
olivierdeschacht/euhm.py
Normal file
@@ -0,0 +1,18 @@
|
||||
import test
|
||||
|
||||
|
||||
allofem = test.makeWords()
|
||||
with open("output.txt", "a") as outfile:
|
||||
for i in range(20):
|
||||
for combo in test.combinations(allofem, i):
|
||||
c = "".join(combo)
|
||||
if len(c) > 20 or len(c) < 8:
|
||||
continue
|
||||
else:
|
||||
#outfile.write(decrypt(text,c))
|
||||
temp = test.bo64.b64enconde(str.encode(hashlib.sha512(c).hexdigest()))
|
||||
if len(temp) == len(text):
|
||||
if temp == text:
|
||||
outfile.write("we may have got it: {} transformed turned into: {}".format(c, temp))
|
||||
else:
|
||||
outfile.write("i mean maybe... {} transformed turned into: {}".format(c, temp))
|
84
olivierdeschacht/final.py
Normal file
84
olivierdeschacht/final.py
Normal file
@@ -0,0 +1,84 @@
|
||||
import hashlib
|
||||
import base64 as bo64
|
||||
from itertools import combinations
|
||||
dic = ["ollie", "olivier", "deschacht", "2014"]
|
||||
|
||||
|
||||
with open("deschacht25.txt", "r") as infile:
|
||||
text = infile.read()
|
||||
|
||||
|
||||
alts = {"a":"@",
|
||||
"e":"3",
|
||||
"o":"0",
|
||||
"s":"5",
|
||||
"g":"9",
|
||||
"i":"!"}
|
||||
|
||||
adders = ["!", "*"]
|
||||
|
||||
#yea, that shit works like that? isn't that mad?
|
||||
def reverse(word):
|
||||
return word[::-1]
|
||||
|
||||
|
||||
#set to -1 if you want to do all the chars
|
||||
def altWord(word, l=-1):
|
||||
t = 0
|
||||
s = ""
|
||||
for letter in word:
|
||||
if letter in alts and t < l:
|
||||
s+=alts[letter]
|
||||
else:
|
||||
s+=letter
|
||||
t = t+1
|
||||
return s
|
||||
|
||||
def chopWord(word):
|
||||
s = ""
|
||||
l = []
|
||||
for c in word:
|
||||
s+=c
|
||||
l.append(s)
|
||||
return l
|
||||
|
||||
|
||||
def addStartAndEnds(l):
|
||||
t = []
|
||||
for i in l:
|
||||
for a in adders:
|
||||
t.append(i+a)
|
||||
t.append(a+i)
|
||||
return t
|
||||
|
||||
def makeWords():
|
||||
words = dic.copy()
|
||||
for d in dic:
|
||||
for i in range(len(d)):
|
||||
words.append(altWord(d, i))
|
||||
|
||||
temp2 = []
|
||||
for w in words:
|
||||
if len(w) > 1:
|
||||
temp2.append(reverse(w))
|
||||
words.extend(temp2)
|
||||
temp3 = addStartAndEnds(words)
|
||||
words.extend(temp3)
|
||||
return set(words)
|
||||
|
||||
#def decrypt(t, p):
|
||||
# aes = AES.new(p, AES.MODE_CBC, "")
|
||||
# return aes.decrypt(t)
|
||||
temp = makeWords()
|
||||
combos = []
|
||||
for i in range(int(20/len(max(temp, key=len)))):
|
||||
for c in combinations(temp, i):
|
||||
w = "".join(c)
|
||||
if len(w) > 20 or len(w) < 8:
|
||||
continue
|
||||
else:
|
||||
combos.append(w)
|
||||
|
||||
with open("output.txt", "a") as outfile:
|
||||
for c in combos:
|
||||
outfile.write("{}\n".format(c))
|
18
olivierdeschacht/hasher.py
Normal file
18
olivierdeschacht/hasher.py
Normal file
@@ -0,0 +1,18 @@
|
||||
import hashlib
|
||||
|
||||
|
||||
def hash(txt):
|
||||
return hashlib.sha512(str.encode(txt)).hexdigest()
|
||||
|
||||
|
||||
lines = []
|
||||
with open("output.txt", "r") as infile:
|
||||
lines = infile.readlines()
|
||||
|
||||
hashedlines = []
|
||||
for l in lines:
|
||||
hashedlines.append(hash(l))
|
||||
|
||||
with open("outputHashed.txt", "w") as outfile:
|
||||
for l in hashedlines:
|
||||
outfile.write(l+"\n")
|
25048
olivierdeschacht/olivier.txt
Normal file
25048
olivierdeschacht/olivier.txt
Normal file
File diff suppressed because it is too large
Load Diff
21295
olivierdeschacht/olivier820.txt
Normal file
21295
olivierdeschacht/olivier820.txt
Normal file
File diff suppressed because it is too large
Load Diff
80
olivierdeschacht/output.txt
Normal file
80
olivierdeschacht/output.txt
Normal file
@@ -0,0 +1,80 @@
|
||||
!thcahcs3d
|
||||
re!v!l0!
|
||||
*0l!v!er
|
||||
d35chacht!
|
||||
!d35chacht
|
||||
deschacht
|
||||
*0l!v!3r
|
||||
olivier!
|
||||
d35ch@cht!
|
||||
!d35ch@cht
|
||||
reivil0!
|
||||
0l!v!3r!
|
||||
*thcahcsed
|
||||
thcahcsed!
|
||||
reiv!l0!
|
||||
thc@hc53d*
|
||||
*olivier
|
||||
thcahc53d!
|
||||
d3schacht
|
||||
thcahc53d*
|
||||
*thcahcs3d
|
||||
thcahc53d
|
||||
*deschacht
|
||||
deschacht*
|
||||
thcahcs3d
|
||||
*d35ch@cht
|
||||
reivil0*
|
||||
deschacht!
|
||||
0l!v!er*
|
||||
!0l!v!er
|
||||
*reiv!l0
|
||||
olivier*
|
||||
*d35chacht
|
||||
reiv!l0*
|
||||
thcahcs3d!
|
||||
d3schacht!
|
||||
*re!v!l0
|
||||
*r3!v!l0
|
||||
thc@hc53d
|
||||
!reivil0
|
||||
reivilo*
|
||||
!0l!vier
|
||||
*reivilo
|
||||
*thc@hc53d
|
||||
reivilo!
|
||||
!deschacht
|
||||
!olivier
|
||||
0l!vier*
|
||||
*reivil0
|
||||
0livier*
|
||||
thc@hc53d!
|
||||
thcahcs3d*
|
||||
r3!v!l0*
|
||||
0l!v!3r*
|
||||
!0l!v!3r
|
||||
d35chacht
|
||||
!0livier
|
||||
*thcahc53d
|
||||
r3!v!l0!
|
||||
d35ch@cht*
|
||||
!d3schacht
|
||||
*d3schacht
|
||||
!reiv!l0
|
||||
!re!v!l0
|
||||
!reivilo
|
||||
0livier!
|
||||
re!v!l0*
|
||||
*0l!vier
|
||||
d3schacht*
|
||||
0l!vier!
|
||||
d35chacht*
|
||||
!r3!v!l0
|
||||
*0livier
|
||||
!thcahcsed
|
||||
d35ch@cht
|
||||
!thc@hc53d
|
||||
thcahcsed
|
||||
thcahcsed*
|
||||
0l!v!er!
|
||||
!thcahc53d
|
80
olivierdeschacht/outputHashed.txt
Normal file
80
olivierdeschacht/outputHashed.txt
Normal file
@@ -0,0 +1,80 @@
|
||||
300a1281be42b5d8fee5cd2733a95be513004025d5ce018ae08c323db9cb1f3f2a29a83ca81cfccb4814514ed10f78158756334621d5a447503e1324f2280133
|
||||
e501ad18369c6c30fa6214b215c0522cb7004c006bcb0a8f43b3657740db5cf979411b516bf73511caa4c4245b40a58ed330ae90e34435305b5898685b6506c3
|
||||
c61450ebce8acb6533bd583907937992f8858aa5dc8b40c63a5e03126d72c3330700632db1fb48458498b6a19f9120d48eb35a7d8e02017e0499f328839e0b18
|
||||
102154abb33e40c67fae62439a447d7444de2d886bd04be3afabe5bd689e11aa83057decf82439c0733d957b34dad9ec40d6b24bdf6e49b77c8b48c41c060f95
|
||||
af909d831a6848fcfad4dfeb71c62be12c90ae780819f1485a7d66ee32bf6ad41508fdb6de8a806c9ff4f1e263501d5276564a6dbb8bb0332bb456ced61803be
|
||||
0830f31b5b5ba3515e6042ce4dc7d8bc9e257e92555a5369ac313a8b2b1cd06f069684fa99d71f4f0663b3b216108270e3804b242b9e8ef4b3346b116e746fc8
|
||||
a148c93dbef1bcf956a1c4fcae5addf284704bbf741f74f1c74f6539b78954cd1a8d8bc0e726d66cf07933199f62dbec84d1a5f222b25aa953cc7c2fc1e03d5b
|
||||
44d5aee4429cec09bd769ff318451076fe097537b5a9656299b86e569e7df27e17e213876ae8c8d0d38bba0fb9c51b4d899209f482f76e33027d5f4913f922b1
|
||||
0de9c7699fe5767ad15d37925a7acc4f071cb9810ab99aa5c5a46a70104c61f1a5862b4521b09fe61a8752caf19789377846a14a545fb705df166f43fc501200
|
||||
a40269e9262526b9837b7293c6a165c55d4fc6ea7a851d872dba5fc20d1925ef147da6f4c02d635b1b0afd5142860a0a875db14d50d04b3b99e992ad356f13d5
|
||||
87cfd6bddf3b79c7077eb9377254c430709d71a1d5bbeae53c6c74ed1cc0296761c0cdc0a2b962392b7c459b2e1682699d2b3dac3005ad0afe3b5e6d4896b5c3
|
||||
abc78ed689cd728899700459893f509d0588b87a12649dfb956048ccef6d69cb215772ba72fca518b4318cadf7c4860164bdf66e727b76b386b6d3a30a658be5
|
||||
e298f2b4786051ec010036423d4ee05938aa55366fd666049576c8b32458867754e655011f178e0e11221d5317ae0d24d7ed521fdb992150b0720dff5948023c
|
||||
f3d2d6914457575b87ff7e492dfcf939aa5065bdc3cbbea1df736bfa1aca3155f98af14646bd5a0a853f8f83a29a44ee4ddc55c6c24f34a731377d6a2caeb9dd
|
||||
e79cb56693241034c2d0de205280a25ae405c4d3b489e5f3ab80798a08e9591858e2f49110505fc732b8ed3545c514aa0ec6c50f34dc8bb03d127b7d3338f339
|
||||
3d327a2f21ac0f14d57b1c98478bbb74638abb77680f77501d85ab989ad927ace9e71740543398cd40d43730ce1fc29082ba03b1a9f28fc1cd1e4be5e2abef00
|
||||
9e643bac7c66c66b155b3c871eca11a7cc71c7b3ea275bda85788a200b60f8cb2fe16e25239cc294b56fade9a91e5007979ca941708edfc672d2c53e0dd36b35
|
||||
927098356af29a7b402b9fc158b3bbc5c20a536b4e464113167f4d1d620786e9dcee8d566a866151c333598d5958478a17faeebf8cb1c9a4f566075ae9215830
|
||||
c2e009b84e7a01fb6601a630279c6db5c411ca29e38bb6e78504bf758acf7a2c824807aff83ecbd90cd251a6d94cb67f1740254c5c45d88ca9ccbd991e256a17
|
||||
9a832127ed39eb786c2c0f871fee9a57128ab0b5e8bf5b1b763cba61870cb65b4f279215903f66496be113230e1cf595f648dc895a9d230e764a021448202a72
|
||||
0c2814ff5d66994deac6a3aca06742e29a632827979e769aced942748e4783d56ad51102c50d9393f7cb9b7896c03b2db809d99bb076668b01993c1d94409e90
|
||||
4490716764d35dc552b4a5f79803ca925badfe51c53f4063561cc4a38d4a4560e7ac99387119ceee40f556f067f47220ec994b2101668fc13b2752b4ee0656b0
|
||||
2f570b8abd84d31b1d0e1c16b0023802b5f558accd8407f89a93ac2fe37c7034922113f45c2f988ad09d3943428bf1768f57c5358b213112d6e6382374e34409
|
||||
6fd0be642f00fb0e5ec0c7d51fa7f8d28f543297fbab781822176b7c0dcbb896f73426e0fe88244bb6466e847ab94c429da069f9fb60908c0e1b002896f90b7f
|
||||
b3b5270014936339f571568e4974011920082a66b4fa8a2f3fcd2fe7f45131b13e14a0b370e6f91ab152d195ab98f44b8c4077b6f1cb9f2cde9a5cd2d3614dd3
|
||||
1b2c9ab21741b837c08f0036ec2829636aafec54b9faf715289b4d96d97e0e870eb31f740b4f399b1d88d286e73358f2bd638c3f5a6eb133485a028bf15bcb05
|
||||
1187c96c6991cba39cec11afa2d7d88e39babb4b12819ffcf54da573407604fbd6855031e8a9a07fd813a6e33aca6a1c33910ccef2dba5e749d6686f5ffd06ba
|
||||
e2c6034c88eec806159a37edf00304a3636262cf3e8b828237f62564328536467059e6ae886564922b8a21109d1d7b73b3a3d383112d31742c9fde7d7d864b1b
|
||||
b96619d7a8c5dcd65312876155ce8239ccc1d6cac9c293f42d008a8d200ecd81d3dd3eaf1d567f6f742c6fee38bfae5c16c3b0b4a534e791fb16bc772b5bf8fc
|
||||
b6b5787a4b94c05eca25428f89ac488c8693936e674ba5cfab23a13d91be39c1a441030fd89ccb98bac2816965f2aad5cf00308e258bc16dcdd09bc18a910f7d
|
||||
6d7c9732f4950f71a4ab04d4a261cf526d9500a217a0c7e6b3bee36cf984caa17ae4449dfab78dc8d3f69e4caaa6cdfdc34b0128ceada2df911a234f947f2939
|
||||
932e43fe285371c77b29fa21dc45c24cfeb65fbfebdc505afd64851456127a09fd67bb25d9fab0c94feecc1dd7221c5f0eded911f1d7eff6abbd3bcb1d552b97
|
||||
8ebad2d8f324365d2ceb8b8bc60e0bd21d67c7471e61aaf20f79b8bdff282c80f5c8e4edf8dd8bca82d5bdde6c95278ae8e58433033c36b58ea4ccae4959678b
|
||||
0d9d69657bc2fcd5a987fcd5ed21e96f51e7eea6a9dfa43ec312f7fb1396b53820a126c3d140304a53fc3a8a7ceb973b47fb70cb495fa1c202eb020c32b4be8e
|
||||
7f069fe75b0cbd63e7d53a99b670ffe1e5a6828e9beb473b6fcf3952162f9cb26aa35f36794e26bc0f175279561405af20415936a2c20b3a528b5851c186577d
|
||||
7116178f4151c765907a56d439fd104b1a0756521f4d526739004bc7f8b18f154855fb8824fc64ca3edffbf290a69d8df9876bd0935ec67baf4f38a5e828769c
|
||||
97bdb35577c93fc48303acc48f461bacc66e8f9a358bf42e86f51af36adc235a43456f1799608c7a0b5ca5ce24d2176e680cea0ceaeda79d8055ff1d54f1a07e
|
||||
cf3ae67a81ea8e06228e1eb46d5c47660cdaa630e5512190666a8d89b5b4568bdd245a0ad5e1a2bc5eac7a3a7003ee9fd835fc5a17d8a0775ecd0d15ee5ccbe8
|
||||
865affe643b211f3d886a950a1b5c793c250fc097d8ffb22d65f44a32b749059f40d8beea79ff124d72ae4062ad6b2061c3941778baad04728b6f590e3fef6f0
|
||||
492ea6ef82a317f4aedee0c070dc37b041fdeb0f9c6fab431f314d5243a178405b22e74955f0f593fb1e534d3a6ba8f7149a401889c6de7c95de94e7e14e7a4f
|
||||
f82fc17541cc08e3a4cc6d5b846a26e1f4188f0021fb2260b9172807901ed7e541c21fd99fae1ae7c4d8f543482871b08b7b828596fa0ea63226a1b962ef1833
|
||||
36a0f71c95eff8a66544f34ec6530a5c9e880dd4cd8233fa8a1a3829f989fc20b239ca94d405076170944b323916cd8bf948535745c38d0829c98fd32743bca8
|
||||
5e610910c5ec6b44b3f6750735d498889a191b5257018a22d0f6cfff8d88252aa610c440adf489b191cbfee93291e84c1e9d3589d8c607bcbc78669636cd74a0
|
||||
9a0f3ec8b274527315bc1aa923a7f020d6983b12d9c743f52d2f75ebc207546d596768d37af47db0713e04ceed76b955e0c9c98024cdcbbe4481df0964acefbf
|
||||
387eaefec7e81da8cda65af52dab43e9651896b55135a1378cdd3fb79676cb0f0ecad48703e71c1eb47f67bf171eb42a9ea8e8252d2621ac2e78d0562c2244d9
|
||||
9dde574527ed48af4e889911c76bfb3fe0aa1711620e3410c77e44c036effedd4849b78ffa44d7071a0e750953b72c98454f72e03e7a23c3c4bbff66aef70139
|
||||
d63a502a37015a565c926781d27c23b439135f4689067c2ce7b98a60b62fcffc12f344e6580424f38f96984409f9bdbd110a3b8b2845595251c332312a7cf3a7
|
||||
1e4e6de08e523f48abb83cec8fcd7567b0365be2cd39fb7e997d133abc315384ff74eebad9b1bbf9496d5848f1002cb3bed8542be6013f4a217618f92b264638
|
||||
0f4f0375f82e1606e1739a8f9b650ba7a93bb52a87cefd5b7f553a9a70aa230b9e5eb66e80b0d2416c37ae108f47eba1b9f14c72a2671e1a24d22ec3f757e18d
|
||||
4f55f20f07b82ed7cb6e00569f413a625178b9dd52b108d89c5a03ca05ed373d154a5f5baf7025f2c1bb81435136db0b6291e16c52794f34d7c5cd654aef8ef3
|
||||
a4c196b69b3bdd7ee803ea1165542471987769f3c2ad38fddb3832c666089db33589257792d1cf709551678cea94f978d716f762e0e764d2b28cfeac6481106c
|
||||
0072a1a5e16ef608480a91e74e099d00eb89ba6a2429b7f742faf58efa49cee112d2658730305c132ff7706480a5e25c43a421cfb61077042685ad01b816c47f
|
||||
f3875c991080ba65faf42969e86a2e68bc8e731e4749ffa3298f28fc06448dec4b463e612f3c497b0601afa3cc35ba30f3643f4e35efa5f767bf71e3c8adab6f
|
||||
0df83a5590c2dba9548e8c85e58fa55ccf56a81bb8bf1418932dfa6db08789b4bcd4fe5498d6cf2f297c52f067ecc9a3cd3ef83f1a624c21f135c32d3792fd92
|
||||
4d007f12e40579a84e1ced922c7031f8505dc3c040547be5d6786f9498a1226d92cf119492bdfcda49b29533bcfbdeebd13993832fb7b7c56eb9041df2f59070
|
||||
871233acf3eee774f325f4925f8337f25e17cd22ebffcf986b1a87c3d62d11ef1d6b7834529a1ae1a11f8193e28d72b7b1c7bedf418928e48baec1ce09b69865
|
||||
99637d1818697bf980161efc091eb3177713c613f18133a50193f84a5a296ceb08720872ddff36758e68e7dfa1ae99e4f7cc525bcab515cd5f8b72402f324683
|
||||
b1fd2628541499a1027ea069844f2f4e40ebdd5385010d9a228ba57afe1c434c4f22f4a009327edeca71ece47557fdbc78ff95650ecdcdc6dd591c33912ba0bb
|
||||
81dc8606e54e4a30d1a7e94d58ff218ff24ecb98874131a2eb479f9c28d62a5f7edb91819f743836bfe327482472674ad12b3841cdf985d7eaeadbcdd90d9e24
|
||||
26c36311cf26fbf31791c81874c2c6fa73be27ff8807926d36e2d8c359f7504f3f8f8612b3f5e50ce69583c9760dff5daf7afdea5a0c1de57480c5d58797c640
|
||||
41a0c1098b8085317ca51480b975d6da8badc230a107677d113a0124a7ef6889a7697208c1e9308ac8cefd79362fc798cb828217f3ece8cc85eedbb8bfe69789
|
||||
973e021d51a0658d6f037e97237aaaa7216fb7866a5c2dbfb36f417a94157bfc630c10ef3d53c8334720f0b98dae2aacb94c5a943354184278601e93dc723baf
|
||||
0ec1d46d0d49d0c45eac956c75dfcad50c520e0d3005e9b4d3bb7e8777cc1ccf946936cfcb24eb26027276ad65afed74e9f1d4962ca752b886a6fb9b7f8f3d4a
|
||||
ce89bb7091651afc38b839b66a64c97308d7fb46ceda0211a4859f4b0a17be91e74f17796acaffa3c391cc9aa89ea001f06e83d9999ade9ea5689d2331afe440
|
||||
e7083ef7c458d3c669533b0e584569ae1ef7e47d9637131f152bcb3ede30532a3aff2a6f584f66ca1321d72c4eb806849e741006ef2f11d56677c48fae315ab3
|
||||
cce2a65c47686e1eae0d59177ba1e4854bd2e123e5a9e80cc7e3c0218909e42dacc1904d5e14d9a07568f34d9ff4cc5d735e7e4d92e5231a5e9f429ed268c17c
|
||||
cca52621ff6a92c1b2c417e17b4759a3560a1de22682a1605b3613a7cf7210be8635f7825fb0e5109b48dc6f41027fb5473f461d5debd2ddee2f72d4a4906186
|
||||
2b5d996076a7394d5645dfe795488925b3cc32d9ca53759f744b0316b8bae0e23c7e7afbff69691967675153a9dad187c6639270c2a8e82a4e3b1f292b35f3aa
|
||||
3fa6bea056f92a1cd20fd73625b4da4a0d7c268a973a6f02f887f3538752bc1e75c89d404d944eabec3ebd650b6a5436407d991c9573a92dfeb79df8993e0ece
|
||||
6c07da1342f14038e3babd9e7901a43065167229d9f42146a133c312f8e48408508b469f11258dd6f833d22cdc55eeacdc7b2f036c99c530132cce661c657c47
|
||||
8f781d40589637c732cbda0dfc3d1813bbc6c38351012d2b12e09a3b6f3683b2f3235c9deaf56510b3716cbead574dc1832397ebe4fab09b2829b0e12a49f1b8
|
||||
dc38546749eacca6995b98416f9ea76411cd3232a5f63f982dd946a4742357f88ad49996087d4e60fc95038dee9c6ee27c6f4dcdf06306b1f89c66bddbd39e7c
|
||||
da78688ac6f0a2e282fbb5ffd69ab72f3ddd72d80365c17f7ed59f96cfebe4f00c2ea017dac0c3187266d48097cc365a0bbb0c8da7801f1b7be26a72d169da39
|
||||
8f679a4bca621593217b7f76d1928479a5f37d002326a385915041725617afb790223587554083df22774e54906c8821c925bc0ec0d5648db105aac769e022bd
|
||||
4bd895a31ed7449516519255d284e376c0e463b08f8404dfa486755ac6534446c273ffcb887a82dc625d0296aeaae71413090d94dd4cdc44195f2b6115ca4da1
|
||||
509f137625835bd8685dcd7474f2c10371b0bf73aa50fee573db3e510e607727c1b62f8b76041033033dcf10aa1239819974d32e6be823bb8686a74a7ca0581e
|
||||
a2c37cb3641d07e5a2891ba220259862a67c365dbc1edc5553b89fef4e01929863cae7deaa013ce88451f656a7e8bcea485a819f2cc6168c04f200021070b38c
|
||||
882026c3da33c42df316b568823c89da38c2ff17e5c8ccb868084b2f33622ff38a446810e4f00dee21564f55eb532e1c301cf567fe869105e0c01b3a36b49412
|
||||
3fb5df28e598f1f30f8930dda074e22de768a3afce800596328bfaf2cf35706b59f49405c977339f1e0ddd6240ffe7b726d6f9bedb0022b13ed5c3eef29eaf81
|
||||
eda8f5280e113c9cd5e3a6bf05ee974b593a5b0ecf168f96265459f049dcbe6709a766f5dbc9d7830dac9c8f7da5af68edc1ee458f4e9660450a0a86ec5988ca
|
79
olivierdeschacht/test.py
Normal file
79
olivierdeschacht/test.py
Normal file
@@ -0,0 +1,79 @@
|
||||
import hashlib
|
||||
import base64 as bo64
|
||||
from itertools import combinations
|
||||
dic = ["ollie", "olivier", "deschacht", "2014"]
|
||||
print(dir(bo64))
|
||||
|
||||
with open("deschacht25.txt", "r") as infile:
|
||||
text = infile.read()
|
||||
|
||||
print(text)
|
||||
|
||||
alts = {"a":"@",
|
||||
"e":"3",
|
||||
"o":"0",
|
||||
"s":"5",
|
||||
"g":"9",
|
||||
"i":"!"}
|
||||
|
||||
adders = ["!", "*"]
|
||||
|
||||
#yea, that shit works like that? isn't that mad?
|
||||
def reverse(word):
|
||||
return word[::-1]
|
||||
|
||||
|
||||
#set to -1 if you want to do all the chars
|
||||
def altWord(word, l=-1):
|
||||
t = 0
|
||||
s = ""
|
||||
for letter in word:
|
||||
if letter in alts and t < l:
|
||||
s+=alts[letter]
|
||||
else:
|
||||
s+=letter
|
||||
t = t+1
|
||||
return s
|
||||
|
||||
def chopWord(word):
|
||||
s = ""
|
||||
l = []
|
||||
for c in word:
|
||||
s+=c
|
||||
l.append(s)
|
||||
return l
|
||||
|
||||
|
||||
def addStartAndEnds(l):
|
||||
t = []
|
||||
for i in l:
|
||||
for a in adders:
|
||||
t.append(i+a)
|
||||
t.append(a+i)
|
||||
return t
|
||||
|
||||
def makeWords():
|
||||
words = dic.copy()
|
||||
for d in dic:
|
||||
for i in range(len(d)):
|
||||
words.append(altWord(d, i))
|
||||
temp = []
|
||||
for w in words:
|
||||
temp.extend(chopWord(w))
|
||||
|
||||
words.extend(temp)
|
||||
|
||||
temp2 = []
|
||||
for w in words:
|
||||
if len(w) > 1:
|
||||
temp2.append(reverse(w))
|
||||
words.extend(temp2)
|
||||
temp3 = addStartAndEnds(words)
|
||||
words.extend(temp3)
|
||||
return set(words)
|
||||
|
||||
#def decrypt(t, p):
|
||||
# aes = AES.new(p, AES.MODE_CBC, "")
|
||||
# return aes.decrypt(t)
|
||||
|
||||
|
8
rsa/factor.log
Normal file
8
rsa/factor.log
Normal file
@@ -0,0 +1,8 @@
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop,
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, ****************************
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, Starting factorization of 65537
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, using pretesting plan: normal
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, no tune info: using qs/gnfs crossover of 95 digits
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, ****************************
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, prp5 = 65537
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, Total factoring time = 0.0002 seconds
|
0
rsa/public.pub
Normal file
0
rsa/public.pub
Normal file
@@ -1,4 +1,15 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhANYKESYl+3ksLXaSDMyCvpvfV7VSnBCB
|
||||
HOx/vnFrI7yjAgMBAAE=
|
||||
-----END PUBLIC KEY-----
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXAIBAAKBgQDER6zsHqfA29V26kjajWUdmttverRAfdp159LuvsN7Zfk6pqPl
|
||||
4JpSaCsLviCLvQ5CzHYXsHhscSDlZ5VbzGzTN1XKzChhSm3ioixtsMaHqk8n+t7X
|
||||
wuWvBm1SoJBohO1GKP84eNhDVa/vntwirj8xM+kyuyVnYMG5wK5eDOoFQwIDAQAB
|
||||
AoGADrPDuygMrsCIu9COxngi49XOrAoH6HDE5WIJBcMaR2r7AS6sRjLNvHB7EPUb
|
||||
4Pu3Tr+b9OhODOloamaY5HhqikIMcK5b+d5a9chWl7LPT+4RjQ1qCcO8Az1rnuD3
|
||||
GPV8Pa2X6Nc/KGZNF51fuSsYPtpMMNaRVsUyhVfF1Bm2FoECQQDufZPntbhAMftv
|
||||
vmpkhrbVPzf9Sv5QAZQMCLvr9XuopvhwkIdqTqTIRi0+o21r+Y4gUuE8KQ/8SrOp
|
||||
PDcSkzBBAkEA0rDAa4gvnptu35juAAG4QAwSdoGxM5f4EViG0lTXPYW1WXAuakSX
|
||||
pRAr5r+kRIuFAqLubOF3ily2ZHYR7wNUgwJBAJWakuh8Vtt2PyrmwOjUlOaKZL3w
|
||||
iD157/vokrG+6VZvf1NlZnzqXnX/h6xOanqcLmracs4BWDTES5Vy3304dcECQB6L
|
||||
S0oLk0O+KuO1iwNrPGfkmCSgBq2BIZB6Mgl6DT45DSJrNf9n9EgUwRiRveHGDEFm
|
||||
l4QnZ6oiaLrFtzHcXLsCQF/1m2eZSCKqRKxYViZwtCG6YltvxrWYEv+5QEeH8TW5
|
||||
l9u4XTLA6SkVUKacIdy4saTTiNJ91Z+hChn0yL7wwkU=
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
4
rsa/public12.pem.BAK
Normal file
4
rsa/public12.pem.BAK
Normal file
@@ -0,0 +1,4 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhANYKESYl+3ksLXaSDMyCvpvfV7VSnBCB
|
||||
HOx/vnFrI7yjAgMBAAE=
|
||||
-----END PUBLIC KEY-----
|
3
rsa/rsapublic12.pem
Normal file
3
rsa/rsapublic12.pem
Normal file
@@ -0,0 +1,3 @@
|
||||
-----BEGIN RSA PUBLIC KEY-----
|
||||
MCgCIQDWChEmJft5LC12kgzMgr6b31e1UpwQgRzsf75xayO8owIDAQAB
|
||||
-----END RSA PUBLIC KEY-----
|
48
rsa/session.log
Normal file
48
rsa/session.log
Normal file
@@ -0,0 +1,48 @@
|
||||
11/06/18 16:14:32 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.884840
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:14:32 v1.34.3 @ arch-laptop, New random seeds: 1627275890, 3413126897
|
||||
|
||||
11/06/18 16:14:32 v1.34.3 @ arch-laptop, Processing expression: factor(<0x10001>)
|
||||
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.898370
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, New random seeds: 1051584989, 882356502
|
||||
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, Processing expression: factor(0x10001)
|
||||
|
||||
11/06/18 16:24:16 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.923100
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:24:16 v1.34.3 @ arch-laptop, New random seeds: 4224413532, 2143373325
|
||||
|
||||
11/06/18 16:24:16 v1.34.3 @ arch-laptop, Processing expression: factor(00d60a112625fb792c2d76920ccc82be9bdf57b5529c10811cec7fbe716b23bca3)
|
||||
|
||||
11/06/18 16:24:36 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.915970
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:24:36 v1.34.3 @ arch-laptop, New random seeds: 2525150347, 3657121282
|
||||
|
||||
11/06/18 16:24:36 v1.34.3 @ arch-laptop, Processing expression: factor(00d60a112625fb792c2d76920ccc82be9bdf57b5529c10811cec7fbe716b23bca3)
|
||||
|
85
rsaMODULUSBS/factor.log
Normal file
85
rsaMODULUSBS/factor.log
Normal file
@@ -0,0 +1,85 @@
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop,
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, ****************************
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, Starting factorization of 65537
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, using pretesting plan: normal
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, no tune info: using qs/gnfs crossover of 95 digits
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, ****************************
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, prp5 = 65537
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, Total factoring time = 0.0002 seconds
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop,
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, ****************************
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, Starting factorization of 96812736425632664666015008713537286953764545424199836244364938864771752770723
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, using pretesting plan: normal
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, no tune info: using qs/gnfs crossover of 95 digits
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, ****************************
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, rho: x^2 + 3, starting 1000 iterations on C77
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, rho: x^2 + 2, starting 1000 iterations on C77
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, rho: x^2 + 1, starting 1000 iterations on C77
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, pm1: starting B1 = 150K, B2 = gmp-ecm default on C77
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, current ECM pretesting depth: 0.00
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, scheduled 30 curves at B1=2000 toward target pretesting depth of 23.69
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, Finished 30 curves using Lenstra ECM method on C77 input, B1=2K, B2=gmp-ecm default
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, current ECM pretesting depth: 15.18
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, scheduled 74 curves at B1=11000 toward target pretesting depth of 23.69
|
||||
11/13/18 09:18:46 v1.34.3 @ arch-laptop, Finished 74 curves using Lenstra ECM method on C77 input, B1=11K, B2=gmp-ecm default
|
||||
11/13/18 09:18:46 v1.34.3 @ arch-laptop, current ECM pretesting depth: 20.24
|
||||
11/13/18 09:18:46 v1.34.3 @ arch-laptop, scheduled 149 curves at B1=50000 toward target pretesting depth of 23.69
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, Finished 149 curves using Lenstra ECM method on C77 input, B1=50K, B2=gmp-ecm default
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, final ECM pretested depth: 23.72
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, scheduler: switching to sieve method
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, starting SIQS on c77: 96812736425632664666015008713537286953764545424199836244364938864771752770723
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, random seeds: 536257088, 4097496803
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, ==== sieve params ====
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, n = 77 digits, 256 bits
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, factor base: 36160 primes (max prime = 906331)
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, single large prime cutoff: 77038135 (85 * pmax)
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, allocating 7 large prime slices of factor base
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, buckets hold 2048 elements
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, using 32k sieve core
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, sieve interval: 10 blocks of size 32768
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, polynomial A has ~ 10 factors
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, using multiplier of 1
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, using SPV correction of 20 bits, starting at offset 35
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, using SSE2 for trial division and x64 sieve scanning
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, using SSE4.1 enabled 32k sieve core
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, using SSE2 for resieving 13-16 bit primes
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, trial factoring cutoff at 90 bits
|
||||
11/13/18 09:19:02 v1.34.3 @ arch-laptop, ==== sieving started (1 thread) ====
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, trial division touched 3100665 sieve locations out of 45953843200
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, 36295 relations found: 18547 full + 17748 from 187909 partial, using 70120 polys (279 A polys)
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, on average, sieving found 2.94 rels/poly and 1881.88 rels/sec
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, trial division touched 3100665 sieve locations out of 45953843200
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, ==== post processing stage (msieve-1.38) ====
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, begin with 206456 relations
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, reduce to 51844 relations in 2 passes
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, recovered 51844 relations
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, recovered 36656 polynomials
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, freed 9 duplicate relations
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, attempting to build 36286 cycles
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, found 36286 cycles in 1 passes
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, distribution of cycle lengths:
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, length 1 : 18545
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, length 2 : 17741
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, largest cycle: 2 relations
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, matrix is 36160 x 36286 (5.2 MB) with weight 1063582 (29.31/col)
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, sparse part has weight 1063582 (29.31/col)
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, filtering completed in 3 passes
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, matrix is 25772 x 25836 (4.1 MB) with weight 857398 (33.19/col)
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, sparse part has weight 857398 (33.19/col)
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, saving the first 48 matrix rows for later
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, matrix is 25724 x 25836 (3.3 MB) with weight 699368 (27.07/col)
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, sparse part has weight 617217 (23.89/col)
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, matrix includes 64 packed rows
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, using block size 10334 for processor cache size 3072 kB
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, commencing Lanczos iteration
|
||||
11/13/18 09:20:52 v1.34.3 @ arch-laptop, memory use: 3.1 MB
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, lanczos halted after 408 iterations (dim = 25720)
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, recovered 15 nontrivial dependencies
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, prp39 = 285654914474128418727141496733493951767
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, prp39 = 338915003804007480961863644234175376469
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, Lanczos elapsed time = 1.5277 seconds.
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, Sqrt elapsed time = 0.0501 seconds.
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, SIQS elapsed time = 111.2947 seconds.
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop,
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop,
|
||||
11/13/18 09:20:53 v1.34.3 @ arch-laptop, Total factoring time = 129.7620 seconds
|
1
rsaMODULUSBS/flag12.enc
Normal file
1
rsaMODULUSBS/flag12.enc
Normal file
@@ -0,0 +1 @@
|
||||
k<EFBFBD>YRE<EFBFBD><EFBFBD>0_<EFBFBD>?<3F>߮o<DFAE>c<EFBFBD>f<EFBFBD><66><EFBFBD><EFBFBD> <20><>1<EFBFBD><31><EFBFBD>i@
|
6
rsaMODULUSBS/oplossing.pem
Normal file
6
rsaMODULUSBS/oplossing.pem
Normal file
@@ -0,0 +1,6 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIGsAgEAAiEA1goRJiX7eSwtdpIMzIK+m99XtVKcEIEc7H++cWsjvKMCAwEAAQIhALALIaW90cMN
|
||||
Ket/HpXK55fsN7xw9K9oWdLrPk1kBWxJAhEA1ucipps0Rtg0f0YX9wT9FwIRAP74p8sZ2pzZFHl+
|
||||
qH+6bFUCEQCTCq+Q491PJBw3gZRgNo+dAhEA15GBw+yy8SNz9RiJ+5uxFQIQOCHMMPq2/myYoJrL
|
||||
tliXMw==
|
||||
-----END RSA PRIVATE KEY-----
|
1
rsaMODULUSBS/oplossing.txt
Normal file
1
rsaMODULUSBS/oplossing.txt
Normal file
@@ -0,0 +1 @@
|
||||
853:9ebe:f434:c9c1
|
0
rsaMODULUSBS/public.pub
Normal file
0
rsaMODULUSBS/public.pub
Normal file
15
rsaMODULUSBS/public12.pem
Normal file
15
rsaMODULUSBS/public12.pem
Normal file
@@ -0,0 +1,15 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXAIBAAKBgQDER6zsHqfA29V26kjajWUdmttverRAfdp159LuvsN7Zfk6pqPl
|
||||
4JpSaCsLviCLvQ5CzHYXsHhscSDlZ5VbzGzTN1XKzChhSm3ioixtsMaHqk8n+t7X
|
||||
wuWvBm1SoJBohO1GKP84eNhDVa/vntwirj8xM+kyuyVnYMG5wK5eDOoFQwIDAQAB
|
||||
AoGADrPDuygMrsCIu9COxngi49XOrAoH6HDE5WIJBcMaR2r7AS6sRjLNvHB7EPUb
|
||||
4Pu3Tr+b9OhODOloamaY5HhqikIMcK5b+d5a9chWl7LPT+4RjQ1qCcO8Az1rnuD3
|
||||
GPV8Pa2X6Nc/KGZNF51fuSsYPtpMMNaRVsUyhVfF1Bm2FoECQQDufZPntbhAMftv
|
||||
vmpkhrbVPzf9Sv5QAZQMCLvr9XuopvhwkIdqTqTIRi0+o21r+Y4gUuE8KQ/8SrOp
|
||||
PDcSkzBBAkEA0rDAa4gvnptu35juAAG4QAwSdoGxM5f4EViG0lTXPYW1WXAuakSX
|
||||
pRAr5r+kRIuFAqLubOF3ily2ZHYR7wNUgwJBAJWakuh8Vtt2PyrmwOjUlOaKZL3w
|
||||
iD157/vokrG+6VZvf1NlZnzqXnX/h6xOanqcLmracs4BWDTES5Vy3304dcECQB6L
|
||||
S0oLk0O+KuO1iwNrPGfkmCSgBq2BIZB6Mgl6DT45DSJrNf9n9EgUwRiRveHGDEFm
|
||||
l4QnZ6oiaLrFtzHcXLsCQF/1m2eZSCKqRKxYViZwtCG6YltvxrWYEv+5QEeH8TW5
|
||||
l9u4XTLA6SkVUKacIdy4saTTiNJ91Z+hChn0yL7wwkU=
|
||||
-----END RSA PRIVATE KEY-----
|
4
rsaMODULUSBS/public12.pem.BAK
Normal file
4
rsaMODULUSBS/public12.pem.BAK
Normal file
@@ -0,0 +1,4 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhANYKESYl+3ksLXaSDMyCvpvfV7VSnBCB
|
||||
HOx/vnFrI7yjAgMBAAE=
|
||||
-----END PUBLIC KEY-----
|
3
rsaMODULUSBS/rsapublic12.pem
Normal file
3
rsaMODULUSBS/rsapublic12.pem
Normal file
@@ -0,0 +1,3 @@
|
||||
-----BEGIN RSA PUBLIC KEY-----
|
||||
MCgCIQDWChEmJft5LC12kgzMgr6b31e1UpwQgRzsf75xayO8owIDAQAB
|
||||
-----END RSA PUBLIC KEY-----
|
106
rsaMODULUSBS/session.log
Normal file
106
rsaMODULUSBS/session.log
Normal file
@@ -0,0 +1,106 @@
|
||||
11/06/18 16:14:32 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.884840
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:14:32 v1.34.3 @ arch-laptop, New random seeds: 1627275890, 3413126897
|
||||
|
||||
11/06/18 16:14:32 v1.34.3 @ arch-laptop, Processing expression: factor(<0x10001>)
|
||||
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.898370
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, New random seeds: 1051584989, 882356502
|
||||
|
||||
11/06/18 16:14:41 v1.34.3 @ arch-laptop, Processing expression: factor(0x10001)
|
||||
|
||||
11/06/18 16:24:16 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.923100
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:24:16 v1.34.3 @ arch-laptop, New random seeds: 4224413532, 2143373325
|
||||
|
||||
11/06/18 16:24:16 v1.34.3 @ arch-laptop, Processing expression: factor(00d60a112625fb792c2d76920ccc82be9bdf57b5529c10811cec7fbe716b23bca3)
|
||||
|
||||
11/06/18 16:24:36 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.915970
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/06/18 16:24:36 v1.34.3 @ arch-laptop, New random seeds: 2525150347, 3657121282
|
||||
|
||||
11/06/18 16:24:36 v1.34.3 @ arch-laptop, Processing expression: factor(00d60a112625fb792c2d76920ccc82be9bdf57b5529c10811cec7fbe716b23bca3)
|
||||
|
||||
11/13/18 09:14:43 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2194.946830
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/13/18 09:14:43 v1.34.3 @ arch-laptop, New random seeds: 2047947468, 1624631330
|
||||
|
||||
11/13/18 09:16:07 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2195.208090
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/13/18 09:16:07 v1.34.3 @ arch-laptop, New random seeds: 2278855937, 1615700715
|
||||
|
||||
11/13/18 09:16:07 v1.34.3 @ arch-laptop, Processing expression: factor(00:d6:0a:11:26:25:fb:79:2c:2d:76:92:0c:cc:82:be:9b:df:57:b5:52:9c:10:81:1c:ec:7f:be:71:6b:23:bc:a3)
|
||||
|
||||
11/13/18 09:18:02 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2195.056730
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/13/18 09:18:02 v1.34.3 @ arch-laptop, New random seeds: 3974155679, 4201899115
|
||||
|
||||
11/13/18 09:18:02 v1.34.3 @ arch-laptop, Processing expression: factor(00:d6:0a:11:26:25:fb:79:2c:2d:76:92:0c:cc:82:be:9b:df:57:b5:52:9c:10811cec7fbe716b23bca3)
|
||||
|
||||
11/13/18 09:18:23 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2195.046510
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/13/18 09:18:23 v1.34.3 @ arch-laptop, New random seeds: 3000548796, 849839776
|
||||
|
||||
11/13/18 09:18:23 v1.34.3 @ arch-laptop, Processing expression: factor(00d60a112625fb792c2d76920ccc82be9bdf57b5529c10811cec7fbe716b23bca3)
|
||||
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, System/Build Info:
|
||||
Using GMP-ECM 7.0.4, Powered by GMP 6.1.2
|
||||
cached 78498 primes. pmax = 999983
|
||||
detected Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
|
||||
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
|
||||
measured cpu frequency ~= 2195.052370
|
||||
using 20 random witnesses for Rabin-Miller PRP checks
|
||||
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, New random seeds: 1194384055, 434005162
|
||||
|
||||
11/13/18 09:18:44 v1.34.3 @ arch-laptop, Processing expression: factor(0x00d60a112625fb792c2d76920ccc82be9bdf57b5529c10811cec7fbe716b23bca3)
|
||||
|
206737
rsaMODULUSBS/siqs.dat
Normal file
206737
rsaMODULUSBS/siqs.dat
Normal file
File diff suppressed because it is too large
Load Diff
2
rsaMODULUSBS/uitleg.txt
Normal file
2
rsaMODULUSBS/uitleg.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
In een kort tekstdocument zit een vlag. Het tekstdocument werd versleuteld met RSA gebruik makend van een publieke sleutel.
|
||||
De publieke sleutel krijg je erbij in de vorm van een pem-bestand.
|
80
weaklinkedinFINISHED/linkedin34.txt
Normal file
80
weaklinkedinFINISHED/linkedin34.txt
Normal file
@@ -0,0 +1,80 @@
|
||||
49ad630ee4cfbe679d4c1812585ecfd987560069
|
||||
286fb8f1a5d4dc144ca2b78e6461d90e87127cff
|
||||
4798dd76602345d6364542ae1e827b50073776f5
|
||||
a0a6696f377f04c24ae204820ca94d1f7b217a37
|
||||
1e8ee052ddc4357c9f9bcb213bb6019d4ab9a51a
|
||||
d7456801f116e2fdb94c362caaaa2da59823c87f
|
||||
2e343e2791d957d9e54905ca60b1070cf3afb2e1
|
||||
5c1e3a1c872cb6433dc5262e9230478dbac4572d
|
||||
9ed58a327da5f54cec39488e92f841ee50e74b34
|
||||
f5fe9ac0340f1328f295e93ee2f9fb5ae343c85d
|
||||
1b3f5b532c0f1376850e63162951b9f6b187bd8d
|
||||
0bf2bd9d6cc4f2a8dd1342a7639ed79134884257
|
||||
e18ae9d6f91823176296851d6cd8ddf4a6a7d2ee
|
||||
a7c463d3506da56b4a365bad2ddbaff6c4c698bb
|
||||
292721de93d4d5a6716ec489bf9872a2d7906aec
|
||||
31105f7f1c02a3ca70e886254b089ded985555ab
|
||||
6cb97f774b7f01e0920e688e95172c421373e0ee
|
||||
f4b50f1365aeb2f4fe5b8fb4df83077f4da910ba
|
||||
a0f11b27c950a40531f26fe36e85f59d9b8b7b54
|
||||
cf2fd0459224df00d518e9d1251692fbf391ffb6
|
||||
1bf6cda873aa3636ecafef0045693d0cc18f2cf0
|
||||
6c5762f08fd700248ec9a9a496a059bdc01b9115
|
||||
d4f05a94f53ec5f68676c3eab053ca11e0748699
|
||||
2fbd98019522481ed9e168aa07bb9d436cbe5c45
|
||||
82bf809f8e4c6c35e78808b9aef7438fc881bb69
|
||||
2382830edeb06335afb4020731590e67f62b608a
|
||||
070c027d1889dbe5ca0cd67627fe2bc40a7cc419
|
||||
06f0cb34f661d6689f9c8f1b77881e46e30e1593
|
||||
b2f1ed8f878c5b1f9f95df804d960aeddd88ef3d
|
||||
6f00a9867733a85b6455f5ec6cd69d9dc542b7fe
|
||||
63d56e380cc0932869e3ddddcfa516ed928263e3
|
||||
b8bb875de5f730d847a5e832d76e4e163d42e8a0
|
||||
d37625d46eced12752bf8f7f73a7ae5bb8800271
|
||||
2e474d2d089cbe5e292e0ceb7dcdcfdee52875dc
|
||||
c19440b5d671b3ac242c03f845a37b8a5a4ad1c2
|
||||
cafdb889e3f42b16a71a10a241be164e63ea5df0
|
||||
a6959809f24f40d7615f20c94d82036dce8583c3
|
||||
0c7a65dde77b2701467780220b70aeab6f96f1f3
|
||||
021a5927eae1f735356808c6c1442133332c48f2
|
||||
3dae67a299994cccb4cbad8602a7207cdc298252
|
||||
8871da33a071a2de3d1122a8212dca4251f53be5
|
||||
ad8dac9ad71d3a76f1d5cec8e87affca8b6f7bcd
|
||||
3e66666292c2e43f3b23471a9d2657b5088b296f
|
||||
92b240308b453b0490fb20ed1c63e580de72aa21
|
||||
969217de3bc9e84cc89c1d67d0787caf20d5f9e8
|
||||
bea5aca542fa09b98c8a3bf0e21c26f25836774d
|
||||
18e53b3ff5e63ca8a0d56b8d38bdc94324a4651c
|
||||
928093ad25300548fc27ca490c82f326d5f9ce72
|
||||
785138504a4dba1a3bce3adb19a7b0ea1211971f
|
||||
34d0667eaced8feaec5610f13e7c22c19bcef4e3
|
||||
363603eace13c7758125a25e0c31605f40c2e23b
|
||||
e76ff0252f4356bc0c0521f1a4e427d77cb90b57
|
||||
2532e98588de789ce9f898e5e2553e055465fb6a
|
||||
662f1b77ebb4a9c360737c800551f94f1789606d
|
||||
72e636b65eea3a6280807996033a9edc10bb9e9b
|
||||
75d6ed741ab970a56bc50d7a21d46285fbe03eb1
|
||||
d740f00dcb9d528c4eef7e8b7b944748b3e694dc
|
||||
50d65ee40561450a6428e487535677017a1f042d
|
||||
337a1ef69455340e7872c2ad2cd3210cb4a80a70
|
||||
ec554728b8b7c6a9a4d4f67dbebb895db414764c
|
||||
68133c9864a86c4dff54236636901a896abfa6f1
|
||||
957ba857016afe81a440488fdcd23b7408c7d445
|
||||
933c7eb1739faff81ababbeea86d7df6044a5421
|
||||
add1a9ee65bb76446386f76e4fcdac22094db33f
|
||||
3cb179a3552d765881d6d6a646e2ba9c352587a7
|
||||
c02e912d81d9870d2bf7e9a9114eca18b41700c0
|
||||
48f2cc03935c331fbe39f597c27ce469d541aaed
|
||||
34d3f6bf05193b12f44bcc547f9ed9164a5a92ab
|
||||
e70b5ebad37c5236b40cb157bd33660a6beed1ae
|
||||
c3fe2b01a4bae84c5d1237daf01a83d23e5d4748
|
||||
ef91a26d2bf810fca53867e93e878f7b6e4c3b78
|
||||
9027f9d6a2bf708b4621c28c3a2d169d7754e018
|
||||
6a89ae5a61aad21ed130871d6b91db71df625180
|
||||
b56770efc24e88294d002dcedf7bf17347689e2c
|
||||
afe3069207beada82457ac0f3c1fc76f5cd622a7
|
||||
dc97ca861f530ad255989c661dd48a141a002bbb
|
||||
3e9e0d430da6769b01eec05c25c1b04e957fb029
|
||||
118d9882264b4f3230a06a58f17aea16eb6d8e25
|
||||
2ae3023d28194c7e713f442e70ce4a6d7ff4568c
|
||||
7868fc2fbe2609f7d0255b0d5128941d489d0d8a
|
2
weaklinkedinFINISHED/uitleg.txt
Normal file
2
weaklinkedinFINISHED/uitleg.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Bij de aanval op een organisatie worden een aantal <20>high value targets<74> ge<67>dentificeerd. Blijkt dat ze in 2012 een LinkedIn account hadden. De kans bestaat dat het toen gebruikte paswoord ook voor andere logins gebruikt werd en dat het paswoord niet is aangepast
|
||||
In het meegeleverde bestand staan de hashes van de interessante gebruikers die bij de LinkedIn password leak van 2012 beschikbaar werden. Als je een paswoord kan recupereren, is het bruikbaar als flag.
|
@@ -24,15 +24,22 @@ def main():
|
||||
f.close()
|
||||
#temp = bytes([0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0xc0, 0x03, 0x80, 0x02])
|
||||
#eerste 10 bytes van voorbeeld afbeelding
|
||||
temp = bytes([0x49,0x47, 0x38, 0x46, 0x61, 0x39, 0x03, 0xc0, 0x02, 0x80])
|
||||
#temp = bytes([0x49,0x47, 0x38, 0x46, 0x61, 0x39, 0x03, 0xc0, 0x02, 0x80])
|
||||
#en dan krijg je deze bytes list
|
||||
#solution = bytes([0x47, 0x3b, 0x57, 0x2b, 0x07, 0xd0, 0x29, 0xdb, 0x3b, 0x82])
|
||||
#dus blijkbaar was de eerste set van bytes verkerd van volgorde, dus dit is de key die we dan krijgen (met de tweede temp)
|
||||
#07a70ffe4f233ffbf9dd
|
||||
#solution = bytes([0xf7, 0xa3, 0x1b, 0x32, 0xb1, 0x56, 0x94, 0x38, 0x3c, 0x90])
|
||||
#solution = bytes.fromhex("07a70ffe4f233ffbf9dd")
|
||||
key = bytes.fromhex("0123456789")
|
||||
key = temp
|
||||
#4947 3846 6139 03c0 0280
|
||||
|
||||
#key = bytes("49473846613903c00280")
|
||||
#key = bytes.fromhex("0123456789")
|
||||
#4947 3846 6139 03c0 0280
|
||||
key = bytes(b'\x49\x47\x38\x46\x61\x39\x03\xc0\x02\x80')
|
||||
#key = bytes([0x49, 0x47, 0x38, 0x46, 0x61, 0x39, 0x03, 0xc0, 0x02, 0x80])
|
||||
#key = bytes([0x6e, 0x66, 0x4e, 0x7b, 0x94, 0xae, 0xd2, 0x15, 0xb4, 0xec])
|
||||
key = bytes(b'\x29\x2f\x08\x43\xad\xcf\x12\x16\x34\xee')
|
||||
expanded_key = expand_key(key, len(data))
|
||||
data_encrypted = xor(expanded_key, data)
|
||||
|
||||
|
Binary file not shown.
40
xorBASICALLYFINISHED/encryptXorExpandedKey.py
Normal file
40
xorBASICALLYFINISHED/encryptXorExpandedKey.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
KEY_SIZE = 10
|
||||
|
||||
|
||||
def expand_key(key, length):
|
||||
return int(length / len(key)) * key + key[0:(length % len(key))]
|
||||
|
||||
|
||||
def xor(s1, s2):
|
||||
assert len(s1) == len(s2)
|
||||
return bytes([(a ^ b) for a, b in zip(s1, s2)])
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) <= 2:
|
||||
key = os.urandom(KEY_SIZE)
|
||||
|
||||
filename = sys.argv[1]
|
||||
|
||||
f = open(filename,'rb')
|
||||
data = f.read()
|
||||
f.close()
|
||||
|
||||
expanded_key = expand_key(key, len(data))
|
||||
data_encrypted = xor(expanded_key, data)
|
||||
|
||||
print(data_encrypted)
|
||||
|
||||
f = open(filename + ".enc", "wb")
|
||||
f.write(data_encrypted)
|
||||
f.close()
|
||||
|
||||
print("File %s encrypted with key: %s" % (filename, key.hex()))
|
||||
else:
|
||||
print("Usage: %s <filename>" % (sys.argv[0]))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
57
xorBASICALLYFINISHED/temp/encryptXorExpandedKey.py
Normal file
57
xorBASICALLYFINISHED/temp/encryptXorExpandedKey.py
Normal file
@@ -0,0 +1,57 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
KEY_SIZE = 10
|
||||
|
||||
|
||||
def expand_key(key, length):
|
||||
return int(length / len(key)) * key + key[0:(length % len(key))]
|
||||
|
||||
|
||||
def xor(s1, s2):
|
||||
assert len(s1) == len(s2)
|
||||
return bytes([(a ^ b) for a, b in zip(s1, s2)])
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) <= 2:
|
||||
key = os.urandom(KEY_SIZE)
|
||||
print(type(key))
|
||||
filename = sys.argv[1]
|
||||
|
||||
f = open(filename,'rb')
|
||||
data = f.read()
|
||||
f.close()
|
||||
#temp = bytes([0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0xc0, 0x03, 0x80, 0x02])
|
||||
#eerste 10 bytes van voorbeeld afbeelding
|
||||
#temp = bytes([0x49,0x47, 0x38, 0x46, 0x61, 0x39, 0x03, 0xc0, 0x02, 0x80])
|
||||
#en dan krijg je deze bytes list
|
||||
#solution = bytes([0x47, 0x3b, 0x57, 0x2b, 0x07, 0xd0, 0x29, 0xdb, 0x3b, 0x82])
|
||||
#dus blijkbaar was de eerste set van bytes verkerd van volgorde, dus dit is de key die we dan krijgen (met de tweede temp)
|
||||
#07a70ffe4f233ffbf9dd
|
||||
#solution = bytes([0xf7, 0xa3, 0x1b, 0x32, 0xb1, 0x56, 0x94, 0x38, 0x3c, 0x90])
|
||||
#solution = bytes.fromhex("07a70ffe4f233ffbf9dd")
|
||||
#4947 3846 6139 03c0 0280
|
||||
|
||||
#key = bytes("49473846613903c00280")
|
||||
#key = bytes.fromhex("0123456789")
|
||||
#4947 3846 6139 03c0 0280
|
||||
key = bytes(b'\x49\x47\x38\x46\x61\x39\x03\xc0\x02\x80')
|
||||
#key = bytes([0x49, 0x47, 0x38, 0x46, 0x61, 0x39, 0x03, 0xc0, 0x02, 0x80])
|
||||
#key = bytes([0x6e, 0x66, 0x4e, 0x7b, 0x94, 0xae, 0xd2, 0x15, 0xb4, 0xec])
|
||||
key = bytes(b'\x29\x2f\x08\x43\xad\xcf\x12\x16\x34\xee')
|
||||
expanded_key = expand_key(key, len(data))
|
||||
data_encrypted = xor(expanded_key, data)
|
||||
|
||||
print(data_encrypted)
|
||||
|
||||
f = open(filename + ".enc", "wb")
|
||||
f.write(data_encrypted)
|
||||
f.close()
|
||||
|
||||
print("File %s encrypted with key: %s" % (filename, key.hex()))
|
||||
else:
|
||||
print("Usage: %s <filename>" % (sys.argv[0]))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
86
xorBASICALLYFINISHED/temp/encryptXorExpandedKeyBEPPE.py
Normal file
86
xorBASICALLYFINISHED/temp/encryptXorExpandedKeyBEPPE.py
Normal file
@@ -0,0 +1,86 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
KEY_SIZE = 10
|
||||
|
||||
def xor(s1, s2):
|
||||
assert len(s1) == len(s2)
|
||||
return bytes([(a ^ b) for a, b in zip(s1, s2)])
|
||||
|
||||
def expand_key(key, length):
|
||||
return int(length / len(key)) * key + key[0:(length % len(key))]
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) <= 2:
|
||||
key = os.urandom(KEY_SIZE)
|
||||
|
||||
filename = sys.argv[1]
|
||||
|
||||
f = open(filename,'rb')
|
||||
data = f.read()
|
||||
f.close()
|
||||
|
||||
expanded_key = expand_key("0123456789", len(data))
|
||||
data_encrypted = xor(expanded_key, data)
|
||||
|
||||
print(data_encrypted)
|
||||
|
||||
f = open(filename + ".enc", "wb")
|
||||
f.write(data_encrypted)
|
||||
f.close()
|
||||
|
||||
print("File %s encrypted with key: %s" % (filename, key.hex()))
|
||||
else:
|
||||
print("Usage: %s <filename>" % (sys.argv[0]))
|
||||
|
||||
|
||||
|
||||
'''
|
||||
|
||||
16^10 mogelijkheden, nie plezant dus, mss zoeken naar een andere manier da we iets kunnen vinden.
|
||||
|
||||
wat doet de expand key eigenlijk? dat soort dingen
|
||||
|
||||
'''
|
||||
|
||||
def decrypt():
|
||||
|
||||
filename = "voorbeeld.gif.enc"
|
||||
with open("test.txt", "w") as outfile:
|
||||
for i in range(0,16**10):
|
||||
#print(bin(i).encode('ascii'))
|
||||
#print(bin(i).format('0<16'))
|
||||
#print(bin(i).format(16))
|
||||
#dus hier pak je de binaire versie van je iterator, en zet je die om naar een string, dit zal dus bv voor 1 0b1 geven, daarna wil je natuurlijk dat alle andere nullen erbij staan, anders krijg je geen 10 byte lange string, dus je haalt de 0b eraf en daarna gebruik je format en de string tussen de {} om de plaats links van onze input te vullen met 0
|
||||
temp = '{:0>80}'.format(str(bin(i))[2:]).encode('ascii')
|
||||
outfile.write(str(temp))
|
||||
#print(temp)
|
||||
#print(os.urandom(KEY_SIZE))
|
||||
if i > 10:
|
||||
break
|
||||
data = open(filename,'rb').read()
|
||||
print(expand_key("0123456789", len(data)))
|
||||
return True
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# main()
|
||||
decrypt()
|
||||
|
||||
|
2
xorBASICALLYFINISHED/temp/temp.txt
Normal file
2
xorBASICALLYFINISHED/temp/temp.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
0000000 4947 3846 6139 03c0 0280
|
||||
000000a
|
1
xorBASICALLYFINISHED/temp/test.txt
Normal file
1
xorBASICALLYFINISHED/temp/test.txt
Normal file
@@ -0,0 +1 @@
|
||||
b'00000000000000000000000000000000000000000000000000000000000000000000000000000000'b'00000000000000000000000000000000000000000000000000000000000000000000000000000001'b'00000000000000000000000000000000000000000000000000000000000000000000000000000010'b'00000000000000000000000000000000000000000000000000000000000000000000000000000011'b'00000000000000000000000000000000000000000000000000000000000000000000000000000100'b'00000000000000000000000000000000000000000000000000000000000000000000000000000101'b'00000000000000000000000000000000000000000000000000000000000000000000000000000110'b'00000000000000000000000000000000000000000000000000000000000000000000000000000111'b'00000000000000000000000000000000000000000000000000000000000000000000000000001000'b'00000000000000000000000000000000000000000000000000000000000000000000000000001001'b'00000000000000000000000000000000000000000000000000000000000000000000000000001010'b'00000000000000000000000000000000000000000000000000000000000000000000000000001011'
|
BIN
xorBASICALLYFINISHED/temp/voorbeeld.gif.enc
Normal file
BIN
xorBASICALLYFINISHED/temp/voorbeeld.gif.enc
Normal file
Binary file not shown.
BIN
xorBASICALLYFINISHED/temp/voorbeeld.gif.enc.enc
Normal file
BIN
xorBASICALLYFINISHED/temp/voorbeeld.gif.enc.enc
Normal file
Binary file not shown.
After Width: | Height: | Size: 136 KiB |
127
xorBASICALLYFINISHED/temp/writeup
Normal file
127
xorBASICALLYFINISHED/temp/writeup
Normal file
@@ -0,0 +1,127 @@
|
||||
|
||||
'''
|
||||
|
||||
16^10 mogelijkheden, nie plezant dus, mss zoeken naar een andere manier da we iets kunnen vinden.
|
||||
|
||||
wat doet de expand key eigenlijk? dat soort dingen
|
||||
|
||||
|
||||
expand key repeat gewoon de key die hij binnen krijgt (de 10 bytes) tot het de lengte heeft van het bestand dat geencrypt moet worden
|
||||
|
||||
nu is de vraag, is er een stuk in een gif dat elke keer hetzelfde is en lang genoeg is dat we zo de key terug kunnen vinden.
|
||||
'''
|
||||
dus, aangezien ons bestand een gif is betekend dit dat het begint met de letters GIF, dus de eerste 3 bytes kunnen ons al een stuk van onze key geven
|
||||
de volgende 3 bytes zijn 2 mogelijkheden 87a of 89a, dit kan ons ook al een voordeel geven, maar dan komen we inde problemen. meeste van de volgende bytes zijn afhankelijk van de afbeelding, daarna komen we in de volgende blok, nvm onze foto is 960 op 640, dit is een grote hulp want dat betekend dat we onze volledige string zullen hebben op 1 byte na: de eerste 3 bytes : GIF gevolgd door de volgende 3 bytes 87a/89a en dan gevolgd door 4 bytes die de grote van de afbeelding tonen,
|
||||
waarvan we weten dat deze 960 op 640 px is
|
||||
|
||||
bij onze voorbeeld foto was dit:
|
||||
4947 3846 6139 03c0 0280 00f7 0000 0000
|
||||
|
||||
0000 0033 6600 0000 0099 cc00 0000 00ff
|
||||
|
||||
002b 2b00 0033 662b
|
||||
|
||||
G I F 8 9 a 300 003 200 002
|
||||
|
||||
na een poging om onze afbeelding een key uit te krijgen kreeg ik deze terug:
|
||||
473b572b07d029db3b82
|
||||
blijkbaar verkeerd erges iets gedaan, dit is misschien de key?
|
||||
f7a31b32b15694383c90
|
||||
|
||||
daarboven op heeft ons voorbeeld dezelfde dimensies? demensies? een van die twee. heeft dezelfde hoeveelheden van breedte en hoogte als onze te cracken gif. het enige dat kan veranderen is de version, dat van 89a naar 87a kan gaan. dit betekend dat we dus de key veel gemakkelijker eruit kunnen halen door te kijken naar de binaire waarden van deze letters en zo een xor uit te voeren om onze key te krijgen. yay
|
||||
|
||||
temp:
|
||||
|
||||
2b00 0099 cc2b 2b00
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
hier is wat info over gifs:
|
||||
{
|
||||
GIF Header
|
||||
Offset Length Contents
|
||||
0 3 bytes "GIF"
|
||||
3 3 bytes "87a" or "89a"
|
||||
6 2 bytes <Logical Screen Width>
|
||||
8 2 bytes <Logical Screen Height>
|
||||
10 1 byte bit 0: Global Color Table Flag (GCTF)
|
||||
bit 1..3: Color Resolution
|
||||
bit 4: Sort Flag to Global Color Table
|
||||
bit 5..7: Size of Global Color Table: 2^(1+n)
|
||||
11 1 byte <Background Color Index>
|
||||
12 1 byte <Pixel Aspect Ratio>
|
||||
13 ? bytes <Global Color Table(0..255 x 3 bytes) if GCTF is one>
|
||||
? bytes <Blocks>
|
||||
1 bytes <Trailer> (0x3b)
|
||||
Image Block
|
||||
Offset Length Contents
|
||||
0 1 byte Image Separator (0x2c)
|
||||
1 2 bytes Image Left Position
|
||||
3 2 bytes Image Top Position
|
||||
5 2 bytes Image Width
|
||||
7 2 bytes Image Height
|
||||
8 1 byte bit 0: Local Color Table Flag (LCTF)
|
||||
bit 1: Interlace Flag
|
||||
bit 2: Sort Flag
|
||||
bit 2..3: Reserved
|
||||
bit 4..7: Size of Local Color Table: 2^(1+n)
|
||||
? bytes Local Color Table(0..255 x 3 bytes) if LCTF is one
|
||||
1 byte LZW Minimum Code Size
|
||||
[ // Blocks
|
||||
1 byte Block Size (s)
|
||||
(s)bytes Image Data
|
||||
]*
|
||||
1 byte Block Terminator(0x00)
|
||||
Graphic Control Extension Block
|
||||
Offset Length Contents
|
||||
0 1 byte Extension Introducer (0x21)
|
||||
1 1 byte Graphic Control Label (0xf9)
|
||||
2 1 byte Block Size (0x04)
|
||||
3 1 byte bit 0..2: Reserved
|
||||
bit 3..5: Disposal Method
|
||||
bit 6: User Input Flag
|
||||
bit 7: Transparent Color Flag
|
||||
4 2 bytes Delay Time (1/100ths of a second)
|
||||
6 1 byte Transparent Color Index
|
||||
7 1 byte Block Terminator(0x00)
|
||||
Comment Extension Block
|
||||
Offset Length Contents
|
||||
0 1 byte Extension Introducer (0x21)
|
||||
1 1 byte Comment Label (0xfe)
|
||||
[
|
||||
1 byte Block Size (s)
|
||||
(s)bytes Comment Data
|
||||
]*
|
||||
1 byte Block Terminator(0x00)
|
||||
Plain Text Extension Block
|
||||
Offset Length Contents
|
||||
0 1 byte Extension Introducer (0x21)
|
||||
1 1 byte Plain Text Label (0x01)
|
||||
2 1 byte Block Size (0x0c)
|
||||
3 2 bytes Text Grid Left Position
|
||||
5 2 bytes Text Grid Top Position
|
||||
7 2 bytes Text Grid Width
|
||||
9 2 bytes Text Grid Height
|
||||
10 1 byte Character Cell Width(
|
||||
11 1 byte Character Cell Height
|
||||
12 1 byte Text Foreground Color Index(
|
||||
13 1 byte Text Background Color Index(
|
||||
[
|
||||
1 byte Block Size (s)
|
||||
(s)bytes Plain Text Data
|
||||
]*
|
||||
1 byte Block Terminator(0x00)
|
||||
Application Extension Block
|
||||
Offset Length Contents
|
||||
0 1 byte Extension Introducer (0x21)
|
||||
1 1 byte Application Label (0xff)
|
||||
2 1 byte Block Size (0x0b)
|
||||
3 8 bytes Application Identifire
|
||||
[
|
||||
1 byte Block Size (s)
|
||||
(s)bytes Application Data
|
||||
]*
|
||||
1 byte Block Terminator(0x00)
|
||||
}
|
BIN
xorBASICALLYFINISHED/temp/xor_960x640px.gif.enc.enc
Normal file
BIN
xorBASICALLYFINISHED/temp/xor_960x640px.gif.enc.enc
Normal file
Binary file not shown.
BIN
xorBASICALLYFINISHED/voorbeeld.gif.enc
Normal file
BIN
xorBASICALLYFINISHED/voorbeeld.gif.enc
Normal file
Binary file not shown.
BIN
xorBASICALLYFINISHED/xor_960x640px.gif.enc
Normal file
BIN
xorBASICALLYFINISHED/xor_960x640px.gif.enc
Normal file
Binary file not shown.
133176
yt/comments-AKLrKMz-avE.json
Normal file
133176
yt/comments-AKLrKMz-avE.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user