每日总结-第四十天-信息安全数学基础

2020-05-21  本文已影响0人  SamiraG

广义欧几里得除法

a = q * b + c, 0 <= c < b; 则(a, b) = (b, c),可以用来计算最大公因数

def gcd(a, b):  # a <= b
    if a * b == 0:
        return 0
    r = b // a
    c = b % a
    while c != 0:
        # print("%d = %d * %d + %d"%(b, r, a, c))
        b = a
        a = c
        r = b // a
        c = b % a
    return a

算数基本定理

任意整数n > 1都可以表示成素数的乘积, 且在不考虑乘积顺序的情况下,该表达式唯一。

欧拉函数

设m是一个正整数,则m个整数1,2,3...m中,与m互素的整数个数,计做\varphi,通常叫做欧拉函数。

欧拉函数性质:
假设m, n是互素的两个正整数,则
\varphi(m*n) = \varphi(m) * \varphi(n)

欧拉定理

(Euler) 设m是大于1的整数,如果a是满足(a, m) = 1的整数,则
a^{\varphi(m)} \equiv 1(mod\;m)
但是使得a^e \equiv 1(mod\;m)成立的最小整数e不一定是\varphi(m), 只有e \leq \varphi(m),如果取等号则a称为m的原根。

费马小定理

(Fermat) 设p是一个素数,则对任意整数a,有:
a^p\equiv a(mod\;p)

Wilson定理

(Wilson) 设p是一个素数,则
(p-1)! \equiv -1 (mod\;p)

同余式

设m是一个正整数,m不是a的因子,则一次同余式ax \equiv 1(mod\;m)有解的充分必要条件是 (a, m) =1

中国剩余定理

m_1, m_2, m_3,...,m_k是k个两两互素的正整数,则对任意的整数b_1, b_2, ..., b_n同余式组
x \equiv b_1(mod\;m_1)
...
x \equiv b_k(mod\;m_k)
一定有解,且解唯一。

# sage
def CRT(mi, ai):
    assert(isinstance(mi, list) and isinstance(ai, list))
    assert(reduce(gcd, mi) == 1) # mi之间互素
    M = reduce(lambda x, y: x * y, mi)
    ai_ti_Mi = [a * (M // m) * inverse_mod(M // m, m) for (m, a) in zip(mi, ai)]
    return reduce(lambda x, y: x + y, ai_ti_Mi) % M
# sage中也有crt函数
# sage: x = crt(2, 1, 3, 5); x
# 11

平方剩余

设m是正整数,若同余式
x^2 \equiv a (mod\;m),\:(a, m) = 1
有解,则a叫做m的平方剩余(或二次剩余);否则,a叫做模m的平方非剩余。

欧拉判别条件

设p是奇素数,(a, p) = 1, 则
(i) a是模p的平方剩余的充分必要条件是
a^{\frac{p-1} 2} \equiv 1(mod\;p)
(ii) a是模p的平方非剩余的充分必要条件是
a^{\frac{p-1} 2} \equiv -1(mod\;p)
由这个判别推出勒让得符号和雅克比符号

设G是一个具有结合法的非空集合,G叫做一个群,如果G中的结合法满足以下三个条件,
(i) 结合律:即对任意的a, b, c \in G,都有
(ab)c=a(bc)
(ii) 单位元:即存在一个元素e \in G,使得对任意a \in G,都有
ae=ea=a
(iii) 可逆性:即对任意的a \in G,都存在a' \in G,使得
aa' = a'a = e
特别的,当G的结合法写作乘法时,G叫做乘群,当G的结合法写作加法时,G叫做加群。群G中元素的个数叫做群G的阶。

同态和同构

设G, G'都是群,f是G到G'的一个映射,如果对任意的a, b \in G, 都有
f(a, b) = f(a) f(b)
则f叫做G到G'的一个同态,如果f是一一对应的,则称f为同构。

设R是具有两种结合法(通常表示为加法和乘法)的非空集合,如果以下条件成立:
(i) R对于加法构成一个交换群
(ii) (结合律) 对任意的a,b,c \in R,有(ab)c=a(bc)
(iii) (分配律) 对任意的a, b, c \in R,有
(a + b)c = ac + bca(b + c) = ab + ac
则R称为环。(即加法构成交换群,乘法满足结合率,加法乘法满足分配律)
(iv) 对任意的a,b,c \in R,有ab = ba,则R叫做交换环
(v) 对任意的a \in R,有a 1_R=1_Ra=a,则R叫做有单位元环。

称交换环K为一个域,如果K中有单位元,且每个非零元都是可逆元,即K对于加法构成一个交换群,K* = K \ \{0\}对于乘法构成一个交换群。域F_p

多项式环

设R为整环,x为变量,则R上形为
a_nx^n + ... + a_1x + a_0,\:\:a_i \in R
的元素称为R上的多项式。
f(x) = a_nx^n + ... + a_1x + a_0,\:\:a_i \neq R是整环R上的多项式,如果再定义加法和乘法则可以生成整环R[x]
注意定义多项式环需要声明是定义在哪个环或者域上的。
Z[x]:定义在整数环上的多项式环
F_2[x]:定义在域F_2上的多项式环
GF(2)到GF(2^8)的扩张: https://blog.openacid.com/storage/ec-2/

上一篇下一篇

猜你喜欢

热点阅读