BitVector のモジュラスとは何ですか? それが何をするのかを説明するものはオンラインで見つかりませんでした。GF $2^256$ での計算を台無しにしないように、より大きな数値に設定しようとしました
class AXU():
def __init__(self, sec_param):
self.sec_param = sec_param
def getHash(self, t):
modulus = BitVector.BitVector(bitstring='100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000') #choose something larger than 2^256
a, b = random.randrange(self.sec_param) , random.randrange(self.sec_param)
a_vector, b_vector = BitVector.BitVector(intVal=a), BitVector.BitVector(intVal=b)
t_vector = BitVector.BitVector(textstring=t)
return a_vector.gf_multiply_modular(t_vector, modulus, self.sec_param) ^ b_vector
ドキュメントでは、モジュラスは
modulus = BitVector.BitVector( bitstring='100011011') # AES modulus, from the documentation on BitVector
10 進数のビット文字列は 286 です。