密码学课件 分组密码的使用_第1页
密码学课件 分组密码的使用_第2页
密码学课件 分组密码的使用_第3页
密码学课件 分组密码的使用_第4页
密码学课件 分组密码的使用_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密码学导论IntroductiontoCryptology主讲教师:李卫海第5章分组密码的使用分组密码的使用分组密码工作模式密码功能的应用对称密码系统的密钥管理秘密分享技术分组密码的使用分组密码工作模式密码功能的应用对称密码系统的密钥管理秘密分享技术NIST800-38A为将分组密码应用于各种实际场合,NIST在800-38A中推荐5种工作模式模式描述典型应用电码本(ECB)用相同的密钥分别对明文组加密单个数据的安全传输密文分组链接(CBC)加密算法的输入是上一个密文组和本次明文组的异或普通目的的面向分组的传输认证密文反馈(CFB)上一块密文作为加密算法的输入,产生j位伪随机数与明文异或普通目的的面向分组的传输认证输出反馈(OFB)与CFB基本相同,只是加密算法的输入是上一次DES的输出噪声频道上的数据流的传输(如卫星通信)计数器(CTR)每个明文分组都与一个加密计数器相异或。对每个后续分组计数器递增普通目的的面向分组的传输用于高速需求电码本模式(ECB)Electronic

Codebook

Book消息分组,各组独自加密就像一个巨大的密码本,对每个分组进行代换Count=1Count=2Count=N加密P1KC1加密P2KC2加密PNKCN解密C1KP1解密C2KP2解密CNKPN加密解密……

电码本模式(ECB)Electronic

Codebook

Book优点:可以并行运算适用于随机存储的数据传输错误不扩散,只影响所在块的正确解密缺点:当明文分组重复时,密文也重复格式化数据,将产生大量重复的密文若明文分组差别很小,对其破译就变为编码本的破译问题主要用于发送很少明文分组时例如,用主密钥加密会话密钥EPiKDCiKPi分组重放攻击ECB模式最严重的问题是允许对手选取部分分组进行重放攻击特别是针对按分组格式化的数据例如:Email中,若发件人和收件人姓名、邮箱各自独占一个或几个分组时,你的情书会发生什么?若银行帐号和用户名占用单独一个或几个分组时,你的钱会去到哪里?即使在消息中插入时间戳,只要时间戳独占分组,就可以进行交织攻击必须辅助以消息认证来保证完整性收件人A地址主题内容内容收件人B地址主题内容内容密文分组链接模式(CBC) Cipher

Block

Chaining上一次密文分组与本次明文分组异或,再加密IV是一个初始向量Count=1Count=2Count=N加密加密P1KC1加密P2KC2加密PNKCN…IVCN-1解密C1KP1解密C2KP2解密CNKPN解密…IVcN-1

密文分组链接模式(CBC) Cipher

Block

Chaining关于初始向量IVIV是公开的,等同于前面有一个虚拟分组若IV是固定的,则对相同的消息,将得到相同的密文对于字典攻击,攻击者需要对每个可能的密钥和IV对都建立一本字典字典只需建立在一个分组之上原则上要求用同一个密钥加密的消息所使用的IV不重复攻击者可以通过篡改接收方的IV,来任意改变接收方的第一分组明文,而不被发觉建议IV用ECB加密传输,或附加其他认证技术密文分组链接模式(CBC) Cipher

Block

Chaining前面的明文通过链接影响后面所有的密文扩散,密文分组依赖于它之前的所有明文分组可用于大量数据加密传输、认证注意:第一分组密文不受扩散影响错误传播:密文错误将导致的明文错误范围如某密文分组在传输中出错,错误将影响本分组和下一分组解密的明文,之后自动恢复正确解密(错误恢复)Ci-1EPiKCi-1DCiKPi密文分组链接模式(CBC) Cipher

Block

Chaining多重加密时的CBC单循环CBC三循环CBCEDEPnCnK1,K2Cn-1EPnCnK1An-1DK2EK1AnBn-1Cn-1Bn密文反馈模式(CFB)Cipher

FeedBack用加密算法产生伪随机序列,每次加密s位明文密文反馈s位进入b位移位寄存器值,做为输入CM-1加密P1KC1…IV选取s位b位加密P2K选取s位b位加密C2PMK选取s位b位加密CMs位s位s位s位s位s位s位s位解密C1KP1…IV选取s位b位加密C2K选取s位b位加密P2K选取s位b位加密PMCMCM-1

