curve25519.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:fourq 作者: bifurcation 项目源码 文件源码
def test_x25519():
    k0 = 'a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4'.decode('hex')
    u0 = 'e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c'.decode('hex')
    r0 = 'c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552'.decode('hex')

    rp = x25519(k0, u0)
    test.test('rfc-0', rp, r0)

    k1 = '4b66e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba0d'.decode('hex')
    u1 = 'e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a493'.decode('hex')
    r1 = '95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957'.decode('hex')
    test.test('rfc-1', x25519(k1, u1), r1)

    k = '0900000000000000000000000000000000000000000000000000000000000000'.decode('hex')
    u = '0900000000000000000000000000000000000000000000000000000000000000'.decode('hex')
    k1i = '422c8e7a6227d7bca1350b3e2bb7279f7897b87bb6854b783c60e80311ae3079'.decode('hex')
    k1k = '684cf59ba83309552800ef566f2f4d3c1c3887c49360e3875f2eb94d99532c51'.decode('hex')

    # XXX: Not currently tested
    k1m = '7c3911e0ab2586fd864497297e575e6f3bc601c0883c30df5f4dd2d24f665424'.decode('hex')

    TEST_LOOPS = 1001
    for i in range(TEST_LOOPS):
        r = x25519(k, u)
        u = k
        k = r

        if i == 0:
            test.test("rfc-iter-1", k, k1i)
        elif i == 999:
            test.test("rfc-iter-1k", k, k1k)
        elif i == 999999:
            # XXX: Not currently tested
            test.test("rfc-iter-1m", k, k1m)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号