信息安全技术信息安全技术密码技术密码技术中国信息安全产品测评认证中心(中国信息安全产品测评认证中心(CNITSECCNITSEC))密码技术(培训样稿)密码技术(培训样稿)第第00章章绪论绪论cnitseccnitsec密码学与信息安全密码学与信息安全信息的私密性信息的私密性(Privacy)(Privacy)对称加密对称加密信息的完整性信息的完整性(Integrity)(Integrity)数字签名数字签名信息的源发鉴别信息的源发鉴别(Authentication)(Authentication)数字签名数字签名信息的防抵赖性信息的防抵赖性(Non(Non--Reputation)Reputation)数字签名数字签名++时间戳时间戳cnitseccnitsec互联网困境互联网困境cnitseccnitsecOverviewofCryptographyOverviewofCryptographyInformationsecurityandcryptographyInformationsecurityandcryptographyBackgroundonfunctionsBackgroundonfunctionsBasicterminologyandconceptsBasicterminologyandconceptsSymmetricSymmetric--keyencryptionkeyencryptionDigitalsignaturesDigitalsignaturesAuthenticationandidentificationAuthenticationandidentificationPublicPublic--keycryptographykeycryptographyHashfunctionsHashfunctionsProtocolsandmechanismsProtocolsandmechanismsKeyestablishment,management,andcertificationKeyestablishment,management,andcertificationPseudorandomnumbersandsequencesPseudorandomnumbersandsequencesClassesofattacksandsecuritymodelsClassesofattacksandsecuritymodelscnitseccnitsecMathematicalBackgroundMathematicalBackgroundProbabilitytheoryProbabilitytheoryInformationtheoryInformationtheoryComplexitytheoryComplexitytheoryNumbertheoryNumbertheoryAbstractalgebraAbstractalgebraFinitefieldsFinitefieldscnitseccnitsecSomeinformationsecurityobjectivescnitseccnitsec密密码码学学分分类类第第11章章密码学基础密码学基础cnitseccnitsec§§1.11.1密码学的历史与发展密码学的历史与发展密码学的演进密码学的演进单表代替-单表代替-多表代替-多表代替-机械密机械密((恩格玛恩格玛))--现代密码学现代密码学((对称与非对称密码体制对称与非对称密码体制))--量子密码学量子密码学密码编码学和密码分析学密码编码学和密码分析学应用领域应用领域军事,外交,商业,个人通信,古文化研军事,外交,商业,个人通信,古文化研究等究等cnitseccnitsec§§1.21.2基础术语基础术语点对点通信点对点通信消息与加密消息与加密鉴别、完整性与抗抵赖鉴别、完整性与抗抵赖算法与密钥算法与密钥对称算法对称算法公开密钥算法公开密钥算法密码分析与密码攻击密码分析与密码攻击cnitseccnitsec点对点通信点对点通信通信由发起方(发送方)与接收方组通信由发起方(发送方)与接收方组成成通过通信基础设施传送通过通信基础设施传送cnitseccnitsec消息与加密消息与加密消息(消息(messagemessage))----明文明文MM加密(加密(encryptionencryption))----逻辑扰乱逻辑扰乱EE---目的:对消息进行伪装-目的:对消息进行伪装CC,为非授,为非授权或非意向接收者制造麻烦。权或非意向接收者制造麻烦。E(M)=CE(M)=Ccnitseccnitsec鉴别、完整性与抗抵赖鉴别、完整性与抗抵赖鉴别(鉴别(authenticationauthentication))消息来源确认、防假冒、证明你是否消息来源确认、防假冒、证明你是否就是你所声明的你就是你所声明的你完整性(完整性(integrityintegrity))防篡改、证明消息与过程的正确性防篡改、证明消息与过程的正确性抗抵赖(抗抵赖(nonrepudiationnonrepudiation))你或其他主体对所作所为的可确认性你或其他主体对所作所为的可确认性cnitseccnitsec算法与密钥算法与密钥数学理论的应用-算法数学理论的应用-算法算法保密算法保密算法参数控制-密钥算法参数控制-密钥密钥保密-为了消息保密密钥保密-为了消息保密cnitseccnitsec对称算法与公开密钥算法对称算法与公开密钥算法锁门的钥匙与开门的钥匙是同一把钥锁门的钥匙与开门的钥匙是同一把钥匙--对称算法匙--对称算法锁门的钥匙与开门的钥匙不是同一把锁门的钥匙与开门的钥匙不是同一把钥匙两把或更多--公开密钥算法钥匙两把或更多--公开密钥算法cnitseccnitsec密码分析与密码攻击密码分析与密码攻击攻击(数学方法与计算支持)攻击(数学方法与计算支持)密文攻击、已知明文攻击、选择明文密文攻击、已知明文攻击、选择明文攻击、选择密文攻击、野蛮攻击攻击、选择密文攻击、野蛮攻击泄露(非技术方法)泄露(非技术方法)cnitseccnitsec§§1.31.3密码政治密码政治国家政策国家政策绝密、普密、商密绝密、普密、商密国际惯例国际惯例国家安全国家安全◎◎密码技术密码技术◎◎出入控制出入控制cnitseccnitsec第第22章传统密码学章传统密码学cnitseccnitsec§§2.12.1传统密码学简介传统密码学简介历史悠久,昀古老与昀现代的密码学历史悠久,昀古老与昀现代的密码学基本特点:加密和解密采用同一个密钥基本特点:加密和解密采用同一个密钥letletCC=Ciphertext,=Ciphertext,PP=Plaintext,=Plaintext,kkiskey,iskey,E()/D()istheencryption/decryptionfunction,E()/D()istheencryption/decryptionfunction,thenthenCC=E(=E(PP,,kk),),PP=D(=D(CC,,kk))基本技术基本技术替换替换//置换和移位置换和移位cnitseccnitsec§§2.22.2DESDESDESDES是第一个得到广泛应用的密码算法;是第一个得到广泛应用的密码算法;DESDES是一种分组加密算法,输入的明文为是一种分组加密算法,输入的明文为6464位,密钥为位,密钥为5656位,生成的密文为位,生成的密文为6464位;位;DESDES是一种对称密码算法,源于是一种对称密码算法,源于LuciferLucifer算算法,其中采用了法,其中采用了FeistelFeistel网络网络((FeistelFeistelNetwork)Network),即,即DESDES已经过时,基本上认为不再安全;已经过时,基本上认为不再安全;://dir.yahoo.com/Computers_and_Internet/Security_and_Encryption/RSA/RSA_Secret_Key_Challerity_and_Encryption/RSA/RSA_Secret_Key_Challengenge//),(111iiiiiiKRfLRRL−−−⊕==cnitseccnitsec§§2.32.3IDEAIDEAXuejiaXuejiaLaiLai和和JamesMasseyJamesMassey提出;提出;IDEAIDEA是对称、分组密码算法,输入明文为是对称、分组密码算法,输入明文为6464位,密钥为位,密钥为128128位,生成的密文为位,生成的密文为6464位;位;IDEAIDEA是一种相对较新的算法,虽有坚实的理是一种相对较新的算法,虽有坚实的理论基础,但仍应谨慎使用论基础,但仍应谨慎使用((尽管该算法已被证尽管该算法已被证明可对抗差分分析和线性分析明可对抗差分分析和线性分析));;IDEAIDEA是一种专利算法是一种专利算法((在欧洲和美国在欧洲和美国)),专利,专利由由AscomAscom--TechAGTechAG拥有拥有;;PGPPGP中已实现了中已实现了IDEAIDEA;;cnitseccnitsec§§2.4RC2.4RC系列系列RCRC系列是系列是RonRonRivestRivest为为RSARSA公司设计的一系公司设计的一系列密码列密码::••RC1RC1从未被公开,以致于许多人们称其只出现在从未被公开,以致于许多人们称其只出现在RivestRivest的记事本上;的记事本上;••RC2RC2是变长密钥加密密法;是变长密钥加密密法;(RC3(RC3在设计过程中在在设计过程中在RSADSIRSADSI内被攻破内被攻破););••RC4RC4是是RivestRivest在在19871987年设计的变长密钥的序列密年设计的变长密钥的序列密码;码;••RC5RC5是是RivestRivest在在19941994年设计的分组长、密钥长的年设计的分组长、密钥长的迭代轮数都可变的分组迭代密码算法;迭代轮数都可变的分组迭代密码算法;DES(56),RC5DES(56),RC5--32/12/5,RC532/12/5,RC5--32/12/6,RC32/12/6,RC--32/12/732/12/7已分别在已分别在19971997年被破译;年被破译;cnitseccnitsec§§2.5AESCandidate2.5AESCandidate和和RijndealRijndealAESAES评选过程评选过程昀后的昀后的55个候选算法:个候选算法:Mars,RC6,Mars,RC6,RijndaelRijndael,,Serpent,andSerpent,andTwofishTwofishRijndaelRijndael算法的原型是算法的原型是SquareSquare算法,其设计算法,其设计策略是宽轨迹策略策略是宽轨迹策略(WideTrailStrategy)(WideTrailStrategy),以,以针对差分分析和线性分析;针对差分分析和线性分析;RijndaelRijndael是迭代分组密码,其分是迭代分组密码,其分组长度和密组长度和密钥长度都是可变的;为了满足钥长度都是可变的;为了满足AESAES的要求,的要求,分组长度为分组长度为128bit128bit,密码长度为,密码长度为128/192/