nufhe icon indicating copy to clipboard operation
nufhe copied to clipboard

mux gate not working in program

Open bpradeep508 opened this issue 1 year ago • 0 comments

zero= np.zeros((size,), dtype=bool) A = fixSizeBoolList(3,size) B = fixSizeBoolList(2,size) theta = fixSizeBoolList(0,size) temp=fixSizeBoolList(0,size) Y = fixSizeBoolList(7,size) ciX=ctx.encrypt(secret_key, A) ciY=ctx.encrypt(secret_key, B) print("cix:",ctx.decrypt(secret_key, ciX)) print("ciy:",ctx.decrypt(secret_key, ciY)) enc_theta=ctx.encrypt(secret_key, theta) enc_temp=ctx.encrypt(secret_key, theta) enc_val=ctx.encrypt(secret_key, Y) abc=vm.gate_constant(zero) begin = time.time() #not_result=equal_check(ciX, ciY) for j in range(0,size): print("=================iteration==========",j) ciX=ciX print("cix:",ctx.decrypt(secret_key, ciX)) enc_theta=shift(ciX) for i in range(size): enc_temp[i]=ciY[j] abc=vm.gate_copy(enc_temp)
print("enc_theta:",ctx.decrypt(secret_key, enc_theta)) '''for i in range(size): abc.a[i]=ciY.a[j] abc.b[i]=ciY.b[j]''' print("Abc:",ctx.decrypt(secret_key, enc_temp)) mux_result=vm.gate_mux(enc_temp, enc_theta,ciX) print("mux result:",ctx.decrypt(secret_key, mux_result)) ciX=mux_result end = time.time() print(f"Total runtime for 32-bit full adder is {float(end - begin)} second") #assert all(result_bits == reference)

result=ctx.decrypt(secret_key, ciX) #print("mux result:",) print("result is",boolListToInt(result))

After tracing result is

cix: [ True True False False False False False False] ciy: [False True False False False False False False] =================iteration========== 0 cix: [ True True False False False False False False] enc_theta: [False True True False False False False False] Abc: [False False False False False False False False] mux result: [False True True False False False False False] =================iteration========== 1 cix: [False True True False False False False False] enc_theta: [False False True True False False False False] Abc: [ True True True True True True True True] /usr/local/lib/python3.9/dist-packages/google/colab/_variable_inspector.py:27: UserWarning: device_allocation in out-of-thread context could not be cleaned up globals().clear() /usr/local/lib/python3.9/dist-packages/google/colab/_variable_inspector.py:27: UserWarning: device_allocation in out-of-thread context could not be cleaned up globals().clear() mux result: [False False True True False False False False] =================iteration========== 2 cix: [False False True True False False False False] enc_theta: [False False False True True False False False] Abc: [False False False False False False False False] mux result: [False False False True True False False False] =================iteration========== 3 cix: [False False False True True False False False] enc_theta: [False False False False True True False False] Abc: [False False False False False False False False] mux result: [False False False False True True False False] =================iteration========== 4 cix: [False False False False True True False False] enc_theta: [False False False False False True True False] Abc: [False False False False False False False False] mux result: [False False False False False True True False] =================iteration========== 5 cix: [False False False False False True True False] enc_theta: [False False False False False False True True] Abc: [False False False False False False False False] mux result: [False False False False False False True True] =================iteration========== 6 cix: [False False False False False False True True] enc_theta: [False False False False False False False True] Abc: [False False False False False False False False] mux result: [False False False False False False False True] =================iteration========== 7 cix: [False False False False False False False True] enc_theta: [False False False False False False False False] Abc: [False False False False False False False False] mux result: [False False False False False False False False] Total runtime for 32-bit full adder is 0.6157827377319336 second result is 0 /usr/local/lib/python3.9/dist-packages/google/colab/_variable_inspector.py:27: UserWarning: device_allocation in out-of-thread context could not be cleaned up globals().clear() /usr/local/lib/python3.9/dist-packages/google/colab/_variable_inspector.py:27: UserWarning: device_allocation in out-of-thread context could not be cleaned up globals().clear()

bpradeep508 avatar Mar 15 '23 07:03 bpradeep508