密文反馈模式(CFB)Cipher

FeedBack标准中,反馈位数取1、8、64、128记为CFB-1,CFB-8,CFB-64,CFB-128优缺点:不使用解密算法可以使用计算量不对称的密码算法适用于数据以比特/字节为单位准备好的场合数据流需要暂停以等待加密过程完成,速度受限传输误码将影响本分组及之后的若干分组,直至误码移出

移位寄存器,之后自同步适用于低误码率网络中流数据加密、认证PiK选s位b位ECi-1CiK选s位b位EPiCi-1Cis位s位s位s位输出反馈模式(OFB)Output

FeedBack与CFB类似,但反馈数据是伪随机序列OM-1加密P1KC1…IV选取s位b位加密P2K选取s位b位加密C2PMK选取s位b位加密CMs位s位s位s位s位s位s位s位解密C1KP1…IV选取s位b位加密C2K选取s位b位加密P2K选取s位b位加密PMCMOM-1

输出反馈模式(OFB)Output

FeedBack优缺点:反馈与明文无关,传输误码仅影响本比特位,不影响其它

比特,不传递收发双方需要同步研究表明,应当只使用全分组反馈,例如

OFB-64/128当反馈量与分组大小m相同时,产生密钥流平均周期为2m-1当反馈量小于分组大小m时,产生密钥流平均周期仅为2m/2是一种Vernam密码的变形同一密钥下,IV不应当重复使用可以通过修改密文直接篡改明文适用于噪声环境下流数据加密PiK选s位b位EOi-1CiK选s位b位EPiOi-1Cis位s位s位s位

插入攻击针对OFB、流密码等采用伪随机密钥流与明文异或的加密方式假设攻击者可以在明文中插入一个已知位,并用同一密钥流再次加密则攻击者可以依次恢复k2,p2,k3,p3,…甚至无需预先知道插入位的确切位置,只需从密文相异处开始即可永远不要用同一个密钥流加密两条消息,IV不可重复密钥流k1k2k3…原始明文p1p2p3…密文c1c2c3…插入明文p1p1'p2…密文c1c2'c3'…计数器模式(CTR)Counter与OFB类似,但无反馈,也无移位寄存器,加密算法的输入是计数器CounterCounter+1Counter+N-1加密加密P1KC1加密P2KC2加密PNKCN…CounterCounter+1Counter+N-1解密加密C1KP1加密C2KP2加密CNKPN…

计数器模式(CTR)Counter优缺点:高效可并行进行各加密单元可预先处理可应对突发高速链接可随机解密任何密文分组无需顺序解密可证明与其他模式同样安全结构简单,不需要解密算法同一密钥下,计数器值不应重复使用可用于高速网络数据加密其他分组密码工作模式分组链接模式BC明文与前面所有的密文分组进行异或扩散密码分组链接模式明文分组与前一个明文分组及其密文分组相异或带校验和的密码分组链接最后一个明文分组与前面的所有明文分组相异或带非线性函数的输出反馈每个分组使用一个子密钥,子密钥由原始密钥反复加密得到明文分组链接明文反馈链接等等交错技术在多数分组链接模式中,某一分组的加密/解密依赖于前一分组运算的结果,不利于并行处理交错技术是将明文分组划分为多个交错的序列,分别进行分组链接,从而实现并行处理例:当加密器包含四个加密芯片时,可以将明文分组划分为p1,p5,p9,…;p2,p6,p10,…;p3,p7,p11,…;p4,p8,p12,…四个序列,使用四个不同的IV进行并行处理,每个芯片负责一个序列的加密P1P5P9P13P2P3P4P6P10P14P7P11P15P8P12P16……………………核1核2核3核4明文填充明文末尾可能有不足一个分组的数据,需要填充在消息开头标明消息实际长度,末尾随机填充约定消息结束标志:文中不能出现该标志,操作较麻烦,一般不同末尾填充固定格式数字例如:[b1b2b300005]表示末尾填充了5个字节这可能导致需要一个新的分组:当恰好不需要填充时,仍需补充一个完成分组,以避免歧义其他填充方式PaddingOracle攻击

