diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2014-08-14 14:34:40 +0300 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2014-08-14 14:34:40 +0300 |
| commit | 8c377e6c1ad1168cb841addcfe67228c2d843b1a (patch) | |
| tree | a98383626c6deb692c7d4977ad901c2f93ce6178 | |
| parent | e4c0ed469fdd542ec371c089a4a07d1cc933d3f9 (diff) | |
Solve s1c3
| -rw-r--r-- | set1/challenge3.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/set1/challenge3.py b/set1/challenge3.py new file mode 100644 index 0000000..8047897 --- /dev/null +++ b/set1/challenge3.py @@ -0,0 +1,12 @@ +x = '1b37373331363f78151b7f2b783431333d78397828372d363c78373e783a393b3736' + +def score_plaintext(s): + letters = filter(lambda x: 'a'<=x<='z' or 'A'<=x<='Z', s) + return float(len(letters)) / len(s) + +res = [] +for i in range(256): + chrs = [chr(ord(s) ^ i) for s in x.decode('hex')] + res.append([score_plaintext(chrs), ''.join(chrs)]) + +print(max(res, key=lambda x: x[0])[1]) |
