符号说明
数域
\(R\):实数
\(Z\):整数
\(C\):复数
\(Q\):有理数
空间
\(R^n\):n维实数
\(Z^n\):n维整数
\(C^n\):n维复数
\(Q^n\):n维有理数
集合
\(Z^+\):正整数
\(R^+\):非负实数
\(Z_q,q\geq 1\):商环\(Z/qZ\)
\(\left [ n \right ]\):表示\({1,...,n}\)
\(A/B\):B在A上的补集
\(|B|\):集合B中元素的个数
\(log\):以2为底
\(M^T\):向量/矩阵的转置
区间
(1)对于\(x,y\in R\),其中\(y>0\),\(\left \lfloor x \right \rfloor\)表示小于\(x\)的最大整数,\(x mod y =x-\left \lfloor x/y \right \rfloor y\)
(2)\(\left \lceil x \right \rfloor=\left \lfloor x+1/2 \right \rfloor\)
范数
范数(Norm)是一个数学概念,用于测量向量空间中向量的“大小”。范数需要满足以下性质:
- 非负性:所有向量的范数都大于或等于零,只有零向量的范数为零。
- 齐次性:对任意实数λ和任意向量v,有||λv|| = |λ| ||v||。
- 三角不等式:对任意向量u和v,有||u + v|| ≤ ||u|| + ||v||。
在实际应用中,范数通常用于衡量向量或矩阵的大小,比如在机器学习中,范数常用于正则化项的计算。
常见的范数有:
-
L0范数:向量中非零元素的个数。
-
L1范数:向量中各个元素绝对值之和,也被称为曼哈顿距离。
-
L2范数:向量中各个元素的平方和然后开方,也被称为欧几里得距离。
向量:\(||v||=(\sum_{i}v_i^2)^{1/2}\)
矩阵:\(||M||=max_i||m_i||,m_i\)是\(M\)的第\(i\)列 -
无穷范数:向量中各个元素绝对值的最大值。
需要注意的是,L0范数并不是严格意义上的范数,因为它违反了齐次性。但是在机器学习中,L0范数常用于衡量向量中非零元素的个数,因此也被称为“伪范数”。
分布采样
(1)D表示集合S上的一个概率分布,\(x\leftarrow D\)表示根据概率D采样\(x\in S\)
(2)\(U(S)\):S上的均匀分布
(3)若D是一个概率算法,使用\(y\leftarrow D(x)\)表示在输入x上运行算法D,最后赋值\(D(x)\)到输出y上
最小熵(min entropy)
这里\(X\)是集合中的分布还是元素?
运算
模2加\(\oplus\)
即逐比特异或
模\(2^{16}\)加\(\boxplus\)
即加模65536
因为\(0 + 2^{15} \bmod \left(2^{16}\right)=2^{15}\)
模\(2^{16}+1\)乘\(\odot\)
即乘模65537,全0作为\(2^{16}\)处理
因为\(2^{16} \times 2^{15} \bmod \left(2^{16}+1\right)=2^{15}+1\)
复杂度
符号表示
1、\(\Theta\)符号
读音:theta、西塔;既是上界也是下界(tight),等于的意思。
是大\(O\)符号和大\(\Omega\)符号的结合
2、\(O\)符号
读音:big-oh、欧米可荣(大写);表示上界(tightness unknown),小于等于的意思。
是用于描述函数渐近行为的数学符号,更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。
3、\(o\)符号
读音:small-oh、欧米可荣(小写);表示上界(not tight),小于的意思。
4、\(\Omega\)符号
读音:big omega、欧米伽(大写);表示下界(tightness unknown),大于等于的意思。
与大\(O\)符号的定义类似,但主要区别是,大\(O\)符号表示函数在增长到一定程度时总小于一个特定函数的常数倍,大\(\Omega\)符号则表示总大于,来描述一个函数数量级的渐近下界。
5、\(w\)符号
读音:small omega、欧米伽(小写);表示下界(not tight),大于的意思。
下面是具体定义:
渐进标准
其中\(\widetilde{O}(n)\)表示忽略了poly因子的复杂度
多项式的(polynomial)
对于某个常数\(c\),若\(f(n)=O(n^c)\),则称\(f(n)\)关于n是多项式的,记为\(poly(n)\)。
例如:\(q=Poly(n)\),即关于\(n\)的多项式,例如\(q=n^2\)
可忽略的(hegligible)
对于任意常数\(c\),有\(f(n)=o(n^{-c})\),则称\(f(n)\)关于n是可忽略的,记为\(negl(n)\)
若一个事件以至少\(1-negl(n)\)的概率发生,则称这件事发生的概率是压倒性的(overwhelming)
语义安全
(1)\(ADV_Y^X\):算法\(A\)在攻击基于安全定义\(X\)的方案\(Y\)时的优势,可简写为\(ADV(A)\)
(2)统计不可区分
若\(\Delta (D_1,D_2)\leq negl(n)\),则称\(D_1\)和\(D_2\)是统计不可区分的,表示\(D_1\approx _s D_2\)。
(3)计算不可区分
对于任意可区分分布\(D_1\)和\(D_2\)的概率多项式时间(PPT)算法A,若\(|Pr[A(1^n,D_1)=1]-Pr[A(1^n,D_2)=1]|\leq negl(n)\),则称\(D_1\)和\(D_2\)是计算不可区分的,表示\(D_1\approx _c D_2\)
(4)分布不可区分
一次一密(完美/理想保密)
一次一密,是理想情况下最安全的加密算法,但存在两个重要问题:
(1)每加密一次,需要更换一个密钥
(2)密钥的长度和明文相当。
实际保密
攻击者成功优势
优势的取值一般和加密算法的安全位数有关。
参考
1、https://www.zhihu.com/question/37203836/answer/70932036
2、格上不经意传输协议的分析与设计
3、https://wenku.baidu.com/view/93390c4a1db91a37f111f18583d049649b660ef0.html