解密C1P1解密C2P2IVX明文填充密文挪用模式CBC-CTSX不传输加密加密PN0...0KCN-1加密PN-1KCNXCN-2解密解密PNKCN-1解密PN-1K

XCNXCN-2明文填充另一种处理末尾不完整分组的方案加密加密PNKCN加密PN-1KCN-1选左侧j位CN-2解密加密PNKCN解密PN-1KCN-1选左侧j位CN-2这种模式下,攻击者可以通过篡改CN中特定位来改变明文特定位,而不引起大范围的错误。可变分组密码通过可变反馈,构造概率型密码加密加密PjKCjNoncej哈希解密解密CjKPjNoncej哈希可变分组密码加密AES加密PjK1CjNonceiAES加密K2αj解密AES解密CjK1PjNonceiAES加密K2αj面向分组存储设备的XTS-AES模式不同位置j的相同明文,加密得到不同密文分组密码的使用分组密码工作模式密码功能的应用对称密码系统的密钥管理秘密分享技术密钥管理概念密钥管理原则:密钥难以窃取在一定条件下即使窃得密钥也无用超过使用时间和范围限制密钥分配和更新对用户透明密钥管理内容:产生密钥、分配密钥、验证密钥、使用密钥、更新密钥、销毁密钥、存储密钥、备份密钥、密钥有效期、泄漏密钥处理、密钥证书、……密钥管理:产生密钥密码系统的安全性在算法层面取决于算法强度和密钥长度算法强度更重要,但很难评估选择那些久经考验的算法正确的使用这些算法密钥长度容易描述,给出安全性的上限仅从密钥长度考虑,多长的密钥可以提供足够的安全?假设密码算法足够好,仅可进行穷举法攻击密钥的长度L,穷举攻击所需时间至多2L对称密码密钥长度的选择密钥长度越大越好?加密更安全密钥管理更加困难生成密钥的成本增加密钥分配管理更困难分配、更新、存储等等密码算法的计算成本增加运算量增加硬件成本增加消息传输的延迟增加在保证安全的前提下,倾向于选择较短的密钥专用硬件穷举攻击硬件攻击的花费需要专用硬件设备和大规模并行运算摩尔定律:大约每18个月计算机的计算能力就翻一番推论:每5年同等性能计算机的价格会下降到原来的10%是否进行硬件攻击,取决于消息的价值DES的例子我们很难评估敌人投入的硬件成本网络协作穷举攻击大规模网络合作结点数量:数百?数万?数百万?1997年对DES的攻击,78000个IP地址参与,96天搜索了1/4的密钥空间运气,是破译者的天使我们不讲运气,算概率假设一台机器一天内破译的概率是p,那么M台机器合作在一天内破译的概率是Mp对DES,假设一台设备每秒尝试100个密钥,一天尝试8.64×106,破译概率p≈2.4×10-10。中国10亿台PC或智能手机合作,一天破译的概率是24%若M个用户独立随机测试密钥,则攻击减慢,一天内破译的概率降为1-(1-p)M上述概率变为21%,仍很可观有人提意制作无恶意的病毒,利用机器空闲时间完成协作破译,并通过网络扩散破译结果新兴技术穷举攻击神经网络/遗传技术/机器学习/AI/大数据:作用不大它们擅于处理那些解会逐渐变好的问题密码问题通常没有提供太多“学习”的机会生物工程技术生物芯片:让单个生物细胞具有穷举和检验密钥的能力科幻?规模仍然很小恐龙,约1014个细胞——246个海藻,体积约10-15m3,制备1m3的海藻大约将覆盖深1m、518平方公里的海洋——234个新兴技术穷举攻击量子计算技术可以同时测试2N个密钥量子计算机的难点量子位数的物理控制量子位的初值设定,与结果的读取通用量子门电路的设计量子门的运算速度必须比“退相干”快得多。量子的“退相干”会使得量子计算机极不稳定设每个量子门存在很小的错误概率p,整个系统由N个量子门组成,则成功运行一次所需实验次数为(1/(1-p))N若p=0.01,N=10000,则成功运行一次需要实验1043次短期内似乎还难以真正威胁到现代密码系统热力学的局限性热力学第二定律:封闭系统的热力学变化趋势是熵增加熵增加,即所有粒子状态的随机性更均匀信息的表达是随机性的减少,需要提供额外的能量兰道尔原理Landauer'sprinciple:通过改变系统的状态,记录或消除1位信息所需的能量不少于kTln2≈kTT是系统的绝对温度k是Boltzman常数,k=1.38×10-16erg/K布雷莫曼极限Bremermann‘sLimit:单位质量物质在单位时间内释放能量可记录或消除的比特数为1.36×1050bits/second/kilogram热力学的局限性用理想计算机进行穷举在宇宙环境温度(3.2K)下设置或清除1位将消耗4.4×10-16erg能量若工作于更低的环境下,则必须有额外的能量来运行热泵太阳每年辐射1.21×1041erg,可改变2.7×1056

