mirror of
https://github.com/autistic-symposium/sec-pentesting-toolkit.git
synced 2025-05-05 08:15:04 -04:00
some small fixes
This commit is contained in:
parent
0085af90dd
commit
5929b46c08
8 changed files with 118 additions and 40 deletions
51
CTFs/WARGAMES/krypton/freq_count_vig.py
Normal file
51
CTFs/WARGAMES/krypton/freq_count_vig.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
#!/bin/python
|
||||
|
||||
__author__= 'bt3gl'
|
||||
|
||||
import string
|
||||
import sys
|
||||
import operator
|
||||
|
||||
|
||||
FREQ_ENGLISH = [0.0749, 0.0129, 0.0354, 0.0362, 0.1400, 0.0218, 0.0174, 0.0422, 0.0665, 0.0027, 0.0047, 0.0357,0.0339, 0.0674, 0.0737, 0.0243, 0.0026, 0.0614, 0.0695, 0.0985, 0.0300, 0.0116, 0.0169, 0.0028, 0.0164, 0.0004]
|
||||
|
||||
|
||||
def find_frequency(msg):
|
||||
dict_freq = dict([(c, 0) for c in string.lowercase])
|
||||
total_letters = 0.0
|
||||
for c in msg.lower():
|
||||
if 'a'<= c <= 'z':
|
||||
dict_freq[c] += 1
|
||||
total_letters += 1
|
||||
list_freq = sorted(dict_freq.items(), key=operator.itemgetter(1))
|
||||
return [(c, freq/total_letters) for (c, freq) in list_freq]
|
||||
|
||||
|
||||
|
||||
def main(filename):
|
||||
with open(filename, 'r') as f:
|
||||
cipher = f.readlines()
|
||||
cipher = cipher[0].strip()
|
||||
flist = find_frequency(cipher)
|
||||
elist = dict((k, value) for (k, value) in zip(string.lowercase, FREQ_ENGLISH))
|
||||
elist = sorted(elist.items(), key=operator.itemgetter(1))
|
||||
trans, key = '', ''
|
||||
for i, f in enumerate(flist):
|
||||
trans += f[0]
|
||||
key += elist[i][0]
|
||||
print "CIPHER: %s -> %.5f, ENGLISH: %s -> %.5f" %(f[0], f[1], elist[i][0], elist[i][1])
|
||||
print "Key is " + key + " for " + trans
|
||||
|
||||
# print key sorted to translate to a-z
|
||||
res = zip(trans, key)
|
||||
res.sort()
|
||||
trans, key = '', ''
|
||||
for letter in res:
|
||||
trans += letter[1].upper()
|
||||
key += letter[0].upper()
|
||||
print "tr [" + key + "] [" + trans + "]"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(str(sys.argv[1]))
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue