1.基础概念:
对称加密:加密密钥和加密密钥相同的加密方式。
哈希函数:将任意长度的消息,映射为一个固定长度的随机数。
群:具有二元运算的代数系统,<G,>
满足:
- a,b∈G,ab∈G (1)【满足某一种二元运算,且具有封闭性】
- a,b,c∈G,a(bc)=(ab)c (2)【满足结合律】
- e∈G,a∈G,有ae=ea=a (3)【有单位元e】
- a∈G,aa'=e (4)【任何元素都有逆元】
满足(1),(2)性质为半群;满足(1)(2)(3)性质为含幺半群。
循环群:群G中每个元素都是a∈G的幂,a就是群的生成元,群内元素个数称为群的阶。
问题:在乘法素数群中,计算pk=g^sk mod n:
如果已知g,sk计算pk容易;已知pk,g求sk,需要指数时间,暴力搜索。如果sk的空间是256bit,则暴力搜索空间为2^256,有限时间内不可行。这就是离散对数困难问题(DL)。
椭圆曲线群:
- 在椭圆曲线上寻找n个离散的点
- 任意两个点规定抽象的点加运算
- 椭圆曲线点相加之后依然在集合中
- 点相加之后的结果与相加次序无关
- 某个坐标为0或者无穷大,为零点,记为单位元
- 每个点都有一个对应的对称点,也成为逆元点
什么是椭圆曲线?
其实与椭圆无关,知识因为他们与计算椭圆周长的方程相似,一般用三次方程来表示:
计算P+Q,就是将P和Q连线,所得线段与椭圆曲线的交点的对称点就是(P+Q)。
计算Q+Q,则画一条切线找出另一个交点S,Q+Q=-S
椭圆曲线群上的离散对数问题:已知Y,a·Y∈G,求A是困难的。