def protocol(client, server, params): ' TASTYL program to multiply two unsigned values held by C and S using HE ' conversions.Garbled_Garbled_receive(server.hx, client.hx, 32, [1], False) conversions.Garbled_Garbled_receive(server.hy, client.hy, 32, [1], False) client.hr = client.hx * client.hy client.r = Unsigned(val=client.hr, signed=False, bitlen=64, dim=[1]) client.r.output(dest=driver, desc='r')
def protocol(client, server, params): server.ga = Garbled(val=Unsigned(bitlen=59, dim=[1], signed=False, passive=True, empty=True), signed=False, bitlen=59, dim=[1]) server.gb = Garbled(val=Unsigned(bitlen=86, dim=[1], signed=False, passive=True, empty=True), signed=False, bitlen=86, dim=[1]) conversions.Garbled_Garbled_send(server.ga, client.ga, 59, [1], False) conversions.Garbled_Garbled_send(server.gb, client.gb, 86, [1], False) client.gc = client.ga + client.gb conversions.Garbled_Garbled_receive(client.gc, server.gc, 87, [1], False)
def protocol(client, server, params): client.ga = Garbled(val=Signed(bitlen=32, dim=[1], signed=True, passive=True, empty=True), passive=True, signed=True, bitlen=32, dim=[1]) client.cc = Signed(val=client.ga, passive=True, signed=True, bitlen=32, dim=[1]) conversions.Signed_Garbled_send(server.b, client.gb, 32, [1], True) client.sc = Signed(val=client.gb, passive=True, signed=True, bitlen=32, dim=[1]) conversions.Garbled_Garbled_receive(client.ga, server.ga, 32, [1], True) server.gb = Garbled(val=Signed(bitlen=32, dim=[1], signed=True, passive=True, empty=True), signed=True, bitlen=32, dim=[1])
def protocol(client, server, params): server.b = Signed(bitlen=32, empty=True, signed=True, dim=[1]).input(src=driver, desc='b') client.ga = Garbled(val=Signed(bitlen=32, dim=[1], signed=True, passive=True, empty=True), passive=True, signed=True, bitlen=32, dim=[1]) conversions.Signed_Garbled_send(server.b, client.gb, 32, [1], True) conversions.Garbled_Garbled_receive(client.ga, server.ga, 32, [1], True) conversions.Garbled_Signed_send(server.ga, client.cc2, 32, [1], True) server.gb = Garbled(val=server.b, signed=True, bitlen=32, dim=[1]) conversions.Garbled_Signed_send(server.gb, client.sc2, 32, [1], True)
def protocol(client, server, params): client.a = Unsigned(bitlen=140, empty=True, signed=False, dim=[1]).input(src=driver, desc='a') client.ga = Garbled(val=client.a, signed=False, bitlen=140, dim=[1]) conversions.Garbled_Garbled_receive(server.gb, client.gb, 140, [1], False) client.gc = client.ga * client.gb client.c = Unsigned(val=client.gc, signed=False, bitlen=280, dim=[1]) client.c.output(dest=driver, desc='c')
def protocol(client, server, params): server.a = Unsigned(bitlen=59, empty=True, signed=False, dim=[1]).input(src=driver, desc='a') server.b = Unsigned(bitlen=86, empty=True, signed=False, dim=[1]).input(src=driver, desc='b') server.ga = Garbled(val=server.a, signed=False, bitlen=59, dim=[1]) server.gb = Garbled(val=server.b, signed=False, bitlen=86, dim=[1]) conversions.Garbled_Garbled_send(server.ga, client.ga, 59, [1], False) conversions.Garbled_Garbled_send(server.gb, client.gb, 86, [1], False) conversions.Garbled_Garbled_receive(client.gc, server.gc, 87, [1], False) server.c = Unsigned(val=server.gc, signed=False, bitlen=87, dim=[1]) server.c.output(dest=driver, desc='c')
def protocol(client, server, params): gc = GarbledCircuit(FairplayCircuit(protocol_path('Add.sfdl.shdl')), ['alice.input', 'bob.input'], ['alice.output']) client.x = Signed(bitlen=4, empty=True, signed=True, dim=[1]).input(src=driver, desc='a') client.gx = Garbled(val=client.x, signed=True, bitlen=4, dim=[1]) conversions.Garbled_Garbled_receive(server.gy, client.gy, 4, [1], True) (client.gz, ) = gc([client.gx, client.gy]) client.z = Signed(val=client.gz, signed=True, bitlen=5, dim=[1]) client.z.output(dest=driver, desc='zc')
def protocol(client, server, params): client.ga = Garbled(val=Unsigned(bitlen=215, dim=[1], signed=False, passive=True, empty=True), signed=False, bitlen=215, dim=[1]) conversions.Garbled_Garbled_receive(server.gb, client.gb, 67, [1], False) client.gc = client.ga + client.gb conversions.Garbled_Garbled_send(client.gc, server.gc, 216, [1], False)
def protocol(client, server, params): client.ga = Garbled(val=Unsigned(bitlen=140, dim=[1], signed=False, passive=True, empty=True), signed=False, bitlen=140, dim=[1]) conversions.Garbled_Garbled_receive(server.gb, client.gb, 140, [1], False) client.gc = client.ga * client.gb client.c = Unsigned(val=client.gc, signed=False, bitlen=280, dim=[1])
def protocol(client, server, params): server.b = Unsigned(bitlen=67, empty=True, signed=False, dim=[1]).input(src=driver, desc='b') client.ga = Garbled(val=Unsigned(bitlen=215, dim=[1], signed=False, passive=True, empty=True), passive=True, signed=False, bitlen=215, dim=[1]) server.gb = Garbled(val=server.b, signed=False, bitlen=67, dim=[1]) conversions.Garbled_Garbled_send(server.gb, client.gb, 67, [1], False) conversions.Garbled_Garbled_receive(client.gc, server.gc, 216, [1], False) server.c = Unsigned(val=server.gc, signed=False, bitlen=216, dim=[1]) server.c.output(dest=driver, desc='c')
def protocol(client, server, params): client.ga = Garbled(val=Unsigned(bitlen=106, dim=[1], signed=False, passive=True, empty=True), passive=True, signed=False, bitlen=106, dim=[1]) client.gb = Garbled(val=Unsigned(bitlen=247, dim=[1], signed=False, passive=True, empty=True), passive=True, signed=False, bitlen=247, dim=[1]) conversions.Garbled_Garbled_receive(client.gc, server.gc, 248, [1], False) server.c = Unsigned(val=server.gc, signed=False, bitlen=248, dim=[1]) server.c.output(dest=driver, desc='c')
def protocol(client, server, params): client.ga = Garbled(val=Unsigned(bitlen=106, dim=[1], signed=False, passive=True, empty=True), passive=True, signed=False, bitlen=106, dim=[1]) client.gb = Garbled(val=Unsigned(bitlen=247, dim=[1], signed=False, passive=True, empty=True), passive=True, signed=False, bitlen=247, dim=[1]) client.gc = client.ga + client.gb conversions.Garbled_Garbled_receive(client.gc, server.gc, 248, [1], False)
def protocol(client, server, params): conversions.Garbled_Garbled_receive(server.ga, client.ga, 764, [1], False) conversions.Garbled_Garbled_receive(server.gb, client.gb, 764, [1], False) client.gc = client.ga * client.gb client.c = Unsigned(val=client.gc, signed=False, bitlen=1528, dim=[1]) client.c.output(dest=driver, desc='c')
def protocol(client, server, params): conversions.Garbled_Garbled_receive(server.ga, client.ga, 59, [1], False) conversions.Garbled_Garbled_receive(server.gb, client.gb, 86, [1], False) client.gc = client.ga + client.gb conversions.Garbled_Garbled_send(client.gc, server.gc, 87, [1], False)
def protocol(client, server, params): conversions.Garbled_Garbled_receive(server.ga, client.ga, 219, [1], False) conversions.Garbled_Garbled_receive(server.gb, client.gb, 132, [1], False) client.gc = client.ga + client.gb client.c = Unsigned(val=client.gc, signed=False, bitlen=220, dim=[1])
def protocol(client, server, params): client.a = Unsigned(bitlen=215, empty=True, signed=False, dim=[1]).input(src=driver, desc='a') client.ga = Garbled(val=client.a, signed=False, bitlen=215, dim=[1]) conversions.Garbled_Garbled_receive(server.gb, client.gb, 67, [1], False) client.gc = client.ga + client.gb conversions.Garbled_Garbled_send(client.gc, server.gc, 216, [1], False)