还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
神秘密码密码学入门欢迎来到《神秘密码密码学入门》课程在这个信息时代,密码学已成为保护数据安全和隐私的关键技术本课程将带您揭开密码学的神秘面纱,从古老的加密技术到现代密码算法,全方位探索这个既古老又现代的学科无论您是对密码学感兴趣的初学者,还是希望深入了解信息安全基础的专业人士,本课程都将为您提供系统的知识框架和实用的技术讲解,帮助您理解保护信息安全的核心原理课程概述密码学的定义密码学的重要性12密码学是研究如何在敌手存在随着数字化程度的提高,个人的环境中安全通信的科学它隐私和商业机密面临越来越多不仅关注信息的加密和解密,的威胁密码学为保护敏感信还涉及身份验证和数据完整性息、确保电子交易安全和验证验证等重要领域在当今数字用户身份提供了关键技术支持,世界,密码学已成为保障网络是现代信息安全体系的核心组安全的基石成部分课程内容安排3本课程将从密码学基础概念开始,依次介绍古典密码、现代对称密码、公钥密码系统、密钥管理、数字签名、密码协议以及密码分析与攻击等内容,最后展望密码学的未来发展方向第一部分密码学基础定义与目标基本元素密码学是研究如何安全通信的科学,主要1包括明文、密文、加密算法、解密算法和目标是确保信息机密性、完整性和可用性2密钥等核心要素理论基础应用领域4基于数学,特别是数论、概率论和复杂性广泛应用于电子商务、数字支付、网络通3理论等数学分支信和国家安全等众多领域密码学作为一门交叉学科,结合了数学、计算机科学和电子学等多个领域的知识它不仅是一门技术,也是一门艺术,平衡着安全性、效率和实用性在开始深入学习之前,理解这些基础概念对掌握后续内容至关重要密码学的历史古埃及时期1早在公元前1900年,古埃及人就在墓碑上使用非标准象形文字作为一种简单的加密方式,这可能是最早的密码学应用之一古罗马时期2凯撒大帝使用了简单的字母替换加密方法来保护军事通信安全,这就是著名的凯撒密码,被认为是系统化密码学的起点中世纪与文艺复兴3阿拉伯数学家首次使用频率分析破解替换密码;欧洲出现了更复杂的多表替换密码如维吉尼亚密码现代密码学诞生4二战期间,英国布莱切利园的密码学家破解德国恩尼格玛密码机,图灵等人的工作奠定了现代密码学和计算机科学的基础密码学的基本概念明文()密文()加密()Plaintext CiphertextEncryption指原始的、未经加密的信息,是需要保指经过加密算法处理后的信息,呈现为将明文转换为密文的过程,通常需要使护的内容明文可以是文本文档、图片、不可直接理解的形式好的密文应当看用特定的算法和密钥加密是实现信息视频或任何形式的数据在密码学中,起来完全随机,不泄露任何关于明文的机密性的主要手段通常用表示明文信息在密码学中,通常用表示密P C文解密()密钥()Decryption Key将密文恢复为明文的过程,需要使用相应的算法和正确的密钥控制加密和解密过程的参数,是密码系统安全性的核心密钥只有授权的接收者才能成功完成解密过程可以是数字、字母或它们的组合,密钥空间的大小直接影响系统的安全性密码系统的分类对称密码()非对称密码()Symmetric CryptographyAsymmetric Cryptography也称为共享密钥密码学,使用相同的密钥进行加密和解密这类也称为公钥密码学,使用一对密钥公钥和私钥公钥可以公开系统计算效率高,适合处理大量数据,但面临密钥分发和管理的分享用于加密,而私钥必须保密用于解密这解决了密钥分发问挑战题,但计算效率相对较低典型算法包括、和等对称密码进一步分为分组密典型算法包括、和等非对称密码除了DES AESRC4RSA ECCDiffie-Hellman码和流密码两类,分别适用于不同的应用场景用于加密外,还可用于数字签名和身份认证等重要应用密码学的基本原则柯克霍夫原则香农理论最小特权原则由荷兰密码学家奥古斯由信息论之父克劳德香在密码系统设计中,每·特柯克霍夫于年农提出,他证明了一次个组件或用户只应获得·1883提出,该原则指出密一密()完成其任务所需的最低One-Time Pad码系统的安全性应该仅是唯一在信息论意义上权限这限制了潜在安依赖于密钥的保密,而无条件安全的加密系统全漏洞的影响范围,是不是算法的保密即使香农的工作为理解密码现代密码系统设计的重攻击者完全了解系统的系统的安全性提供了理要原则工作原理,只要不知道论基础,尤其是关于混密钥,系统仍然应该是淆()和扩Confusion安全的散()的概念Diffusion第二部分古典密码替换密码1通过将明文中的每个字符替换为另一个字符来加密置换密码2通过改变明文中字符的位置来加密组合密码3结合替换和置换技术的更复杂加密系统古典密码是密码学发展的起点,虽然它们的安全性无法满足现代需求,但研究古典密码有助于理解基本的加密原理和攻击方法它们使用的替换和置换技术也是现代对称密码算法的基础接下来,我们将详细介绍几种重要的古典密码系统,分析它们的工作原理、加密解密过程,以及可能的攻击手段通过这些研究,我们可以了解密码系统设计的基本思想和安全性考虑替换密码定义替换密码是一类通过将明文中的每个字符(或字符组)系统性地替换为另一个字符(或字符组)来实现加密的方法这是最古老也是最直观的加密方式之一分类替换密码可分为单表替换(每个字符总是被替换为同一个字符)和多表替换(同一个字符可能被替换为不同的字符,取决于它在文本中的位置或其他规则)原理替换密码的安全性基于字母映射关系的保密然而,由于自然语言中字符出现频率的不均匀性,单表替换密码容易受到频率分析攻击应用虽然现代密码学不再使用简单的替换密码,但其基本思想被融入到更复杂的加密算法中,并且在一些休闲游戏和简单通信中仍有应用凯撒密码凯撒密码是最简单和最著名的替换密码之一,因古罗马军事统帅尤利乌斯凯撒而得名其算法原理是将明文中的每个字母按照固定位数向·后(或向前)移动,形成密文例如,使用向右移动位的规则,字母将被加密为,变为,以此类推3A DB E加密示例以密码学很有趣为例,如果我们使用向后移动两位的规则(在汉字编码中),它可能会变成骵砜孨征有騎当然,汉字的实际加密会更复杂,这里只是一个简化的概念说明凯撒密码(续)解密方法凯撒密码的解密过程是加密过程的逆操作如果加密时向右移动了n个位置,解密时只需向左移动相同的位置数例如,密文DEFG经过左移3位解密后得到明文ABCD暴力破解由于凯撒密码的密钥空间很小(仅有25种可能的移位值),可以通过尝试所有可能的位移来破解这种方法简单有效,不需要任何关于明文的先验知识频率分析通过分析密文中字符的出现频率,并与目标语言的字符频率分布进行对比,可以确定最可能的位移值例如,在英文中字母E出现频率最高,如果密文中Z出现频率最高,则位移值可能是21凯撒密码的安全性极低,不适用于任何需要真正保密的场合然而,研究凯撒密码有助于理解替换密码的基本原理和局限性现代密码系统通常会采用更加复杂的替换方法,结合其他技术来提高安全性维吉尼亚密码明文M IM A密钥K EY K密钥值1042410计算12+10%268+4%2612+24%260+10%26结果值22121010密文W MK K维吉尼亚密码是一种利用多个凯撒密码组合实现加密的多表替换密码,由16世纪法国外交官布莱斯·德·维吉尼亚完善不同于凯撒密码使用单一位移值,维吉尼亚密码使用一个关键词来确定不同字符的位移值加密过程中,密钥重复使用直到覆盖整个明文每个明文字符根据对应密钥字符确定的位移值进行替换例如,如果密钥字符是K,对应的位移值是10,那么明文字符M会向后移动10位变成W这种基于位置可变的替换方式,大大提高了密码的安全性,使得简单的频率分析变得无效维吉尼亚密码(续)解密方法卡西斯基检测维吉尼亚密码的解密需要知道原始密钥对破解维吉尼亚密码的关键是确定密钥长度于每个密文字符,根据对应的密钥字符确定卡西斯基方法寻找密文中重复出现的字符序位移值,然后向左移动相应的位数例如,12列,分析它们之间的距离可能是密钥长度的密文字符对应密钥(位移值),W K10倍数,从而推断出可能的密钥长度向左移动位得到明文10M安全性评估分组频率分析43虽然维吉尼亚密码比凯撒密码更安全,但在一旦确定了密钥长度,可以将密文分成相应现代密码分析技术面前仍然不够安全密钥的组,每组内的字符都是用相同的位移值加长度是其安全性的关键,更长的密钥提供更密的对每组分别进行频率分析,就可以确高的安全性,但也增加了使用复杂度定每个位置的位移值,从而恢复完整密钥置换密码矩阵置换栅栏密码列置换密码将明文按行填入矩阵,然后按列或某种特定最简单的置换密码之一,将明文按之字将明文按行填入矩阵,然后根据密钥指定的顺序读出,形成密文密钥决定了读取的顺形写入,然后按行读出其变体包括复杂的列顺序重排列并读出密钥通常是一个数字序,提供了置换密码的安全基础路径和阅读顺序,增加了破解难度序列,表示列的读取顺序置换密码通过改变明文字符的位置而非字符本身来实现加密与替换密码不同,置换密码保留了原始字符集的频率分布,但破坏了字符间的关联性虽然单独使用时安全性有限,但与替换密码结合可以创建强大的混合密码系统栅栏密码原理1重新排列字符顺序而非替换字符算法2按之字形写入,按行读出密钥3栏数决定加密模式栅栏密码是一种简单的置换密码,其名称来源于其编写方式类似于园艺中的栅栏加密过程中,明文按照之字形写入若干行,然后按行顺序读出形成密文栏数(即行数)作为密钥,决定了加密的具体模式以密码学是保护信息安全的科学为例,使用3栏栅栏密码加密首先,将明文按之字形写入三行第1行密学护息的第2行码是信安科第3行学保息全学然后按行读出,得到密文密学护息的码是信安科学保息全学栅栏密码(续)解密方法破译技术12要解密栅栏密码,首先需要知道若不知道栏数,可以尝试所有可原始的栏数(即密钥)然后根能的栏数进行解密,然后检查结据密文长度和栏数,确定每行应果是否有意义由于栅栏密码的包含的字符数量,将密文重新按密钥空间相对较小(栏数通常不行分配,最后按之字形顺序读会太大),这种暴力破解方法通出明文例如,对于使用栏加密常是可行的对于较长的密文,3的字符密文,第一行有个字符,语言模式识别和统计分析也可以155第二行有个字符,第三行有个帮助确定正确的栏数55字符安全性讨论3栅栏密码的安全性非常有限,主要原因是其密钥空间太小,且不改变字符的原始频率分布在现代密码学标准下,栅栏密码只适用于休闲娱乐或作为更复杂密码系统的组件然而,研究栅栏密码有助于理解置换技术及其在现代分组密码中的应用古典密码的破译频率分析法已知明文攻击频率分析是破解单表替换密码的最常用方法,基于不同语言中字如果破译者已经知道或能够猜测部分明文内容,就可以利用这些符出现频率的统计规律例如,在英语文本中,字母出现频率最信息来确定加密规则例如,很多正式文件可能包含标准化的开E高,通常占比约,而、、、等也有各自相对固定的出头或结尾,如尊敬的或此致敬礼等固定格式
12.7%T AO I现频率在已知明文攻击中,破译者将已知或猜测的明文片段与对应的密破译者通过统计密文中各字符的出现频率,与目标语言的标准频文进行对比,尝试推导出加密规则,然后应用这些规则来解密剩率分布对比,可以推断出最可能的字符映射关系例如,如果密余的密文这种方法对于置换密码特别有效,因为一旦确定了置文中出现频率最高,那么很可能对应明文中的(假设明文是换规则,整个密文就可以被系统性地解密X XE英语)第三部分现代对称密码高效性现代对称密码采用优化的数学运算,实现高速加密和解密,适合处理大量数据,是网络通信和存储加密的首选计算效率通常比非对称加密高出几个数量级安全强度通过使用足够长的密钥(如128位、256位),现代对称加密算法可以提供极高的安全级别破解这些算法通常需要进行不切实际的暴力搜索,即使使用最先进的计算机也需要数十亿年算法标准化许多现代对称算法已成为国际标准,如DES、AES等,经过了广泛的安全分析和评估这些标准算法被集成到各种硬件和软件系统中,确保了跨平台的兼容性和可靠性密钥管理挑战对称加密的主要挑战是密钥管理通信双方必须事先安全地共享密钥,这在开放网络环境中可能是困难的这个问题通常通过结合使用非对称加密或密钥交换协议来解决现代对称密码概述特点优势应用场景现代对称密码使用同一对称加密算法计算开销广泛应用于数据存储加密钥进行加密和解密,小,适合加密大量数据;密(如加密硬盘、数据具有实现简单、加解密加密强度高,通过充分库加密),网络通信保速度快、加密强度高等的混淆和扩散达到良好护(如中的会话HTTPS特点与古典密码不同,的安全效果;实现简单,加密),以及文件加密、现代对称密码通常处理易于硬件加速,在资源数字版权管理等场景位()而非字符,并受限环境中表现优异在芯片卡、智能设备等bit采用复杂的数学变换而这些优势使其成为数据嵌入式环境中也是首选非简单替换或置换加密的首选技术的加密方案分组密码定义分组密码是一类将明文划分为固定长度的数据块,并对每个数据块单独进行加密的对称密码算法每个明文块通过相同的变换算法和密钥转换成等长的密文块主流分组密码的块大小通常为位或位64128工作模式由于分组密码本身只能处理固定长度的数据块,为了加密任意长度的消息,需要特定的工作模式常见模式包括电子密码本模式、密ECB码块链接模式、计数器模式、密码反馈模式和输出CBC CTRCFB反馈模式等OFB填充机制当最后一个数据块长度不足时,需要使用填充方案使其达到块大小常见填充方法包括填充、零填充等填充时还需考虑数据PKCS#7完整性和解密时如何识别和移除填充内容算法DES数据加密标准(,)是一种基于网络结构的分组密码算法,由开发并于年被美国采纳为Data Encryption Standard DESFeistel IBM1977联邦信息处理标准使用位分组大小,位有效密钥长度(实际输入为位,但其中位用于奇偶校验)DES6456648的核心结构是轮网络,每轮使用不同的子密钥进行运算其基本原理是将数据块分为左右两半,右半部分经过轮函数后与左DES16Feistel半部分进行异或操作,然后交换左右两部分轮函数包括扩展、与子密钥异或、通过盒替换以及盒置换等步骤,实现了香农提出的混淆S P与扩散原则算法(续)DES初始置换加密开始时,64位输入数据块首先经过固定的初始置换IP,重新排列位顺序,为后续处理做准备这一步没有密码学意义,主要为了方便早期硬件实现轮函数处理初始置换后的数据被分为32位的左右两部分右半部分通过扩展置换从32位扩展到48位,与当前轮的48位子密钥进行异或,然后通过8个S盒(替换盒)压缩回32位,最后经过P盒置换重排位顺序,与左半部分异或后形成新的右半部分子密钥生成56位主密钥通过置换和移位操作产生16个48位子密钥,每轮使用不同的子密钥密钥调度算法确保每个子密钥包含主密钥的不同部分,增强算法安全性最终置换16轮操作完成后,左右两部分交换并合并,然后经过最终置换(初始置换的逆操作),生成最终的64位密文块解密过程使用相同的算法,但以相反顺序使用子密钥算法(续)DES安全性分析三重DES的设计在其时代是相当先进的,但随着计算能力的增长,其为了延长的使用寿命而不完全抛弃已有实现,三重DES DES位密钥长度已被证明不足以抵抗现代攻击年,电子前沿被提出并获得广泛应用使用三个密钥和三次561998DES3DES3DES基金会建造的专用机器在不到天内就破解运算先用密钥加密,再用密钥解密,最后用密钥再EFF DESCracker3DES K1K2K3了一个密钥次加密DES线性密码分析和差分密码分析等技术也表明,理论上可以使用少这种方式有效增加了密钥长度(理论上为位,实际安全强度约168于次运算破解这些弱点促使密码学界寻找更安全的替为位),大大提高了安全性虽然比慢得多,但由2^56DES1123DES AES代算法于其长期验证的安全性,在某些银行系统和关键应用中仍在使用算法AES背景设计特点12高级加密标准(Advanced与基于Feistel网络的DES不同,AESEncryption Standard,AES)是美采用了替代-置换网络SPN结构,以国国家标准与技术研究院NIST于字节为基本操作单元,比DES更适合2001年发布的加密标准,用以替代软件实现AES支持128位分组大小,老旧的DESAES实际上是Rijndael密钥长度可以是128位、192位或算法的一个子集,由比利时密码学家256位,分别对应10轮、12轮或14轮Joan Daemen和Vincent Rijmen设操作计,在NIST举办的全球公开竞赛中击败其他14个候选方案而胜出算法效率3AES被设计为高效率算法,在各种平台上都有优异的性能表现现代CPU通常包含专门的AES指令集(如Intel的AES-NI),可显著加速加解密过程同时,AES的规则结构也便于硬件实现,适用于从高性能服务器到资源受限的嵌入式设备等各种环境算法(续)AES初始轮密钥加1加密开始时,输入的128位数据块与初始轮密钥进行异或操作这一步确保即使输入数据相同,使用不同密钥的加密结果也完全不同,字节替代()增强了算法的混淆效果2SubBytes使用预设的S盒(替换表)对状态矩阵中的每个字节进行非线性替换S盒设计精巧,具有良好的混淆特性,能抵抗线性和差分密码行移位()ShiftRows3分析这一步是AES安全性的关键环节之一除第一行外,状态矩阵的每一行按不同偏移量循环左移具体来说,第二行左移1个字节,第三行左移2个字节,第四行左移3个字节这一操作提供了行间扩散,确保每一列的四个字节相互影响后续的列混合()4MixColumns列混合操作对状态矩阵中的每一列进行线性变换,使每个输出字节依赖于所有四个输入字节这一步提供了列内扩散,与行移位一起确保几轮之轮密钥加后状态矩阵中的每个字节都依赖于所有输入字节5将当前轮的子密钥与状态矩阵进行异或操作子密钥由主密钥通过密钥扩展算法生成,每轮使用不同的子密钥,增强了算法的安全性算法(续)AES解密流程1逆向执行加密步骤,先反向密钥加,再进行列逆混合等等效逆向方法2变换解密算法结构,使其与加密结构相似安全性评估3高安全性,理论上最好攻击仍需计算量astronomic的解密过程是加密过程的逆操作,按相反顺序使用逆向变换逆字节替代、逆行移位、逆列混合AES InvSubBytesInvShiftRows和轮密钥加轮密钥加操作在加解密中完全相同,因为异或操作是其自身的逆操作InvMixColumns AddRoundKey截至目前,仍被认为是安全的,没有实用的全面攻击方法最有效的攻击是针对减轮版本的,而完整轮数的仍具有很高的安全边际AES AESAES量子计算对的威胁也比对等非对称算法小,通过使用更长的密钥如可以有效抵抗量子计算攻击已广泛应用于全球各种安AES RSAAES-256AES全系统,是现代信息安全基础设施的核心组件流密码定义分类流密码是一种对称加密算法,它逐流密码可分为同步流密码和自同步位或逐字节地加密数据,而非以块流密码同步流密码中,密钥流的为单位其核心是生成一个伪随机生成与明文无关,仅依赖于密钥和密钥流(),然后与算法;而自同步流密码中,密钥流keystream明文进行位运算(通常是异或)产的生成不仅依赖于密钥,还依赖于生密文流密码特别适合需要实时之前的密文,因此有自动错误恢复处理数据或资源受限的环境能力特点流密码通常执行速度快,实现简单,内存需求少,适合硬件实现它们也很适合加密长度不固定或实时生成的数据流然而,如果不正确使用,流密码容易受到重用攻击和篡改攻击算法RC4算法背景1RC4(Rivest Cipher4)是由Ron Rivest于1987年设计的流密码算法,最初为RSA安全公司的商业机密算法在1994年被匿名泄露到互联网后广为人知由于其简单性和高效性,RC4曾被广泛应用于SSL/TLS、WEP和WPA等协议中密钥调度算法2RC4首先使用密钥初始化一个256字节的状态数组S,包含0到255的所有整数通过一系列交换操作,根据密钥将S数组打乱,形成初始置换状态这一过程称为密钥调度算法(KSA),为后续的伪随机生成算法做准备伪随机生成算法3初始化完成后,RC4使用伪随机生成算法(PRGA)产生密钥流每次操作生成一个字节的输出,同时更新S数组的状态这种动态更新确保了密钥流的随机性生成的密钥流字节与明文字节进行异或运算,产生密文解密过程4RC4解密过程与加密完全相同,因为异或操作是自逆的只要使用相同的密钥初始化算法,就能生成相同的密钥流将这个密钥流与密文异或,就能恢复原始明文这种对称特性使RC4的实现非常简洁算法(续)RC4优点分析缺点与安全隐患的主要优势在于其实现简单性和计算效率算法只需要字节多年来,密码分析人员发现了的一些弱点其中最严重的是RC4RC4操作和基本算术,适合在各种平台上实现,包括资源受限的环境密钥流的非随机性,特别是在初始字节中这类弱点导致了对也非常快速,据估计比快约倍协议的成功攻击RC4DES10WEP另一个优点是其可变密钥长度(通常为至位),允许根此外,如果同一密钥用于加密多个消息,可能导致密钥重用攻击402048据安全需求调整安全强度算法的状态变量也相对较小(仅字还有就是没有提供消息完整性验证,使其容易受到篡改由256RC4节),使其在内存受限环境中很有吸引力于这些问题,现代安全标准如已禁用,建议使用TLS
1.3RC4AES等更安全的算法替代第四部分公钥密码系统非对称加密原理密钥生成1使用数学上相关但计算上不可推导的密钥对生成公钥和私钥,公钥公开,私钥保密2信息解密信息加密4接收方使用自己私钥解密信息3发送方使用接收方公钥加密信息公钥密码系统解决了传统对称密码中密钥分发的核心难题在这个系统中,每个参与者都拥有一对密钥公钥可以自由分发给任何人,而私钥必须严格保密这种设计使得通信双方可以在没有预先共享密钥的情况下建立安全通信公钥密码系统的安全性基于某些数学问题的计算困难性,如大整数分解、离散对数和椭圆曲线等虽然理论上这些问题是可解的,但在实际可用的计算资源下,找出解决方案所需的时间可能长达数百万年,从而确保了系统的安全性公钥密码系统概述非对称加密原理优势应用公钥密码系统使用两个公钥密码系统最大的优公钥密码学广泛应用于不同但数学上相关的密势是解决了密钥分发问安全电子邮件如、PGP钥公钥和私钥公钥题通信双方无需事先安全网络通信可以公开分享,用于加共享密钥,极大简化了、数字证书SSL/TLS密;而私钥必须保密,密钥管理此外,它还、电子签名、身份PKI用于解密这种非对称支持数字签名功能,实认证系统以及加密货币设计使得任何人都可以现身份认证、数据完整等领域在现代互联网使用接收者的公钥加密性验证和不可否认性,基础设施中,几乎每个信息,但只有拥有对应为电子商务和在线交易安全协议都在某种程度私钥的接收者能够解密奠定了安全基础上依赖公钥密码技术算法RSA—发明年份算法由、和三位密码学家在年提RSA RonRivest AdiShamir LeonardAdleman1977出,算法名称取自三位作者姓氏的首字母它是最早的公钥密码算法之一,至今仍广泛使用算法的数学基础是大整数因子分解问题的计算困难性虽然将两个大素数相乘很RSA容易,但给定这两个素数的乘积(一个大合数),找出其素因子却非常困难,需要极大的计算资源欧拉函数在中扮演关键角色,它表示小于且与互质的正整数个数当是φn RSAn nn两个素数和的乘积时,的安全性依赖于在不知道和的情p qφn=p-1q-1RSA pq况下,仅从计算的困难性nφn模幂运算是的核心操作,形式为,其中是消息,是加密指数,是RSA m^e modn me n模数RSA利用欧拉定理确保加密和解密是互逆操作m^ed≡m modn,其中e和d分别是公钥和私钥指数,满足ed≡1modφn算法(续)RSA选择素数选择两个大素数p和q,通常是几百到几千位的二进制数这些素数必须保密,是RSA安全性的基础为增强安全性,p和q应具有相近但不相等的位长度,并且p-1和q-1应包含大素因子计算模数计算n=p×q,这将成为公钥和私钥的一部分n的位长度决定了RSA密钥的安全强度,常见的是1024位、2048位或4096位n的值可以公开,但必须大到足以抵抗已知的因子分解算法计算欧拉函数值计算φn=p-1q-1,这个值在密钥生成过程中使用,但必须保密泄露φn与泄露p和q同样危险,都可能导致私钥被推导出来选择公钥指数选择一个整数e,满足1eφn且e与φn互质常见的选择是655372^16+1,它既大到足够安全,又拥有少量的1位,使得计算效率高计算私钥指数计算d,使得ed≡1modφn这等价于求e模φn的乘法逆元,可以使用扩展欧几里得算法计算d必须严格保密,是私钥的核心部分算法(续)RSA操作使用的密钥数学表达式输入/输出加密公钥e,n C=M^e modn明文M到密文C解密私钥d,n M=C^d modn密文C到明文M签名私钥d,nS=M^d modn消息M到签名S验证公钥e,n M=S^e modn签名S验证得到MRSA加密过程使用接收者的公钥e,n首先,明文M必须转换为一个整数(小于n),然后计算C=M^e modn得到密文C这一过程可以由任何拥有公钥的人执行,但解密需要私钥RSA解密过程使用私钥d,n,通过计算M=C^d modn恢复原始明文M由于知道d等同于能够解密任何使用对应公钥加密的消息,私钥必须严格保密实际应用中,RSA通常不直接加密大量数据,而是用于加密对称密钥(如AES密钥),然后使用这个对称密钥加密实际数据这种混合加密方案结合了RSA的密钥管理优势和对称加密的高效率。
个人认证
优秀文档
获得点赞 0