def getList(user, password, name): records = baseGetList(user, password, 1, name) keys = KeyDeriver(user, servername(), password) for record in records: value = keys.decrypt(record['value']) print "%d at %f: %s" % (record['version'], record['creationTime'], value)
def splitGet(user, password, name): splits = getSplits(user, password) k = int(splits[0]) n = (len(splits) - 1)/2 assert int(n) == n assert k <= n keys = KeyDeriver(password) shares = {} # FIXME: obviously we should try all n until we get k splits for s in range(k): global host, port host = splits[2*s + 1] port = splits[2*s + 2] print "Getting split", s, "from", host + ":" + port records = baseGetList(user, password, 1, name) record = records[-1] share = unconcat(keys.decrypt(record['value'])) assert len(share) == 2 shares[bin2int(share[0])] = bin2int(share[1]) splitter = ShamirSplit() secret = splitter.recover(shares) print "value =", secret
def splitGet(user, password, name): splits = getSplits(user, password) k = int(splits[0]) n = (len(splits) - 1) / 2 assert int(n) == n assert k <= n keys = KeyDeriver(password) shares = {} # FIXME: obviously we should try all n until we get k splits for s in range(k): global host, port host = splits[2 * s + 1] port = splits[2 * s + 2] print "Getting split", s, "from", host + ":" + port records = baseGetList(user, password, 1, name) record = records[-1] share = unconcat(keys.decrypt(record['value'])) assert len(share) == 2 shares[bin2int(share[0])] = bin2int(share[1]) splitter = ShamirSplit() secret = splitter.recover(shares) print "value =", secret
def getSplits(user, password): records = baseGetList(user, password, 2, "split servers") record = records[-1] keys = KeyDeriver(password) splits = unconcat(keys.decrypt(record['value'])) return splits
def getRSA(user, password, name): rsas = baseGetList(user, password, 3, name, use_des = 1) keys = KeyDeriver(password, 1) for rsa in rsas: key = json.loads(keys.decrypt(rsa['value'])) print key
def getRSA(user, password, name): rsas = baseGetList(user, password, 3, name, use_des=1) keys = KeyDeriver(password, 1) for rsa in rsas: key = json.loads(keys.decrypt(rsa['value'])) print key