位,即穷举187位若考虑到宇宙中所有的辐射能量,则可以穷举219位可以断言:对256位密钥进行穷举是绝对行不通的此结论是针对传统计算机得出的密钥管理:密钥生成生成密钥时,还必须考虑:密钥生成算法要足够安全,其安全性不应低于密码算法的安全性避免选择弱密钥——字典攻击便于记忆的,往往是便于攻击的使用通行短语增加难度ppnn13%dkstFeb.1st 娉娉袅袅十三余,豆蔻梢头二月初RMdkwtg.TH19XCF 人面不知何处去,桃花依旧笑春风hold?fish:palm 鱼与熊掌不可兼得使用长密钥——HASH——实际密钥密钥管理:密钥生成ManuelBlum(1995年图灵奖获得者)提出一种方案,为将要登录的网站设置一种“人类可计算”的密码设置一个固定的6×6的个人私钥矩阵,将26个字母、10个数字填充进去(像是hill密码的矩阵初始化)设置一个固定算法,例如:假定要登录的网站是amazon在矩阵中先找到第一个字母‘a’,用它北面的字母进行替代;再在矩阵中找到第二个字母‘m’,用东面的字母进行替代;接下来第三个字母用南面的字母进行替代;第四个字母用西面的字母进行替代;以此类推直至将整个网站名编码。编码结果就是密钥。例如:amazon可能被替换为5FHX7E更进一步:当用‘a’北面的字母替换a时,也将矩阵中这两个字母对调,那么....复杂到什么程度是人可以胜任的?人方便胜任的?密钥管理:分配密钥密钥分发可以采用的多种方法A产生密钥,并由人员送给B由一个可信第三方产生密钥,并由人员分发给A和B若A和B都与可信第三方C有一个秘密信道,则可由C中转、或分发来完成密钥分配分散式密钥管理的困难目标是每个成员都能够与其他成员以安全方式通信预先给每两个成员间都分配一对密钥是不可取的数量庞大:N个成员需要的密钥数量是[N(N-1)]/2维护困难:存储、更新不支持成员的变动动态密钥分配机制需要考虑如何安全地分配密钥密钥需要经常更换密码系统的安全漏洞往往出在密钥分配方案上集中式密钥分配中心(KDC)密钥分配中心KDC是可信的KDC负责给需要的用户分发临时会话密钥每个用户与KDC共享一个密钥(主密钥),用于加密密钥(会话密钥)密钥的层次式化管理主密钥用于用户与KDC之间联络,传递会话密钥KDC负责完成密钥的中继或分发用户之间用会话密钥加密需要传输的数据每次通信都产生一个新的会话密钥,过后作废主密钥一般利用非对称密码途径分发,采用非密码

