密码技术介绍北京合众睿安科技有限公司一、密码技术发展概述1二、密码体系介绍2三、常用密码算法简介33四、密钥管理4五、密码技术基本应用35六、密码分析技术简介6人类社会活动的三大要素物质信息能量没有信息,什么都没有意义密码与信息的关系•信息的特性:可共享性、不灭性、廉价复制、价值属性•密码是为了隐蔽信息、保护通信的秘密为目的。•将通用的明码信息载体转换为不为他人所知的密码的方法就是信息加密。密码技术•密码技术的三要素:–明文、密文、密钥(加密的方法)•密码技术包括:–密码编码学:使消息保密的技术和科学;–密码分析学:就是破译密文的科学和技术,即揭穿伪装。加密技术发展史三个阶段手工密码为主时期(公元前5世纪—一战结束)机械、机电密码为主时期(一战结束—20世纪60年代)电子密码为主时期(20世纪60年代—)两个里程碑1949年的香农(Shannon)理论;1976年Diffie-Hellman提出了公开密钥理论加密技术发展史手工密码阶段(一)公元前1世纪,罗马人的恺撒密码加密技术发展史手工密码阶段(二)公元前405年,古希腊人的“塞塔”公元11世纪,中国北宋的《武经总要》字典密码;网格密码密码本加密技术发展史机械、机电密码阶段1914年,美国的P.希特研究了圆柱体密码,提出了轮式和条式密码编码方式美国人E.H.赫本于1919年设计了一种多表代替类型的转轮密码机1934年,瑞典人哈格林发明的机械密码机C-36,后来美军大量采用并改名为M-209在机电密码中,圆盘密码受到各工业国普遍重视加密技术发展史电子密码阶段以计算机作为密码计算的工具。密码技术具有更为完善的理论指导和复杂的数学模型密码破译为电子计算机的诞生提供了第一次推动。加密技术发展史—里程碑1949-1976年1949年香农(Shannon)发表的《保密通讯的信息理论》将密码学的研究纳入科学轨道。并建议使用混淆和扩散的方法使密码可以抵抗统计分析法。该阶段对密码技术的研究主要集中在军方和政府机构如美国国家安全局(NSA),公开的文献和产品都很少。加密技术发展史-里程碑1976年~现在1976年Diffie-Hellman提出了公开密钥(publickey)理论,开创了密码技术的新理念。1977年,美国标准局(NBS)公布了DES算法。密码技术进入高速发展阶段。一、密码技术发展概述1二、密码体系介绍2三、常用密码算法简介33四、密钥管理4五、密码技术基本应用35六、密码分析技术简介6分组密码技术分组密码是使用定长的密钥,对加密的明文数据等长分组,一组为一单位进行加密。因此分组密码技术有两个重要概念:密钥长度、分组长度。分组密码技术包括:•对称密钥体系•公开(非对称)密钥体系分组密码技术对称密钥体系•加密和解密使用相同的密钥•密钥的保密是信息安全的关键明文明文密钥加密解密密文分组密码技术对称密钥体系局限性不能保证信息发送方对发送信息的不可抵赖;在多方通讯情况下密钥管理量大:n*(n-1)/2个;密钥的安全分发问题;分组密码技术公开密钥体系又称非对称密钥体系,加密和解密使用不同的密钥。一个密钥可以公开称为公钥(PK),另一个密钥必须保密称为私钥(SK)。明文明文公开密钥加密解密密文私有密钥分组密码技术公开密钥体系局限性•处理速度慢;•密钥的产生复杂,需要专门的工具;•通常密钥长度较大;流密码技术•流密码技术一次将1bit明文转变成1bit密文;•流密码技术通常是一种对称密钥技术;•流密码技术多在政府、军方使用;•密钥流生成器是流密码安全的关键二元加法流密码双方的密钥由“密钥流生成器”产生,密钥与明文无关。单向杂凑(Hash)算法•杂凑算法(或者叫做信息摘要算法)是将一个较长的数字串M映射成一个较短的定长输出数字串H的函数,我们关心的通常是单向杂凑函数。•杂凑函数除了可用于数字签名方案之外,还可用于其它方面,诸如消息的完整性检测、消息的起源认证检测等。新兴加密技术混沌密码学•1989年Matthews提出;由于确定而简单的动力学系统产生的混沌信号能表现出复杂的伪随机性。•可以用来设计对称分组密码、公开密码、流密码、HASH算法。•华中科技大学胡汉平教授主持开发的“混沌自同步流密码算法”通过了国家密码局的算法审查,将该算法命名为SSF46。新兴加密技术量子密码学•起源于量子世界的自然不确定性,其安全由物理学定律保证。原则上提供了不可破译、不可窃听和大容量的保密通讯体系。•量子密码学也被称为量子密钥分配,使用量子力学保证一个安全的交流。它能让两方产生一个共享的、随机的、且不被其它人知道的二进制位串,可以用作一个密钥来加密或解密数据。新兴加密技术神经密码学•1990年意大利神经网络专家FrancescoE.Lauria教授提出•是一种将神经网络用于密码学领域的设想。•目前还处于实验阶段。一、密码技术发展概述1二、密码体系介绍2三、常用密码算法简介33四、密钥管理4五、密码技术基本应用35六、密码分析技术简介6DES算法DES(dataencryptionstandard)是当前使用最为广泛的加密算法;DES是对称密钥算法的代表;由IBM公司研制的一种分组密码算法;1977成为美国标准;美国国家保密局(NSA)定期对其进行评估;DES算法•DES的加密过程经过16轮迭代计算;•DES的数据分组长度是64bits;•DES的密钥长度为64bits,其中有效长度56bits校验位8bits;•校验位是保证每8bits密钥1的个数为奇数10011000校验位DES算法DES算法变形多重DES算法:是通过使用不同的密钥对一组明文进行多次加密,从而达到增加密钥长度的目的。最常用的是3-DES算法,及对数据进行三次加密运算。DES变形---3DESKEY1KEY2KEY3双倍长密钥由两个DES密钥组成的128bits长度密钥三倍长密钥三个DES密钥组成的192bits长度密钥KEY1KEY2KEY1KEY2KEY1KEY2KEY3DES变形---3DES3-DES加/解密方式64bits明文DES(Encryption)DES(Decryption)DES(Encryption)加密过程64bits密文KEY1KEY2KEY1KEY1KEY2KEY3D-DEST-DES64bits密文DES(Decryption)DES(Encryption)DES(Decryption)解密过程64bits明文KEY1KEY2KEY1KEY3KEY2KEY1D-DEST-DES3-DES的最大优点是其向下兼容性!问题思考3DES技术通过增加密钥长度是提高加密强度的充分条件吗?DES算法其它DES变形•S-盒变换变换S-盒次序或内容•独立子密钥每轮处理使用不同的子密钥•G-DES增加分组长度,提高处理速度均不比DES更安全!IDEA算法XuejiaLai和JamesMassey1990年提出;国际数据加密算法IDEA是对称、分组密码算法,输入明文为64位,密钥为128位,生成的密文为64位;IDEA是一种专利算法(在欧洲和美国),专利由Ascom-TechAG拥有;PGP软件中使用IDEA算法;IDEA存在大量弱密钥;IDEA硬件运算速度高于DES;AES算法美国国家标准和技术局(NIST)2000年公布的高级加密标准(AdvancedEncryptionStandard),用于取代DES。在2002年5月26日AES成为美国密码的有效标准。它是一个128bits分组对称密码算法密钥长度可以使用128、192和256bits,通常使用128bits。RC系列算法RC系列是RonRivest为RSA公司设计的一系列密码:RC1未被公开,以致于许多人们称其只出现在Rivest的记事本上;RC2是变长密钥加密密法;(RC3在设计过程中在RSADSI内被攻破);RC4是Rivest在1987年设计的变长密钥的流密码;RC5是Rivest在1994年设计的分组长、密钥长、迭代轮数都可变的分组迭代密码算法;RSA算法RonRivest,AdiShamir和LenAdleman于1977年研制并于1978年首次发表;RSA是公钥算法的代表;其安全性基于分解大整数的困难性;RSA既可用于加密,又可用于数字签名,已得到广泛采用;RSA已被许多标准化组织(如ISO、ITU、IETF等)接纳;RSA-155(512bits),RSA-140于1999年分别被分解;目前通常使用1024bits以上的算法RSA算法设n是两个不同奇素数之积,即n=pq,计算其欧拉函数值Φ(n)=(p-1)(q-1).随机选一整数e,1≤eΦ(n),(Φ(n),e)=1.因而在模Φ(n)下,e有逆元取公钥为n,e,秘密钥为d,(p,q)不再需要,应该被舍弃,但绝不可泄露)定义加密变换为解密变换为nekZxnxxE,mod)(ndkZynyyD,mod)()mod(1ned椭圆曲线-ECC公式:y2=x3+ax+bmodp;参数:T={a,b,G,n,p};G是基点,以G=(xG,yG)标记,p定义Fp,a,b是整数,a,bєFp,n是G的阶;私钥:sk=r;公钥:pk=rG=(xr,yr);算法比较•强度比较保密强度(以bit计)对称密码密钥长度ECC密码n长度DSA/RSA模数长度56-bit56-bit112-bit512-bit80-bit80-bit160-bit1024-bit112-bit112-bit224-bit2048-bit128-bit128-bit256-bit3072-bit192-bit192-bit384-bit7680-bit256-bit256-bit512-bit15360-bit国产密码—政策•密码产品由国家密码管理局统一管理•我国对密码技术分为核密、普密、商密三个级别–核密:对涉及国家核心秘密信息进行加密的密码技术,是最高密码级别–普密:对涉及国家普通秘密信息进行加密的密码技术–商密:对不涉及国家秘密的信息进行加密的密码技术,用于普通商业机构•密码相关企业资质:–研发、生产、销售•密码产品有国密局统一鉴定、命名•以前的密码算法管理原则是不公开、完全硬件化政策,目前已经公开部分商密算法国产密码算法(一)•SM1对称密码算法:–曾用名SCB2是目前主推的对称密码算法–128分组、128密钥长度–算法强度与AES相当•SM2公钥密码算法:–是一种基于ECC密码算法,现已经公开–主要使用256密钥长度–目前硬件实现效率还不高•SM3:HASH算法,已经公开。国产密码算法(二)•SM4对称密码算法:–原名SMS4,是为无线局域网安全密码算法,–现在是较早公开的国密算法,现在已经更名为SM4•SM7对称密码算法:–RFID芯片安全密码算法•SSF33对称密码算法:–老的金融密码算法–在社保卡中有应用都是128分组、128密钥长度算法一、密码技术发展概述1二、密码体系介绍2三、常用密码算法简介33四、密钥管理4五、密码技术基本应用35六、密码分析技术简介6密钥管理在现实中,一个完善的密码体系仅仅有一个高强度的加密算法是不够的,还必须拥有一个与其安全级别相符合的密钥管理机制,否则攻击者可以通过攻击密钥的方法来完成对加密信息的破解。密钥管理密钥产生;密钥传输;密钥使用;密钥存储;密钥备份;密钥有效期;密钥更新;密钥销毁;密钥产生密码运算的安全依赖于密钥,一个采用了较弱的密钥产生机制的系统其安全性也是较弱的,因为这降低了攻击者通过猜测密钥完成攻击的难度。建议:密钥可选范围要尽可能大;避免使用弱密钥;密钥的随机性尽可能好。密钥组成元素和可用密钥数量穷搜索耗时表(以100万次/秒处理速度为例)密钥产生•随机密钥产生•密钥短语对一个短语用hash算法计算得到密钥;•ANSIX9.17密钥产生使用一个内置密钥,对一个初始向量和一个时间变量进行3-DES运算,并将运算结果作为下次运算的初始向量•DoD密钥产生美国国防部推荐使用DES的OFB运算模式产生随机密钥,其中也包括系统时钟、系统ID等•公开密钥的产生密