资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2020/12/7,#,物联网感知层安全,物联网感知层安全,1,课前回顾,3,物联网感知层安全,3.1,物联网感知层安全概述,3.2RFID,安全,RFID,安全密码协议,课前回顾 3 物联网感知层安全,2,本次课学习内容,3.2RFID,安全,轻量级密码算法,1,椭圆曲线密码算法,2 RC4,算法,3 Present,算法,4 SM3,算法,国家商用密码算法简介,本次课学习内容3.2RFID安全,3,椭圆曲线密码体制,2024/11/19,4,为保证,RSA,算法的安全性,它的密钥长度需一再增大,使得它的运算负担越来越大。相比之下,椭圆曲线密码体制,ECC(elliptic curve cryptography),可用短得多的密钥获得同样的安全性,因此具有广泛的应用前景。,ECC,已被,IEEE,公钥密码标准,P1363,采用。,轻量级密码算法,ECC,椭圆曲线密码体制2023/10/14为保证RSA算法的安全,无线,Modem,的实现;,web,服务器的实现;,集成电路卡的实现;,ECC,特别适用于诸如以下实现中:,轻量级密码算法,ECC,无线Modem的实现;ECC特别适用于诸如以下实现中:轻,5,安全性高,其安全性依赖于椭圆曲线上的离散,对数困难问题;,运算速度快;,便于软硬件实现。,轻量级密码算法,ECC,安全性高,其安全性依赖于椭圆曲线上的离散轻量级密码算法,6,正是由于椭圆曲线具有丰富的群结构和多选择性,并可在保持和,RSA/DSA,体制同样安全性能的前提下大大缩短密钥长度(目前160比特足以保证安全性),因而在密码领域有着广阔的应用前景。表4.,9,给出了椭圆曲线密码体制和,RSA/DSA,体制在保持同等安全的条件下各自所需的密钥的长度。,轻量级密码算法,ECC,正是由于椭圆曲线具有丰富的群结构和多选择性,并可在保持和RS,7,2024/11/19,8,域,定义,4.3.1,若代数系统,的二元运算满足,:,1,),是交换群,;,2,),是交换群,其中,0,是,+,运算的单位元;,3,),乘法在加法,+,运算上满足分配律,,即对于任意,a,,,b,,,c,F,,有,a,(,b+c,)=,a,b+a,c,和,(b+c),a=ba+ca,;,则称,F,为一个,域,2023/10/18域定义4.3.1若代数系统F,+,2024/11/19,9,有限域,定义,4.3.2,有限个元素构成的域称为,有限域,域中元素的个数称为,有限域的阶,例:当,p,是素数时,模,p,剩余类集合,构成,p,阶有限域,GF,(,p,),,这也是最简单的一种有限域,2023/10/19有限域定义4.3.2有限个元素构成的域,2024/11/19,10,有限域,定义,4.3.3,设,G,是群,,a,是,G,中的一个元素,如果存在正整数,m,,使得,a,m,=1,,则称,a,是有限阶的元素,把最小的满足,a,m,=1,的正整数,m,叫做,元素,a,的阶,,用,|a|,表示。,定义,4.3.4,q,阶有限域中阶为,q,1,的元素称为,本原域元素,,简称,本原元,本原元的意义是很明显的如果,q,阶有限域中存在本原元,a,,则所有非零元构成一个由,a,生成的,q,1,阶,循环群,那么,q,阶有限域就可以表示为,0,,,1,,,a,1,,,a,2,,,,,a,q,2,2023/10/110有限域定义4.3.3设G是群,a是G,椭圆曲线,2024/11/19,11,椭圆曲线并非椭圆,之所以称为椭圆曲线是因为它的曲线方程与计算椭圆周长的方程类似。一般来讲,椭圆曲线的曲线方程是以下形式的三次方程:,y,2,+axy+by=x,3,+cx,2,+dx+e (4.1),其中,a,b,c,d,e,是满足某些简单条件的实数。定义中包括一个称为无穷点的元素,记为,O。,图4.4 是椭圆曲线的两个例子。,有限域上的椭圆曲线,椭圆曲线2023/10/111椭圆曲线并非椭圆,之所以称为椭,椭圆曲线,2024/11/19,12,图4.4 椭圆曲线的两个例子,有限域上的椭圆曲线,椭圆曲线2023/10/112图4.4 椭圆曲线的两个例子有,椭圆曲线,2024/11/19,13,椭圆曲线上的,加法运算定义,如下:如果其上的3个点位于同一直线上,那么它们的和为,O。,进一步可如下定义椭圆曲线上的加法律(加法法则):,O,为加法单位元,即对椭圆曲线上任一点,P,,有,P+O=P。,设,P,1,=(x,y),是椭圆曲线上的一点,它的加法逆元定义为,P,2,=-P,1,=(x,-y)。,这是因为,P,1,、P,2,的连线延长到无穷远时,得到椭圆曲线上的另一点,O,,即椭圆曲线上的3点,P,1,、P,2,,O,共线,所以,P,1,+P,2,+O=O,P,1,+P,2,=O,,即,P,2,=-P,1,。,由,O+O=O,,还可得,O=-O,有限域上的椭圆曲线,椭圆曲线2023/10/113椭圆曲线上的加法运算定义如下,椭圆曲线,2024/11/19,14,设,Q,和,R,是椭圆曲线上,x,坐标不同的两点,,Q+R,的定义如下:画一条通过,Q、R,的直线与椭圆曲线交于,P,1,(,这一交点是惟一的,除非所做的直线是,Q,点或,R,点的切线,此时分别取,P,1,=Q,和,P,1,=R)。,由,Q+R+P,1,=O,得,Q+R=-P,1,。,点,Q,的倍数定义如下:在,Q,点做椭圆曲线的一条切线,设切线与椭圆曲线交于点,S,,定义2,Q=Q+Q=-S。,类似地可定义3,Q=Q+Q+Q+,,,,等。,以上定义的加法具有加法运算的一般性质,如交换律、结合律等。,有限域上的椭圆曲线,椭圆曲线2023/10/114 设Q和R是椭圆曲线上x,有限域上的椭圆曲线,2024/11/19,15,密码中普遍采用的是有限域上的椭圆曲线,有限域上的椭圆曲线是指曲线方程定义式(4.1)中,所有系数都是某一有限域,GF(p),中的元素(其中,p,为一大素数)。其中最为常用的是由方程,y,2,x,3,+ax+b(mod p),(a,bGF(p),4a,3,+27b,2,(mod p)0)(4.2),定义的曲线。,有限域上的椭圆曲线,有限域上的椭圆曲线2023/10/115密码中普遍采用的是,有限域上的椭圆曲线,2024/11/19,16,例4.12,p=23,a=b=1,4a,3,+27b,2,(mod 23)80,,方程(4.2)为,y,2,x,3,+x+1,,其图形是连续曲线,由图4.4(,b),所示。,然而我们感兴趣的是曲线在第一象限中的整数点。设,E,p,(a,b),表示方程(4.2)所定义的椭圆曲线上的点集(,x,y)|0 xp,0yp,,且,x,y,均为整数并上无穷远点,O。,本例中,E,23,(1,1),由表4.6给出,表中未给出,O,有限域上的椭圆曲线,有限域上的椭圆曲线2023/10/116例4.12 p=23,有限域上的椭圆曲线,2024/11/19,17,一般来说,,Ep(a,b),由以下方式产生:,对每一,x(0 xp,且,x,为整数),计算,x,3,+ax+b(mod p)。,决定中求得的值在模,p,下是否有平方根,如果没有,则曲线上没有与这一,x,相对应的点;如果有,则求出两个平方根(,y=0,时只有一个平方根)。,有限域上的椭圆曲线,有限域上的椭圆曲线2023/10/117一般来说,Ep(a,有限域上的椭圆曲线,2024/11/19,18,E,p,(a,b),上的加法定义如下:,设,P,QE,p,(a,b),,则,P+O=P。,如果,P=(x,y),,那么(,x,y)+(x,-y)=O,,即(,x,-y),是,P,的加法逆元,表示为-,P。,由,E,p,(a,b),的产生方式知,-,P,也是,E,p,(a,b),中的点,如上例,,P=(13,7)E,23,(1,1),-P=(13,-7),,而-7,mod 2316,,所以-,P=(13,16),,也在,E,23,(1,1),中。,有限域上的椭圆曲线,有限域上的椭圆曲线2023/10/118Ep(a,b)上的加,有限域上的椭圆曲线,2024/11/19,19,设,P=(x,1,y,1,),Q=(x,2,y,2,),P-Q,,则,P+Q=(x,3,y,3,),由以下规则确定:,x,3,2,-x,1,-x,2,(mod p),y,3,(x,1,-x,3,)-y,1,(mod p),其中,有限域上的椭圆曲线,有限域上的椭圆曲线2023/10/119 设P=(x1,y,有限域上的椭圆曲线,2024/11/19,20,例4.13 仍以,E,23,(1,1),为例,设,P=(3,10),Q=(9,7),,则,所以,P+Q=(17,20),,仍为,E,23,(1,1),中的点。,有限域上的椭圆曲线2023/10/120例4.13 仍以E2,有限域上的椭圆曲线,2024/11/19,21,若求2,P,则,所以2,P=(7,12)。,有限域上的椭圆曲线2023/10/121若求2P则,椭圆曲线离散对数困难问题,定义,4.11,设,E,是有限域 上的椭圆曲线,的阶是,满足,的最小整数 ,记为 ,其中 是无穷远点。,定义,4.12,设,是一个素数,是有限域 上的椭圆曲线,设 是 的循环子群,是 的一个生成元,。已知,求满足 的唯一整数 。称为椭圆曲线上的离散对数问题。,椭圆曲线离散对数困难问题定义4.11 设E 是有限域,22,RC4,Ron Rivest,于,1987,年设计。在,1994,年,,RC4,被发布于互联网上。,RC4,是一些广泛使用的协议和标准的一部分,如,WEP,和,WPA,。以及,TLS,等。,算法简单,速度快。软件和硬件实现均容易,被广泛应用。,RC4Ron Rivest于1987年设计。在1994年,R,23,RC4,对称密钥算法,密钥长度可变,一般为,256,字节;,流密码,用于密钥生成与明文一样长度的密钥流,对明文进行加密;,“一次一密”能达到理论上的绝对安全,奠定了流密码发展的基石;,设计具有良好伪随机性质的密钥流生成器。,RC4对称密钥算法,密钥长度可变,一般为256字节;,24,RC4,RC4,用两步来生成密钥流:,(,1,)密钥调度算法,可变长度的加密密钥产生密钥流生成器的初始状态;,(,2,)伪随机子密钥生成算法,根据初始状态产生密钥流,使之与明文相异或产生密文。,RC4RC4用两步来生成密钥流:,25,RC4,加密体制,RC4,密钥流发生器,KEY,Keystream,Plaintext,Ciphertext,图,4-5 RC4,加密,RC4加密体制RC4密钥流发生器KEYKeystreamPl,26,Present,算法,在,CHES2007,上,,Bogdanov,等提出了,PRESENT,算法,该算法具有出色的硬件实现性能和简洁的轮函数设计。,PRESENT,密码算法与现有的轻量级分组密码算法,TEA,、,MCRYPTON,、,HIGHT,、,SEA,和,CGEN,相比,有着更简单的硬件实现,因此被称为超轻量级密码算法。,Present算法在CHES2007上,Bogdanov等提,27,PRESENT,分组密码算法采用,SPN,结构,分组长度为,64,位,支持,80,位、,128,位两种密钥长度。共迭代,31,轮,每轮轮函数,F,由轮密钥加、,S,盒代换、,P,置换,3,部分组成。,Present,算法,PRESENT分组密码算法采用SPN结构,分组长度为64位,,28,SM3,算法,SM3,密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤,并给出了运算示例。此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。在,SM2,,,SM9,标准中使用。此算法对输入长度小于,2,的,64,次方的比特消息,经过填充和迭代压缩,生成长度为,256,比特的杂凑值,其中使用了异或
展开阅读全文