From 1e601adaaf34bba404aaf9083ab8b50231f344d7 Mon Sep 17 00:00:00 2001 From: The Dod Date: Sun, 14 Jun 2015 04:09:26 +0700 Subject: [PATCH] Move urls from gist to git and related README edits index.html (test run output) is now called output.txt Also added hash64 function (for paste integrity checks). --- README.md | 13 +++++++--- darkened.py | 12 +++++---- index.html => output.txt | 55 +++++++++++++++++++--------------------- 3 files changed, 42 insertions(+), 38 deletions(-) rename index.html => output.txt (63%) diff --git a/README.md b/README.md index 10fb117..27aeb2a 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ = ______________________________________________________________________________________________________________ Unlike Alice, Bob doesn't get dropped packets when pinging legal department, and delays are no serious problem -#### Slightly longer examples [here](http://bl.ocks.org/thedod/raw/7a4a81224b5bed676b00/) and [here](https://pastee.org/v46af). +#### Slightly longer examples [here](https://raw.githubusercontent.com/Knights-of-Redact/DarkenedAges/master/output.txt) +and [here](https://pastee.org/v46af). For public moves and gossip, see [#DarkenedAges](https://twisterio.com/search?kw=%23darkenedages) on [twister](http://twister.net.co) @@ -59,10 +60,14 @@ Perhaps you could trade this information with their adversaries? The possibiliti More info soon, meanwhile here's how to become a player: * Every player should have a [twister](http://twister.net.co) account -* Fork this, add a line about yourself to `players.csv`, and mention `@darkenedages` on twister with a link to your forked gist. Bugger it. Just twist `@darkenedages I want to play #DarkenedAges` ;) -* It is recommended to follow `@darkenedages` and have `#DarkenedAges` in your profile, but the formal definition of "player" is "one who appears at [players.csv](https://gist.github.com/thedod/7a4a81224b5bed676b00#file-players-csv)" ;) +* If you know how, add a line about yourself to [players.csv](https://github.com/Knights-of-Redact/DarkenedAges/blob/master/players.csv), +(as a pull-request or something). Bugger it. Just twist `@darkenedages I want to play #DarkenedAges` ;) +* It is recommended to follow `@darkenedages` and have `#DarkenedAges` in your profile, but the formal definition of "player" is +"one who appears at [players.csv](https://github.com/Knights-of-Redact/DarkenedAges/blob/master/players.csv)" ;) + +The file [output.txt](https://raw.githubusercontent.com/Knights-of-Redact/DarkenedAges/master/output.txt) +was produced with `python darkened.py > output.txt`. You should get a similar output if everything works well. -Essentially [index.html](http://bl.ocks.org/thedod/raw/7a4a81224b5bed676b00/) was produced with `python darkened.py > index.html`. The motivation behind this "full retard crypto suite" is to create an environment where everyone can have a go at code breaking. _______________________________________ diff --git a/darkened.py b/darkened.py index 708ae9d..f746cea 100644 --- a/darkened.py +++ b/darkened.py @@ -2,6 +2,7 @@ import random import time import codecs +import hashlib import json import csv import textwrap @@ -112,6 +113,10 @@ def unredact(cipher, pads, trustees=[]): mapmsgs(base642bytes, mapmsgs(integrate, *pads64)))) +def hash64(b): + "Returns base64 of sha1 (appended as hash to paste urls against evil eye)" + return str(codecs.encode(hashlib.sha1(b).digest(),'base64').strip(),'ascii') + ## Game functions def makeid(): @@ -181,7 +186,7 @@ prefab = { ["sbuL", "qhM8EFAOWM0=", "oxO8cg==", None, "/eYQidGv/nc=", "epMLVQA=", None, None, "i5dv", "Dh9fFA==", None, "gNKi", "lrEPMyg=", None], [None, None, "+UoxOmBAFcvrFg==", "Xo4=", None, "4f56t0C6WA=="]]}, - "recipients": ["bob", "carol"], "subject": "Hey, sport. YOU connect" + "recipients": ["bob", "carol"], "subject": "Hey, sport. YOU connect " "the dots."}, "ted": {"trustees": ["ted", "dan"], "sender": "alice", "msgid": "DA14341968415407", "pads": {"ted": [["xWusIv5F", "29q4dg==", "zAa7Rc4K", "pqY7HvIXqHA1RRWMhA==", None, None, "lSXD+g==", None, @@ -197,7 +202,6 @@ prefab = { def testit(): "Todo: turn this into proper unit tests, anyone?" - print('\nTesting DarkenedAges library
')
     print('### Players')
     for p in getplayers().values():
         print('\n# {name} ({player}, @{twister}):'.format(**p))
@@ -214,11 +218,9 @@ def testit():
     print('\n\n### Unredaction of prefab message (with conflicting pads)')
     for t in prefab['__public__']['trustees']:
         print('\n# >>> Unredaction for trustee: {}'.format(t))
-        print(unredact(prefab['__public__'], prefab[t]))
+        print(unredact(prefab['__public__'], prefab['__to__'],trustees=[t]))
     print('\n### >>> integration >>>')
     print(unredact(prefab['__public__'], prefab['__to__']))
 
-    print('
') - if __name__=='__main__': testit() diff --git a/index.html b/output.txt similarity index 63% rename from index.html rename to output.txt index 366a7c0..df404f8 100644 --- a/index.html +++ b/output.txt @@ -1,9 +1,7 @@ - -Testing DarkenedAges library
 ### Players
 
-# Sandy Claws (sandyclaws, @sandyclaws):
-  From the Magic Tuna Show (ask your kids).
+# Forth Inc. (forth, @forth):
+  Registered ████████.
 
 # Rabbi Yoav (broyo, @thedod):
   Confession sensor technician (CST) and ChurchApproved Rabbi (CAR)
@@ -13,40 +11,40 @@
   (mainly due to family and origin). 77% heterosexual. No other known
   dominant deviatoins.
 
-# Forth Inc. (forth, @forth):
-  Registered ████████.
+# Sandy Claws (sandyclaws, @sandyclaws):
+  From the Magic Tuna Show (ask your kids).
 
 # Daan II (daanii, @black_puppydog):
   ██ ███ ███████ of ██████.
 
 
 ### Redacting prefab plaintext (2 trustees)
-{"daanii": {"pads": {"daanii": [["krEZr3A9", null, "Ew+m5z8=",
-"zMwQeJk="], [null, "oDo=", "Gg==", null, "LSr3"]]}, "subject": "Is
-this thing on?", "sender": "alice", "trustees": ["daanii", "broyo"],
-"msgid": "DA14341999781041", "recipients": ["bob", "carol"]},
-"__public__": {"cipher": [["2tRryldO", "5F+i", "dWbUlEs=",
-"oKV+HbU="], ["to5RIGi8VsQ=", "wkM=", "ew==", "mIQCOq/5", "QkSS"]],
-"subject": "Is this thing on?", "sender": "alice", "trustees":
-["daanii", "broyo"], "msgid": "DA14341999781041", "recipients":
-["bob", "carol"]}, "__to__": {"pads": {"daanii": [["krEZr3A9", null,
-"Ew+m5z8=", "zMwQeJk="], [null, "oDo=", "Gg==", null, "LSr3"]],
-"broyo": [[null, "kDfH", null, null], ["0OE9TAfLM6A=", null, null,
-"6+FhVcGd", null]]}, "subject": "Is this thing on?", "sender":
-"alice", "trustees": ["daanii", "broyo"], "msgid": "DA14341999781041",
-"recipients": ["bob", "carol"]}, "broyo": {"pads": {"broyo": [[null,
-"kDfH", null, null], ["0OE9TAfLM6A=", null, null, "6+FhVcGd", null]]},
-"subject": "Is this thing on?", "sender": "alice", "trustees":
-["daanii", "broyo"], "msgid": "DA14341999781041", "recipients":
-["bob", "carol"]}}
+{"__to__": {"msgid": "DA14342296128997", "sender": "alice",
+"recipients": ["bob", "carol"], "subject": "Is this thing on?",
+"pads": {"broyo": [["DeQiOr6R", null, null, "ql8ABmM="],
+["wKFeiKus9u8=", "VLY=", "Kg==", null, null]], "daanii": [[null,
+"oM8O", "wBgmWVc=", null], [null, null, null, "z8G1nS+/", "zLhb"]]},
+"trustees": ["daanii", "broyo"]}, "broyo": {"msgid":
+"DA14342296128997", "sender": "alice", "recipients": ["bob", "carol"],
+"subject": "Is this thing on?", "pads": {"broyo": [["DeQiOr6R", null,
+null, "ql8ABmM="], ["wKFeiKus9u8=", "VLY=", "Kg==", null, null]]},
+"trustees": ["daanii", "broyo"]}, "__public__": {"msgid":
+"DA14342296128997", "sender": "alice", "recipients": ["bob", "carol"],
+"cipher": [["RYFQX5ni", "1Kdr", "pnFUKiM=", "xjZuY08="],
+["ps4y5MTbk4s=", "Ns8=", "Sw==", "vKTW8kHb", "o9Y+"]], "subject": "Is
+this thing on?", "trustees": ["daanii", "broyo"]}, "daanii": {"msgid":
+"DA14342296128997", "sender": "alice", "recipients": ["bob", "carol"],
+"subject": "Is this thing on?", "pads": {"daanii": [[null, "oM8O",
+"wBgmWVc=", null], [null, null, null, "z8G1nS+/", "zLhb"]]},
+"trustees": ["daanii", "broyo"]}}
 
 # >>> Unredaction for trustee: daanii
-Here's ███ first line,
-████████ by a ██████ one
+██████ the first █████
+████████ ██ █ second one
 
 # >>> Unredaction for trustee: broyo
-██████ the █████ █████
-followed ██ █ second ███
+Here's ███ █████ line,
+followed by a ██████ ███
 
 ### >>> integration >>>
 Here's the first line,
@@ -75,4 +73,3 @@ access to the Pujinda paper. As far as we know, it may have never leaked.
 The El-Hamdan encryption crack is a result of independent research by FTT.
 DHQ predicts that the official story (that FTT has died in the ╳╳╳╳╳ crash)
 won't be challenged by the public.
-