1、物联网感知层安全课前回顾 3 物联网感知层安全 3.1物联网感知层安全概述 3.2RFID安全 RFID安全密码协议本次课学习内容3.2RFID安全轻量级密码算法 1 椭圆曲线密码算法 2 RC4算法 3 Present算法 4 SM3算法国家商用密码算法简介2023-1-174椭圆曲线密码体制l为保证RSA算法的安全性,它的密钥长度需一再增大,使得它的运算负担越来越大。相比之下,椭圆曲线密码体制ECC(elliptic curve cryptography)可用短得多的密钥获得同样的安全性,因此具有广泛的应用前景。ECC已被IEEE公钥密码标准P1363采用。轻量级密码算法ECC 无线Mod
2、em的实现;web服务器的实现;集成电路卡的实现;ECC特别适用于诸如以下实现中:轻量级密码算法ECC 安全性高,其安全性依赖于椭圆曲线上的离散 对数困难问题;运算速度快;便于软硬件实现。轻量级密码算法ECCl正是由于椭圆曲线具有丰富的群结构和多选择性,并可在保持和RSA/DSA体制同样安全性能的前提下大大缩短密钥长度(目前160比特足以保证安全性),因而在密码领域有着广阔的应用前景。表4.9给出了椭圆曲线密码体制和RSA/DSA体制在保持同等安全的条件下各自所需的密钥的长度。轻量级密码算法ECC2023-1-178域l定义定义4.3.1若代数系统若代数系统的二元运算满足的二元运算满足:l1)
3、是交换群是交换群;l2)是交换群,其中0是+运算的单位元;l3)乘法在加法乘法在加法+运算上满足分配律运算上满足分配律,即对于任意a,b,cF,有la (b+c)=a b+a c和(b+c)a=ba+caa=ba+ca;l则称F为一个域域2023-1-179有限域l定义定义4.3.2有限个元素构成的域称为有限域有限域域中元素的个数称为有限域的阶有限域的阶 l例:当p是素数时,模p剩余类集合l构成p阶有限域GF(p),这也是最简单的一种有限域 0,1,2,1p2023-1-1710有限域l定义定义4.3.3设G是群,a是G中的一个元素,如果存在正整数m,使得am=1,则称a是有限阶的元素,把最小
4、的满足am=1 的正整数m叫做元素a的阶,用|a|表示。n 定义定义4.3.4q阶有限域中阶为q1的元素称为本原域元素本原域元素,简称本原元本原元n 本原元的意义是很明显的如果q阶有限域中存在本原元a,则所有非零元构成一个由a生成的q1阶循环群那么q阶有限域就可以表示为n 0,1,a1,a2,aq22023-1-1711椭圆曲线l椭圆曲线并非椭圆,之所以称为椭圆曲线是因为它的曲线方程与计算椭圆周长的方程类似。一般来讲,椭圆曲线的曲线方程是以下形式的三次方程:l y2+axy+by=x3+cx2+dx+e (4.1)l其中a,b,c,d,e是满足某些简单条件的实数。定义中包括一个称为无穷点的元素
5、,记为O。l图4.4 是椭圆曲线的两个例子。有限域上的椭圆曲线2023-1-1712椭圆曲线图4.4 椭圆曲线的两个例子有限域上的椭圆曲线2023-1-1713椭圆曲线l椭圆曲线上的加法运算定义如下:如果其上的3个点位于同一直线上,那么它们的和为O。l进一步可如下定义椭圆曲线上的加法律(加法法则):l O为加法单位元,即对椭圆曲线上任一点P,有P+O=P。l 设P1=(x,y)是椭圆曲线上的一点,它的加法逆元定义为P2=-P1=(x,-y)。l这是因为P1、P2的连线延长到无穷远时,得到椭圆曲线上的另一点O,即椭圆曲线上的3点P1、P2,O共线,所以 P1+P2+O=O,P1+P2=O,即P2
6、=-P1。l由O+O=O,还可得O=-O有限域上的椭圆曲线2023-1-1714椭圆曲线l 设Q和R是椭圆曲线上x坐标不同的两点,Q+R的定义如下:画一条通过Q、R的直线与椭圆曲线交于P1(这一交点是惟一的,除非所做的直线是Q点或R点的切线,此时分别取P1=Q和P1=R)。由Q+R+P1=O得Q+R=-P1。l 点Q的倍数定义如下:在Q点做椭圆曲线的一条切线,设切线与椭圆曲线交于点S,定义2Q=Q+Q=-S。类似地可定义3Q=Q+Q+Q+,等。l以上定义的加法具有加法运算的一般性质,如交换律、结合律等。有限域上的椭圆曲线2023-1-1715有限域上的椭圆曲线l密码中普遍采用的是有限域上的椭圆
7、曲线,有限域上的椭圆曲线是指曲线方程定义式(4.1)中,所有系数都是某一有限域GF(p)中的元素(其中p为一大素数)。其中最为常用的是由方程ly2x3+ax+b(mod p)l(a,bGF(p),4a3+27b2(mod p)0)(4.2)l定义的曲线。有限域上的椭圆曲线2023-1-1716有限域上的椭圆曲线l例4.12 p=23,a=b=1,4a3+27b2(mod 23)80,方程(4.2)为y2x3+x+1,其图形是连续曲线,由图4.4(b)所示。l然而我们感兴趣的是曲线在第一象限中的整数点。设Ep(a,b)表示方程(4.2)所定义的椭圆曲线上的点集(x,y)|0 xp,0yp,且x,
8、y均为整数并上无穷远点O。本例中E23(1,1)由表4.6给出,表中未给出O有限域上的椭圆曲线2023-1-1717有限域上的椭圆曲线l一般来说,Ep(a,b)由以下方式产生:l 对每一x(0 xp且x为整数),计算x3+ax+b(mod p)。l 决定中求得的值在模p下是否有平方根,如果没有,则曲线上没有与这一x相对应的点;如果有,则求出两个平方根(y=0 时只有一个平方根)。有限域上的椭圆曲线2023-1-1718有限域上的椭圆曲线lEp(a,b)上的加法定义如下:l设P,QEp(a,b),则l P+O=P。l 如果P=(x,y),那么(x,y)+(x,-y)=O,即(x,-y)是P的加法
9、逆元,表示为-P。l 由Ep(a,b)的产生方式知,-P也是Ep(a,b)中的点,如上例,P=(13,7)E23(1,1),-P=(13,-7),而-7 mod 2316,所以-P=(13,16),也在E23(1,1)中。有限域上的椭圆曲线2023-1-1719有限域上的椭圆曲线l 设P=(x1,y1),Q=(x2,y2),P-Q,则P+Q=(x3,y3)由以下规则确定:lx32-x1-x2(mod p)ly3(x1-x3)-y1(mod p)l其中212121132yyPQxxxaPQy有限域上的椭圆曲线2023-1-1720有限域上的椭圆曲线l例4.13 仍以E23(1,1)为例,设P=(
10、3,10),Q=(9,7),则l所以P+Q=(17,20),仍为E23(1,1)中的点。12337 1031(1)222 1211mod239362113910917mod2311(3 17)1016420mod23xy 2023-1-1721有限域上的椭圆曲线l若求2P则l所以2P=(7,12)。22333 31516mod232 10204633307mod236(37)103412mod23xy 椭圆曲线离散对数困难问题定义4.11 设E 是有限域 上的椭圆曲线,的阶是满足的最小整数 ,记为 ,其中 是无穷远点。PPEnnPPPP n()ord PpZ0()1nord P3p 定义4.1
11、2 设 是一个素数,是有限域 上的椭圆曲线,设 是 的循环子群,是 的一个生成元,。已知 ,求满足 的唯一整数 。称为椭圆曲线上的离散对数问题。EpZGEPGQG,P QnPQnRC4Ron Rivest于1987年设计。在1994年,RC4被发布于互联网上。RC4是一些广泛使用的协议和标准的一部分,如WEP和WPA。以及TLS等。算法简单,速度快。软件和硬件实现均容易,被广泛应用。RC4对称密钥算法,密钥长度可变,一般为256字节;流密码,用于密钥生成与明文一样长度的密钥流,对明文进行加密;“一次一密”能达到理论上的绝对安全,奠定了流密码发展的基石;设计具有良好伪随机性质的密钥流生成器。RC
12、4RC4用两步来生成密钥流:(1)密钥调度算法可变长度的加密密钥产生密钥流生成器的初始状态;(2)伪随机子密钥生成算法根据初始状态产生密钥流,使之与明文相异或产生密文。RC4加密体制RC4密钥流发生器KEYKeystreamPlaintextCiphertext图4-5 RC4加密Present算法在CHES2007上,Bogdanov等提出了PRESENT算法,该算法具有出色的硬件实现性能和简洁的轮函数设计。PRESENT密码算法与现有的轻量级分组密码算法TEA、MCRYPTON、HIGHT、SEA和CGEN相比,有着更简单的硬件实现,因此被称为超轻量级密码算法。PRESENT分组密码算法采
13、用SPN结构,分组长度为64位,支持80位、128位两种密钥长度。共迭代31轮,每轮轮函数F 由轮密钥加、S盒代换、P置换3部分组成。Present算法SM3算法SM3密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤,并给出了运算示例。此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。在SM2,SM9标准中使用。此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。具体算法及运算示例见SM3标准。国
14、家商用密码算法介绍密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法那等等。其中SSF33、SM1、SM4、SM7、祖冲之密码是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。目前已经公布算法文本的包括祖冲之序列密码算法、SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等。SM1算法SM1对称密码SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬
15、件实现性能与 AES 相当,算法不公开,仅以 IP 核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。SM2算法SM2椭圆曲线公钥密码算法SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位的曲线作为标准曲线。SM7算法SM7对称密码SM7算法,是一种分组密码算法,分组长度为 128 比特,密钥长度为 128 比特。SM7的算法文本目前没有公开发布。SM7适用于非接IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。THANK YOU