手段保存……KDC用户主密钥会话密钥KDC的层次化KDC的问题:KDC的工作量与用户数量有关KDC可能受到攻击KDC的层次化控制建立一系列KDC,各个KDC之间存在层次关系使得主密钥分配所涉及的工作量减至最小将出错或受到破坏的KDC的危害限制在它的本地区域………………………KDC用户一个简单的密钥分配方案A和B各自拥有与KDC共享的主密钥KA和KB:A向KDC发出请求,要求得到与B通信的会话密钥KDC用KA加密传送给A如下内容:一次性会话密钥KS原始请求报文用KB加密的要发给B的会话密钥KS和A的标识符IDAA得到会话密钥KS并将有关信息发给BA和B之间进行认证,并正式秘密通信一种对用户透明的密钥管理方案密钥管理:验证密钥Bob收到Alice的密钥时,如何确认它来自Alice?Alice亲自送来,没有问题Alice通过可靠信使送来,Bob必须相信该信使由Alice主密钥加密,Bob必须相信主密钥没有外泄由Alice数字签名,Bob必须相信Alice的公钥数据真实由可信第三方数字签名,Bob必须相信可信第三方的公钥数据真实Bob需要验证收到的密钥是正确的附带一个用该密钥加密的密文来验证密钥的正确性对比密钥的哈希值结合身份认证密钥管理:使用密钥重复使用同一密钥是不安全的给攻击这提供大量密文素材容易导致泄漏可能存在重播攻击密钥的层次化管理会话密钥(工作密钥sessionkey)用于加密本次会话的明文密钥丢失,仅影响本次会话;更换密钥,防止对方以后窃取信息。主密钥构成密钥管理系统之核心,用来分配会话密钥会话密钥按照某种密钥协议来生成,受主密钥保护密钥的连通与分割所有应用都使用同一个密钥是不安全的应根据用途不同而定义不同类型密钥数据加密密钥个人标识号PIN加密密钥文件加密密钥等等密钥的连通:密钥共享的范围密钥的分割:适用范围和时间限制按范围分割按时间分割分割实现:静态/动态密钥的连通与分割在密钥中嵌入标记,限制密钥的使用方式如DES的8位非密钥比特1比特指示此密钥是主密钥还是会话密钥1比特指示此密钥是否可以用于加密1比特指示此密钥是否可以用于解密其余比特用作其它用途控制向量的方案控制向量长度没有限制,可实现任意复杂的控制控制向量始终是明文,可多次运用或叠加非线性密钥空间如何防止敌方缴获我方密钥设备后,实施黑盒分析?方法:让敌人使用这些设备时得不到“好”的加密算法中要求使用有特殊形式的密钥,否则用弱算法执行加密即不同密钥的安全强度不同!一种实现方法:密钥分为两部分,前一部分是密钥本身,后一部分是用密钥本身加密某个固定字符串得到的密文设备执行时,先用前面的密钥本身解密后面的字符串,若解密结果与固定字符串相同,则正常工作;否则就用一个弱加密算法若前部分密钥128位,字符串64位,则密钥总长度192位有效好密钥共2128个,敌方从2192个密钥中随机选择一个,选中好密钥的机会为2-64密钥本身识别串密钥管理:更新密钥从旧密钥出发获得新密钥用旧密钥计算用旧密钥协商注意旧密钥的泄露会危及新密钥重新认证双方身份并分配密钥旧密钥必须妥善销毁密钥管理:销毁密钥旧密钥必须安全地销毁记忆在脑中:必须忘记写在纸上:必须烧毁或粉碎(用优质粉碎机),必要时粉碎后烧毁存储在EEPROM中:多次擦写存储在EPROM或PROM中:粉碎存储在硬盘中:多次擦写密钥存储位置,或粉碎密钥管理:存储密钥用户记忆,需要时输入系统难记,输入慢,可能出错密钥加密存储在硬盘上加密密钥一部分存在硬盘上,一部分以口令输入基于口令的密码PBE:将h(口令)视为密钥加密密钥(KEK),用于加密会话密钥,将密文存储在表中,丢弃h(口令)。解密时重建h(口令),解密获得会话密钥保存在即插即用物理设备中要确保不会丢失要确保只能被特定设备/软件读出目前最好的办法:将密钥和密码算法集成在即插即用设备上,输入明文,输出密文密钥管理:备份密钥密钥的保存集中保存分散保存密码丢失了,怎么办?密码保管人可能出意外,保存密码的设备可能出意外密钥托管,由特定安全官掌管备份的密钥安全官可靠么?安全官也可能出意外密钥备份数量与保密性是相互矛盾的备份越多越可靠,但泄露的风险也越大密钥分片/分享是一种解决方案密钥托管——美国Clipper计划法院授权的搭线窃听是防止犯罪的有效方法之一公民使用弱的密码系统?公民事先把私钥交给政府?Clipper计划中的密钥托管所有数字通信(包括音、视频)的加密都必须使用经政府批准、统一生产的防篡改的加密芯片实现每个加密芯片有唯一ID号和设备唯一密钥KUKU分两个部分,与ID号一起由两个托管机构存储芯片加密数据时,先用KU加密会话密钥,并发布当法院授权窃听时,从托管机构收集并重建KU,解密会话密钥,进而解密消息密钥管理:密钥有效期为什么要有效期?密钥使用时间过长,计算能力的提升,可能使得“不会被破译的密钥”被破译密钥使用时间过长,攻击者可能找到破解的方法密钥使用时间越长,泄漏的机会越大同一密钥加密的消息越多,破译越容易若密钥已泄漏,则用得时间越长,损失越大密钥使用越久,破译它的诱惑就越大例外:加密密钥的密钥无需频繁更换加密文件的密钥不能经常更换这些密钥必须妥善保管密钥管理:密钥有效期、密码生命期密码生命期包括加密方使用期限(OUP)和解密方使用期限(RUP)加密方使用期限是指可用于数据加密的时间段解密方使用期限是指数据保持被该密钥加密的密文形式直到解密的时间段若考虑到网络传输延迟,RUP可能比OUP晚开始一段时间一般RUP的结束时间远远超出OUP的结束时间密码生命期从OUP的开始一直延伸到RUP的结束OUPRUP密码生命期会话密钥的使用寿命会话密钥更换越频繁就越安全但频繁更换密钥会影响网络性能:通信时间,网路容量对于面向连接的协议每次会话使用新的密钥若会话时间很长,或通信量很大,需要周期性的改变会话密钥对于无连接的协议每次交互使用新的密钥或者每隔固定时间更新会话密钥或者对于一定数量的交互使用一个会话密钥分组密码的使用分组密码工作模式密码功能的应用对称密码系统的密钥管理秘密分享技术密码系统的选择加密算法的选择公开发表的加密算法政府指定的加密算法著名厂家产品?专家推荐的加密算法?密码算法的实现方式软件加密是可怕的在内存中有密钥的副本;多线程操作系统,进程被挂起;内存被存在硬盘页面文件上硬件加密相对更安全存储数据的加密硬盘级加密:密钥管理简单,不支持随机文件解密,加解密工作量大文件级加密:灵活,单一密钥则给攻击者的素材太多,多密钥则管理麻烦安全隐患从同一局域网上其他工作站发起的窃听使用拨号或外部路由进入局域网进行窃听潜入配线室窃听在外部链路上对通信业务的监听和修改密码技术对通信网络的保护基本方法:链路加密、端到端加密链路加密每个链接独立加密结点需要解密、加密操作,结点处消息为明文需要更多加/解密设备及成对的密钥端到端加密在初始源与最终目的之间加密每个终端需要加/解密设备和共享密钥存储转发通信网络中的加密覆盖范围OSI框架七层协议TCP/IP协议链路加密端到端加密图解七层协议图解七层协议图解七层协议存储转发通信网络中的加密覆盖范围将加密设备用于端到端协议例如:网络层,TCP层可以提供整个网络的端对端的安全性不能用于网络之间的服务将加密设备用于应用层越高的层次,所需加密的信息越少,而安全性越高但涉及的实体太多,所需的密钥也太多流量分析攻击使用端到端加密时,必须保留数据包头不加密,保证网络能够获得正确的路由信息通信内容可以保护,通信流量模式无法保护,可以获得哪些通信实体参与了通信过程,甚至他们的身份、关系等通信双方的通信频率消息格式、长度、数量,并可由此推断是否有重要消息被传输特定通信双方特定会话内容所涉及的事件曙光网络流量识别分析系统SUNA流量分析攻击的防御一种办法是在传输层或应用层把所有数据单元都填充到一个统一的长度,以防止攻击者获得端用户之间交换的数据量信息流量填充(trafficpadding)可以保护数据流量信息代价是持续的通信另一种方案:端到端加密全程保护数据内容,并提供认证链路加密保护数据包头信息,但网络全局流量仍可被监听分组密码的使用分组密码工作模式密码功能的应用对称密码系统的密钥管理秘密分享技术秘密分享的作用为防止密钥丢失(或被毁),应建立副本备份备份越多,越容易泄露备份越少,越容易丢失(或被毁)重要机构必须由数个人共同合作才能完成某件工作例如:打开银行金库的大门,启动核导弹发射程序秘密分享:不增加备份数量的情况下,增加可靠性由n个用户中的t个用户相互协作,完成某些重要任务(t,n)门限方案Shamir于1979年提出将一个秘密K分解成n个影子(shadow,或称为分享)k1,k2,…,kn设计一个算法,使得只要有t个ki,计算K是容易的;从任何少于t个ki,计算K是不可能的。当t=n时,有时又称作秘密分割此时,算法可以简单的用异或实现引入n-1个随机数,将它们、以及它们与秘密的总的异或值作为影子拉格朗日插值多项式法

