radix_4算法python实现

def radix_4(A,B,p):
    V=(B&1)*A
    U=2*A%p
    A=4*A%p
    B=B>>1
    print("V0:%X"%V)
    print("U0:%X" % U)
    print("A0:%X" % A)
    print("B0:%X" % B)
    i=0
    while B!=0:
        print("B%d:%X" % (i, B))
        b1=B&1
        B=B>>1
        b2=B&1
        B=B>>1
        V=(V+b1*U+b2*A)%p
        U=2*A%p
        A=4*A%p
        i=i+1

    return V

if __name__ == '__main__':
    a=0x8542D69E4C044F18E8B92435BF6FF7DE457283915C45517D722EDB8B08F1DFA3
    b=0x8542D69E4C044F18E8B92435BF6FF7DE457283915C45517D722EDB8B08F1DFC1
    p=0x8542D69E4C044F18E8B92435BF6FF7DE457283915C45517D722EDB8B08F1DFC3
    s_rignt=a*b%p
    s_radix4=radix_4(a,b,p)
    print("%X"%s_rignt)
    print("%X"%s_radix4)
    if s_rignt==s_radix4:
        print("****计算正确****")
    else:
        print("####计算错误####")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

实无所得

随缘打赏吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值