我试图在https://github.com/cburkert/fuzzy-commitment中使用模糊承诺,我想在以下内容中使用见证作为np数组:
c = cs.commit(witness,message)
其中: 消息:要提交的二进制消息。 见证人:承诺的见证人
我编写了一段代码,将np数组转换为位向量数组,稍后使用消息(相同类型)将其转换为xord
函数是(如第14https://github.com/cburkert/fuzzy-commitment/blob/master/fcs/fcs.py行中所示),但不是字节,而是列表或numpy数组:
def list_extractor1(value: list) -> BitVector:
b=np.array(np.zeros((len(value))))
for i in range(len(value)):
b[i]=bin(int(value[i]))[2:].zfill(8)
return BitVector(bitlist=b)
但是,我可以有一个错误吗 我的阵列是:
a=[1.0, 1.0, 0.0, 1.0, 1.0]
然后我创建了一个FCS对象,其中包含5位和1个错误
cs = FCS(5, 1, extractor=list_extractor1) #5 as 'a' length
c = cs.commit(a, b"\x01") # uses a random message to commit to
然后我放置相同的特征向量,得到的是“false”而不是“true”
cs.verify(c, b"\x03") # Verification succeeds. One bit changed.
>> False
你能帮我找到错误吗,输出应该是真的而不是假的! 或
你能帮我做一个列表提取器来代替“列表提取器1”吗
谢谢你
目前没有回答
相关问题 更多 >
编程相关推荐