def generic_secret_gen():
    print("test_generic_secret_gen...")
    clientObj = mpc_crypto.GenericSecret(CLIENT)
    serverObj = mpc_crypto.GenericSecret(SERVER)
    clientObj.initGenerate(256)
    serverObj.initGenerate(256)
    exec_client_server(clientObj, serverObj)
    print(" ok")
    return clientObj, serverObj
def generic_secret_import(value=None):
    print("test_generic_secret_import...")
    if not value:
        value = os.urandom(32)
    clientObj = mpc_crypto.GenericSecret(CLIENT)
    serverObj = mpc_crypto.GenericSecret(SERVER)
    clientObj.initImport(value)
    serverObj.initImport(value)
    exec_client_server(clientObj, serverObj)
    print(" ok")
    return clientObj, serverObj
Exemple #3
0
def run_derive(inShare):
    if args.type != 'BIP32':
        sys.exit("Derive not supported for " + args.type)
    srcObj = mpc_crypto.GenericSecret(peer, inShare)
    with srcObj:
        obj = mpc_crypto.Bip32(peer)
        with obj:
            obj.initDerive(srcObj, args.index, args.hardened)
            exec_mpc_exchange(obj)
            obj.getDeriveResult()
            return obj.exportShare()
Exemple #4
0
def run_import(inShare):
    print("Importing key...")
    if not inShare:
        sys.exit("Input share missing")
    if args.type == 'generic':
        obj = mpc_crypto.GenericSecret(peer)
        obj.initImport(inShare)
    else:
        sys.exit("Import not supported for " + args.type)
    with obj:
        exec_mpc_exchange(obj)
        print(" ok")
        return obj.exportShare()
Exemple #5
0
def run_generate():
    print("Generating key...")
    if args.type == 'EDDSA':
        obj = mpc_crypto.Eddsa(peer)
        obj.initGenerate()
    elif args.type == 'ECDSA':
        obj = mpc_crypto.Ecdsa(peer)
        obj.initGenerate()
    elif args.type == 'generic':
        obj = mpc_crypto.GenericSecret(peer)
        obj.initGenerate(args.size)
    else:
        sys.exit("Generate not supported for " + args.type)
    with obj:
        exec_mpc_exchange(obj)
        print(" ok")
        return obj.exportShare()