(LagrangeInterpolatingPolynomialScheme)选择一个域GF(p),素数p>K,p>n每个影子由t-1次的随机多项式导出:h(x)=(at-1xt-1+…+a1x1+a0)modp常数项a0即为秘密K,即a0=K其他系数为随机数给定h(x),则秘密K=h(0),分享ki=h(xi),i=1,…,nx1,x2,…,xw无需保密,常取1,2,3,…拉格朗日插值多项式的重建只需要t个点就可以唯一地重组t-1次的多项式,恢复秘密t-1次多项式必须要t个点才可以唯一确定任意给定t个影子,k1,k2,…,kt,多项式h(x)可以由拉格朗日插值多项式给出:所有运算在GF(p)里进行,除是由乘模p的逆实现的拉格朗日插值多项式的证明假设已有t个影子k1,k2,…,kt设多项式为h(x),则采用基分解的处理方法,先求解如下方程组拉格朗日插值多项式的证明考虑第一个方程组有类似地可以解出所有方程组代回原同余方程组,即得证拉格朗日插值多项式例

高级门限方案可以构造复杂的共享方案若某人比其他人重要,可以分配给他更多的影子可以按各人的重要程度分配不同数量的影子设想需要在两个敌对代表团之间共享秘密设A代表团7人,B代表团12人,需要由来自A团的2人和来自B团的3人一起才能恢复秘密多项式构造为一个三次多项式,它是一个一次多项式(给A团分配影子)和一个二次多项式(给B团分配影子)的乘积其它门限方案实现方法矢量方案将秘密映射为t维空间中的一个点每个影子是包含这个点的(t-1)维超平面方程任意t个超平面的交点即是秘密Karnin-Greene-Hellman矩阵方案选择n+1个t维向量V0,V1,V2,…,Vn(公开),使得任意t个向量所构成的矩阵的秩为t。向量U是t维行向量。秘密为U·V0,影子是乘积U·Vi(1<i<n)任意t个影子能够用来解t元线性方程组,确定U。特定情景中的秘密分享有骗子的秘密共享情景1:重构秘密时,合法用户故意输入错误影子某个拒绝总统命令不愿意发射导弹的将领,在输入影子时故意输入错误数字,使得秘密不能恢复。普通方案无法发现究竟是谁在破坏情景2:重构秘密时,非法用户在参与过程中窃取他人影子非法用户可以偷看别人的影子,可以在算法中设法推演出他人影子的信息,可以当t个合法用户恢复秘密后构建自己的合法影子不暴露影子的秘密共享重建秘密时不直接展示各人的影子例如,当秘密是所有人共同数字签名的私钥时,每个人独立签名后,文件就已经用共同的私钥签名了特定情景中的秘密分享没有仲裁者的秘密共享在某种场合下,没有可信的仲裁者来制造影子如果有人知道核弹发射的最终密码,并由他来为其他将领分配影子,则这个人有机会独自发射核弹需要一种算法,由合法参与者来共同生成影子,但没有人知道秘密设想秘密是在某个设备中秘密生成,参与者可以用它来计算,但不能读取秘密可验证的秘密共享影子持有人如何知道自己的影子是正确的?合法参与者如何验证某个可疑对象的影子正确与否?通过重建秘密可以验证,但那样秘密就泄露了特定情景中的秘密分享带预防的秘密共享对于已构建的(t,n)方案,如果想提高为(t',n)方案,如何做?带除名的秘密共享对于已构建的(t,n)方案,如果想除名一个参与者,如何做?完作业1. 填满下表中的剩余位置:2. 在DES的ECB模式中,若在密文的传输过程中,某一块发生了错误,则只有相应的明文组会有影响。然而,在CBC模式中,这种错误具有扩散性。比如,密文分组C1发生的错误将会影响明文分组P1和P2。a. P2以后的哪些分组会受到影响?b. 假设P1在加密前就有一位发生了错误,则这个错误要影响多少个密文分组?对接收者解密后的结果有什么影响?操作模式加密解密ECBCj=E(K,Pj)j=1,…,NPj=D(K,Cj)j=1,…,NCBCC1=E(K,[P1⊕IV])Cj=E(K,[P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论