信息安全数学基础-带余除法 2021.9.8
1. 整除的定义与性质
整除的定义
- 整数的因子总假定是正的
整除的基本性质
性质1
性质2
性质3
2. 带余除法
带余除法的定义
- 唯一性
- q:不完全商
- r:余数
- 用途:将两个数之间的整除关系的判定转化为计算问题
带余除法的存在性证明
带余除法的唯一性证明
思路:所有的q和r都是同一组数:即假设不唯一,推出矛盾
带余除法的余数
0<= r < b :r为最小非负余数
|r| <= b/2 :绝对值最小余数(在后面的Euclid算法中能起到算法加速的作用)
带余除法的例子
证明:
a
x
0
+
b
y
0
∣
a
x
+
b
y
ax_0+by_0|ax+by
ax0+by0∣ax+by
若a ,b是任意两个不全为0的整数,ax0+by0是所有形如ax+by的整数中最小的正数,x , y是任意整数。
Floor函数:下取整
带余除法中的q实际上就是[a/b]
3. 整数的数字符号表示
不同的进制
b进制表示
n ( 任 意 整 数 ) 的 b ( 大 于 1 的 整 数 ) 进 制 表 示 ( 其 中 t > = 0 , 0 < = r i < b ) : n = r t b t + r t − 1 b t − 1 + . . . + r 1 b + r 0 常 记 为 : ( r t . . . r 1 ) b n(任意整数)的b(大于1的整数)进制表示(其中t >= 0 , 0 <= ri < b): \\n=r_tb^t+r_{t-1}b^{t-1}+...+r_1b+r_0 \\常记为:(r_t...r_1)_b n(任意整数)的b(大于1的整数)进制表示(其中t>=0,0<=ri<b):n=rtbt+rt−1bt−1+...+r1b+r0常记为:(rt...r1)b
用带余除法求b进制表示
b进制表示的唯一性
十六进制
- 二进制到十六进制的基转换
其他形式的整数表示
BSD表示:带符号的二进制表示
对 整 数 k , k = k n − 1 2 n − 1 + . . . + k 1 2 1 + k 0 2 0 , 其 中 k i ∈ { − 1 , 0 , 1 } , 0 < = i < n 为 k 的 长 度 为 n 的 带 符 号 二 进 制 表 示 对整数k,k=k_{n-1}2^{n-1}+...+k_12^1+k_02^0, \\其中k_i∈\{-1,0,1\},0<=i<n \\为k的长度为n的带符号二进制表示 对整数k,k=kn−12n−1+...+k121+k020,其中ki∈{−1,0,1},0<=i<n为k的长度为n的带符号二进制表示
- 计算机技术、密码学、数字信号处理
NAF表示:非相邻形式的BSD表示
对 正 整 数 k , ( k n − 1 , . . . , k 0 ) 为 一 种 B S D 表 示 , 若 其 中 没 有 两 个 连 续 的 k i 是 非 零 的 , 则 称 它 是 非 相 邻 形 式 表 示 , 记 作 N A F 表 示 对正整数k,(k_{n-1},...,k_0)为一种BSD表示, \\若其中没有两个连续的k_i是非零的,则称它是非相邻形式表示,记作NAF表示 对正整数k,(kn−1,...,k0)为一种BSD表示,若其中没有两个连续的ki是非零的,则称它是非相邻形式表示,记作NAF表示
- 椭圆曲线密码体制中的加速计算
4. 最大公因子
公因子与最大公因子
- 最大公因子记为(a,b)
- 0和0的最大公因子定义为0
最大公因子的平凡求解
最大公因子的求解方法
欧几里得(Euclidean)算法
重要预备定理:
设 a , b , c 为 三 个 正 整 数 , 且 a = b q + c , 其 中 q 为 整 数 , 则 ( a , b ) = ( b , c ) 设a,b,c为三个正整数,且a = bq+c,其中q为整数,则(a,b)=(b,c) 设a,b,c为三个正整数,且a=bq+c,其中q为整数,则(a,b)=(b,c)
证明:
- a , b的公因子是b , c的公因子
- b , c的公因子是a , b的公因子
欧式算法(辗转相除法)
利用绝对值最小余数代替最小非负余数,可减少算法的带余除法次数从而提高效率