您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 安全协议与标准01b-密码学与PKI提要
B应用密码学与PKI介绍linfb@sdu.edu.cnB目录•对称加密技术↓–moreOP-MODE↓•公钥密码技术↓•认证和Hash算法↓•数字签名↓•PKI原理↓•PKI应用与实验↓•案例分析B加密技术基本术语•明文、密文plaintext,cipher•密钥key•加密算法、解密算法encryption,decryption•密码分析(攻击者行为)•密码算法vs.密码协议原理vs.标准–algorithmvs.protocol–cryptographicB加密算法分两类•对称加密算法symmetriccryptography–解密时使用和加密时相同的密钥•非对称加密算法asymmetriccryptography公钥算法public-keycryptography–解密时使用不同的密钥–公钥、私钥B对称密码体制图示•对称加密B对称加密的数学抽象Alice加密E(P,K)=CBob解密D(C,K)=P1、Key只有A、B知道2、函数E、D公开,且一般D=EB安全性分类•无条件安全性–即使攻击者有无限的计算能力,也不能得出明文–符合该特性的算法都归为one-timepad,不便实用•有条件安全性/计算安全性–假设攻击者拥有的计算能力有限,则在合适的时间内不能得到明文–密码学上主要考虑满足该特性的算法B对称加密算法的两种形式•分组密码算法blockcipher–明文分块叫分组,典型64或128bits(8/16字节)–每个分组使用相同的密钥加密•流密码算法(序列密码)streamcipher–使用密钥做为随机数种子,用产生的伪随机序列和明文序列XORB常用的对称加密算法•DES(Lucifer)–第一代美国(国际)标准,1970s~2000•AES(Rijndael)–第二代,2000+•RC4–非常流行的流密码算法,灵活又快速•IDEA、CAST、RC5/6、Blowfish/Twofish、BDES•LuciferbyFeistel,IBM•分组64bits•密钥56bits•Feistel体制•16轮•常量S盒,8个小表•FIPS-46BDESOverviewB神秘的S盒(Substitutionbox)B续BDES工作模式•DES算法每次处理64位/8个字节,如何用来加密大消息/文件?•推荐的4种工作模式–ECB–CBC–OFB–CFB–CTS–CT–B电子密码本方式ECB:ElectronicCodebook•报文被顺序分割分成8字节分组–各个分组独立加密,解密时需等齐整个分组–必要的填充*优点–并行加密、随机存取*缺点–Padding–相同的明文分组对应着相同的密文分组,暴露了统计规律,也存在替换、窜改、乱序重排等威胁BECB•B密码分组链接方式CBC:CipherBlockChaining•明文分组被加密前先和前一个密文异或–初始向量(initializationvector)被视为第0个密文(IV不必保密,但必须一致)*优点–避免明密对应–还可以用做鉴别码(authenticationcode)*缺点–等待缓冲区凑足8字节分组,否则需padding–不能并行加密、随机存取BCBC•B其他模式•CFB•OFB•CTS•CTRBCFB:CipherFeedback密码反馈方式•IV64bit,IV用Key加密得到R–IV不必保密,但是必须相同•明文s比特,与R的高位s比特XOR,得密文s比特•s比特的密文同时从R的低位进入,挤掉R的高位的s比特*优点–流密码streamcipher–也有校验的效果BCFB•BOFB:OutputFeedback输出反馈方式(也是一种流方式应用)•重复加密初始向量IV,获得密钥流IV不必保密,但是双方得一致•明文与之XOR*优点–比特错误不会扩散(自同步,适合卫星通信)*缺点–正是优点的反面BOFB•BCTR:CounterMode计数方式(也是一种流方式应用,但是可以非顺序存取)•重复加密初始counter++,得密钥流•明文与之XOR•优点–适合随机存取*注意:–Counter的初值须不能预测BCTR•BCBCRC5模式之CTS:CiphertextStealingMode•CN-1DecPNCNX+XCNDecPN-1+KCN-20KBDES标准文档•FIPS46-3,DataEncryptionStandard(DES)–•DES实现–OpenSSL–MicrosoftCryptoAPIBDES应用实例分析•/etc/passwd|shadow–username:Npge08pfz4wuk:503:100:FN:/home/username:/bin/sh–char*crypt(constchar*key,constchar*salt);BZipcrackersample•AdvancedZIPPasswordRecoverystatistics:•EncryptedZIP-file:sdjfks.zip•Totalpasswords:2,091,362,752•Totaltime:6m58s725ms•Averagespeed(passwords/s):4,994,597•Passwordforthisfile:7uee23•PasswordinHEX:377565653233BDES已不再安全•使用穷举密钥攻击,如果每秒能尝试100万个密钥(70s),则约需要1000年才能枚举完所有2^56个密钥。•使用特制的专用硬件芯片,结合互联网分布式计算,最快曾经在1天内攻击成功。B“DeepCrack”HardwareCracker•DevelopedbytheElectronicFrontierFoundation•Cost–$80,000design–$210,000materials(chips,boards,chassisetc)•ChipbyAdvancedWirelessTechnologies–40MHz/16cyclesperencryption=2.5millionkeys/s–24searchunitsperchip,64chipsperboard,29boardsinto6cabinets•90billionkeys/s,solvedRSA’sDES-IIIin22hours–Jan18,1999–37,000searchunits–c.f.DistributedNet’s34billionkeys/sB3DES•关于2DES•关于3DESBAES•“Rijndael”•分组128bits•密钥128bits(也可192/256)•常量S盒–使用有限域GF(2^8)构造•1+9+1轮•FIPS-197BAESOverview•B1RoundBS-boxinAESx/y0123456789ABCDEF•0637C777BF26B6FC53001672BFED7AB76•1CA82C97DFA5947F0ADD4A2AF9CA472C0•2B7FD9326363FF7CC34A5E5F171D83115•304C723C31896059A071280E2EB27B275•409832C1A1B6E5AA0523BD6B329E32F84•553D100ED20FCB15B6ACBBE394A4C58CF•6D0EFAAFB434D338545F9027F503C9FA8•751A3408F929D38F5BCB6DA2110FFF3D2•8CD0C13EC5F974417C4A77E3D645D1973•960814FDC222A908846EEB814DE5E0BDB•AE0323A0A4906245CC2D3AC629195E479•BE7C8376D8DD54EA96C56F4EA657AAE08•CBA78252E1CA6B4C6E8DD741F4BBD8B8A•D703EB5664803F60E613557B986C11D9E•EE1F8981169D98E949B1E87E9CE5528DF•F8CA1890DBFE6426841992D0FB054BB16BS-boxinAES(逆)x/y0123456789ABCDEF•052096AD53036A538BF40A39E81F3D7FB•17CE339829B2FFF87348E4344C4DEE9CB•2547B9432A6C2233DEE4C950B42FAC34E•3082EA16628D924B2765BA2496D8BD125•472F8F66486689816D4A45CCC5D65B692•56C704850FDEDB9DA5E154657A78D9D84•690D8AB008CBCD30AF7E45805B8B34506•7D02C1E8FCA3F0F02C1AFBD0301138A6B•83A9111414F67DCEA97F2CFCEF0B4E673•996AC7422E7AD3585E2F937E81C75DF6E•A47F11A711D29C5896FB7620EAA18BE1B•BFC563E4BC6D279209ADBC0FE78CD5AF4•C1FDDA8338807C731B11210592780EC5F•D60517FA919B54A0D2DE57A9F93C99CEF•EA0E03B4DAE2AF5B0C8EBBB3C83539961•F172B047EBA77D626E169146355210C7DBAES标准文档•AES-AdvancedEncryptionStandard-FIPSPUB197–•AES实现–OpenSSL–MicrosoftCryptoAPIB使用对称算法•为传输而加密vs.为存储而加密•□(0)考虑需求(1)选定算法(2)产生密钥(2.1)自动产生密钥vs.从口令衍生密钥(3)遵循标准,如PKCS#5B对称密码体制的缺陷•使用对称算法时,接收/解密方必须持有和发送/加密方一模一样的密钥•把密钥传递给接收方通常是困难的–因为至少传递密钥时,不能使用和传输密文同样的信道B非对称加密•1976年,Diffie和Hellman指明方向•公钥加密,私钥解密BDiffie-Hellman密钥交换协议•选取公开参数:大素数q,Zq的生成元g•A选择随机数Xa,B选择随机数Xb•A计算Ya=g^Xamodq,B计算Yb=g^Xbmodq•交换Ya,Yb•A计算K=Yb^Xamodq,B计算K'=Ya^Xbmodq•事实上,K=K'•Diffie-Hellmankeyagreementisnotlimitedtonegotiatingakeysharedbyonlytwoparticipants.BDiffie-Hellman密钥协商标准文档•RFC-2631,2409/3526–RFC2631Diffie-HellmanKeyAgreementMethod–RFC2409TheInternetKeyExchange(IKE)–RFC3526MoreModularExponential(MODP)Diffie-HellmangroupsforInternetKeyExchange(IKE)•U.S.Patent4,200,770,nowexpired,describesthealgorithmandcreditsHellman,Diffie,andMerkleasinventors.BRSA算法•1977年,Rivest,Shamir&Adleman提出•基于大数分解难题–解密n=pq是困难的•公钥密码算法事实上的标准,PKI的支柱BRSA加密算法•找素数,典型选取两个512bit的随机素数p,q•
本文标题:安全协议与标准01b-密码学与PKI提要
链接地址:https://www.777doc.com/doc-1256904 .html