分数的乘法逆元和负数的取模运算

1.乘法逆元


A.定义


如果ax≡1 (mod p),且gcd(a,p)=1(a与p互质),则称a关于模p的乘法逆元为x。

既然有ax≡1 (mod p),那么有ax - py = 1,x是a关于模p的乘法逆元。


B.分数的乘法逆元


对于实数域,一个数的乘法逆元就是其倒数,所谓乘法逆元就是相乘等于单位元的那个数。

对于ecc算法的离散曲线域,m的乘法逆元为n,满足m * n = 1 (mod p),即满足m*n mod p = 1 mod p,称作n就是m关于的p乘法逆元。在离散曲线域中,单位元就是1。如果在离散曲线域碰到一个表达式2/5,单纯的碰到一个表达式2/5没有任何意义,要看mod数是多少,如果是10,那么a=2/5的真正值是求5关于10的乘法逆元,然后再乘以2 md 10。



2.负数的取模运算


在整数范围内,自然数的求余法则并不被很多人所接收,大家大多认可的是下面的这个定义2。

如果a与d是整数,d非零,那么余数r满足这样的关系:a = qd + r,q为整数,且0 <= |r| <|d|

根据定义. 7 = (-3)*(-2) + 1或7 = (-3)*(-3)-2,所以余数为1或-2,在ecc算法的离散曲线域中,我们只考虑非负整数所以这里余数会取1。



3.推演


例如:求5关于模72的乘法逆元。

      5X - 72Y = 1

解:72 = 14 *5+2

    5 = 2*2 + 1

       2 = 2*1 + 0

        所以有1 = 5 - 2*2

                      = 5 - 2* (72-14*5)

                      = 5 - 2*72 + 28*5

                      = 29*5 - 2*72 

        最后有乘法逆元为29。


例如:求-1/2在离散曲线域(E23(1,1))中的值。

解:首先求2关于模23的乘法逆元为

        2X-23Y = 1

        23 = 11*2 + 1

        2 = 2*1 +0

        所以有1 = 23- 2*11 = 23 * (2-1) - 2*11 = 12*2 - 23,得乘法逆元为12

        然后求 (-1 )*12 mod 23 ,因为有 (-12)*(-1) + 11 = 23,所以得值为11。



5.备注


以上为研究ecc算法推导的基础知识难点,有这些概念才能更好的理解ecc算法。

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值