![应用密码学:原理、分析与Python实现](https://wfqqreader-1252317822.image.myqcloud.com/cover/378/52717378/b_52717378.jpg)
上QQ阅读APP看书,第一时间看更新
2.6 默比乌斯函数
默比乌斯函数由德国数学家默比乌斯(August Ferdinand Möbius)提出。在数论中,经常出现像欧拉函数这种定义在正整数集上的实值或负值函数,这类函数称为数论函数。当,且
和
互素时,有
。具有这种性质的数论函数称为积性函数(Multiplicative Function)。下面将介绍另外一个重要的积性函数,即默比乌斯函数。
定义2.6.1 默比乌斯函数(Möbius Function)
默比乌斯函数[9]:
![pg38a](https://epubservercos.yuewen.com/3B24BD/31309821707952606/epubprivate/OEBPS/Images/pg38a.jpg?sign=1739471654-rg9yImQINSM2oPnF2zXrEyzb8eX5MEyK-0-b459c06f93a28207b27a5c3c8982df6f)
根据默比乌斯函数计算可得前15个值,如表2-5所示。
表2-5 前15个默比乌斯函数值
![图片表格](https://epubservercos.yuewen.com/3B24BD/31309821707952606/epubprivate/OEBPS/Images/table_033e12c0-c5ec-4110-a9bc-bc024efab21d.png?sign=1739471654-LW0ztT0eyDBr02Ln8L2V3QIvTnc0esC5-0-cb7f5928c5f5b80503474b5e78ee6cc8)
例2.6.1 通过例子来解释一下默比乌斯函数是如何运算的。,由相同的素数所得,所以
。
也包含相同素数,所以
。而
,由不同素数所得,所以是
。
1 def isPrime(n) : 2 if (n < 2) : 3 return False 4 for i in range(2, n + 1) : 5 if (i * i <= n and n % i == 0) : 6 return False 7 return True 8 9 def mobius(N) : 10 if (N == 1) :return 1 11 p = 0 12 for i in range(1, N + 1) : 13 if (N % i == 0 and isPrime(i)) : 14 if (N % (i * i) == 0) : return 0 15 else : p = p + 1 16 if(p % 2 != 0) : return -1 17 else : return 1
定理2.6.1 默比乌斯函数的积性性质
假设和
没有公因数。进一步假设
是
个不同素数的乘积,
是
个不同素数的乘积。那么
就是
个不同素数的乘积,即:
![](https://epubservercos.yuewen.com/3B24BD/31309821707952606/epubprivate/OEBPS/Images/tx02590.jpg?sign=1739471654-99zEBee3ycXqMnDByNNMbt28H0pm8l8J-0-a63e7e849d32dcf1caa104ee2ed1756d)
由定理2.6.1可知,;
,由于满足素数的平方能整除360 ,因此
。
那么欧拉函数与
有什么关系呢?它们之间的关系可以表示为:
![](https://epubservercos.yuewen.com/3B24BD/31309821707952606/epubprivate/OEBPS/Images/tx02604.jpg?sign=1739471654-ixRiu4b0n6YmnnlwWol4fgdHkPy9U3Ro-0-034dcdf4c6f6434ffa4d915d58d63baa)
其中为默比乌斯函数的和函数,且
,记作:
![pg39a](https://epubservercos.yuewen.com/3B24BD/31309821707952606/epubprivate/OEBPS/Images/pg39a.jpg?sign=1739471654-VFzoBESOxTuXDku7DWMsJPBxSwhCDThV-0-8e2e3f8a651db814689f0f3efb7ef432)
例2.6.2 假设整数,则
,
,
,那么:
●
●
●
●
![](https://epubservercos.yuewen.com/3B24BD/31309821707952606/epubprivate/OEBPS/Images/tx02628.jpg?sign=1739471654-SftLYk4q5VdkHC2KofyJazt9NZlLyAc5-0-3819aee2fb73269a556280e32f49a2be)
例如,,根据式(2-44),很容易可以算出:
![](https://epubservercos.yuewen.com/3B24BD/31309821707952606/epubprivate/OEBPS/Images/tx02639.jpg?sign=1739471654-IOfnCJoVNcF7w7vOf670BQM1tHoSEAdr-0-8bd14d286b0c7c6f85f0011491bd0cc6)