Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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