Beispiel #1
0
#!/usr/bin/env python3

from BitVector import BitVector

numbers = [
    0xed6ec1f3fc25004e, 0x5007e519477777ff, 0xb62987e4fdc1917e,
    0xa305727b2936f98f, 0x9468618b03d2151f, 0xfd71d1a69de07e74,
    0xb5b8f96f00ca4cc3, 0x88da54c054759441, 0x2783ccb8dcd01a7c,
    0x8eae85ca44a20054, 0x58a4baad8dc616cd, 0xd52d7a7a01e70678,
    0x3520c48ab58fef90, 0x0f9414fe1ebbd107, 0xa61f7ebbe0f89ad9,
    0x4101f312a1f21323, 0xb4de0ee77a55d8fa, 0xe9cbbe6ceac8c874,
    0xfbfff2d7ff45e220, 0xba8f264812088fdc
]

for a in numbers:
    for b in numbers:
        a_bv = BitVector(intVal=a)
        b_bv = BitVector(intVal=b)
        ab = int(a_bv.gf_multiply(b_bv))
        ab_hi = ab >> 64
        ab_lo = ab & 0xffffffffffffffff
        print("check(0x%016xLL, 0x%016xLL, 0x%016xLL, 0x%016xLL);" %
              (a, b, ab_hi, ab_lo))