加密
在密码学中,加密是编码信息的过程。此过程将信息的原始表示形式转换为称为Ciphertext的替代形式。理想情况下,只有授权各方才能将密文解解为明文并访问原始信息。加密本身并不能阻止干扰,而是否认对可能的拦截器的可理解内容。
出于技术原因,加密方案通常使用算法生成的伪随机加密密钥。可以在不拥有密钥的情况下解密该消息,但是对于精心设计的加密方案,需要大量的计算资源和技能。授权的收件人可以轻松地使用发起者向收件人提供的密钥解密消息,但不会向未经授权的用户解密。
从历史上看,各种形式的加密已被用来帮助加密。早期的加密技术经常用于军事消息传递。从那时起,在现代计算的所有领域中都出现了新技术并变得司空见惯。现代加密方案使用公钥和对称键的概念。现代加密技术可确保安全性,因为现代计算机在破解加密方面效率低下。
历史
古老的
最早的加密形式之一是符号替代品,最初是在埃及1900年埃及居住的Khnumhotep II墓中发现的。符号替换加密是“非标准”,这意味着符号需要密码或钥匙才能理解。整个古希腊和罗马都使用这种早期加密用于军事目的。最著名的军事加密发展之一是凯撒密码,该系统是一个系统,在该系统中,正常文本中的字母被转移到字母下方的固定位置以获取编码字母。用这种加密编码的消息可以用凯撒密码上的固定号码解码。
大约在公元800年,阿拉伯数学家al-Kindi开发了频率分析技术 - 这是一种系统地破解凯撒密码的尝试。该技术查看了加密消息中字母的频率,以确定适当的偏移。莱昂·巴蒂斯塔·艾伯蒂(Leon Battista Alberti)于1465年创建了多音符密码后,该技术无效,该密码结合了不同的语言集。为了使频率分析有用,试图解密消息的人需要知道发件人选择的语言。
19至20世纪
1790年左右,托马斯·杰斐逊(Thomas Jefferson)理论上了一个密码来编码和解码消息,以提供更安全的军事通信方式。这个密码(今天被称为车轮密码或杰斐逊磁盘,虽然从未真正构建过),但被认为是一个线轴,可以打碎一条英语消息,最多可达36个字符。可以通过用相同的密码插入接收器的混杂消息来解密该消息。
与杰斐逊磁盘M-94相似的设备,由美国陆军少校约瑟夫·莫博恩(Joseph Mauborne)独立开发。直到1942年,该设备一直在美国军事通信中使用。
在第二次世界大战中,Axis Powers使用了更高级的M-94,称为Enigma Machine 。谜团机器更为复杂,因为与杰斐逊车轮和M-94不同,每天的杂物转换为全新的组合。每天的组合只有轴是知道的,因此许多人认为打破代码的唯一方法是在24小时内尝试超过17,000个组合。盟友使用计算能力严重限制了他们每天需要检查的合理组合数量,从而导致谜机器破裂。
现代的
如今,加密用于通过Internet进行安全和商业的交流。随着计算能力继续增加,计算机加密正在不断发展,以防止窃听攻击。 DES凭借第一个“现代”密码套件之一,利用56位钥匙,配备72,057,594,037,927,927,936可能性,可以在1999年通过EFF的Des Cracker在22小时15分钟内在22个小时的15分钟内进行破解,1999年使用了一种使用野蛮的裂纹方法。现代加密标准通常使用更强的钥匙尺寸,通常使用256,例如AES (256位模式), Twofish , Chacha20-Poly1305 , Serpent (可配置高达512位)。使用128位或更高钥匙(例如AE)(例如AE)的密码套件由于键的总键为3.4028237E+38可能性,因此无法遭受蛮力。开裂具有较高密钥大小的密码的最可能的选择是在密码本身中找到漏洞,例如固有的偏见和后门。例如,由于密码中固有的偏见和漏洞, RC4 (流密码)被破裂。
密码学中的加密
在密码学的背景下,加密是确保机密性的机制。由于在Internet上可以看到数据,因此敏感信息(例如密码和个人通信)可能会暴露於潜在的拦截器。加密和解密消息的过程涉及密钥。加密系统中的两种主要键是对称键和公钥(也称为非对称键)。
许多复杂的加密算法在其实现中经常使用简单的模块化算术。
类型
在对称键方案中,加密和解密键相同。沟通各方必须具有相同的钥匙才能实现安全的通信。德国谜机器每天使用新的对称键来编码和解码消息。
在公钥加密方案中,发表加密密钥供任何人使用和加密消息。但是,只有接收方可以访问可以读取消息的解密密钥。 1973年的秘密文件中首次描述了公钥加密;事先,所有加密方案都是对称键(也称为私钥)。尽管随后出版,但Diffie和Hellman的作品发表在一本具有较大读者群的期刊上,并且该方法的价值被明确描述了。该方法被称为Diffie-Hellman钥匙交换。
RSA(Rivest-Shamir – Adleman)是另一个著名的公钥密码系统。它创建于1978年,如今仍用于涉及数字签名的应用。使用数字理论,RSA算法选择两个质数,这有助于生成加密和解密密钥。
Phil Zimmermann于1991年撰写了公开可用的公钥加密应用程序(PGP),并用源代码免费分发。 PGP是在2010年由Symantec购买的,并定期更新。
用途
军队和政府长期以来一直使用加密来促进秘密交流。现在,它通常用于保护许多平民系统中的信息。例如,计算机安全研究所报告说,2007年,有71%的调查公司使用对其某些数据进行加密,而53%的公司使用加密来存储一些数据。加密可用于保护“静止”的数据,例如存储在计算机和存储设备上的信息(例如USB闪存驱动器)。近年来,有许多有关机密数据的报告,例如客户的个人记录,通过损失或盗窃笔记本电脑或备用驱动器暴露;如果物理安全措施失败,在静止状态上加密此类文件有助于保护它们。数字权利管理系统可以防止未经授权使用或再现受版权保护的材料并保护软件免受反向工程的影响(另请参见复制保护),这是另一个有些不同的示例,即在静止数据时使用加密。
加密还用于保护运输中的数据,例如通过网络传输数据(例如Internet,电子商务),移动电话,无线麦克风,无线对讲机系统,蓝牙设备和银行自动柜员机。近年来,有许多关于运输数据被拦截的数据的报导。当跨网络传输时,还应对数据进行加密,以防止未经授权的用户窃听网络流量。
数据擦除
从存储设备中永久删除数据的常规方法涉及用零,一个或其他模式覆盖设备的整体内容 - 这一过程可能需要大量时间,具体取决于容量和存储介质的类型。密码学提供了一种使擦除几乎瞬时的方法。此方法称为加密污染。可以在iOS设备上找到该方法的示例实现,该设备将加密密钥保存在专用的“可效率存储”中。由于键存储在同一设备上,因此如果未经授权的人获得对设备的物理访问,则该设置本身不会提供完全的隐私或安全保护。
限制
加密在21世纪用于保护数字数据和信息系统。随着计算能力多年的增加,加密技术仅变得更加先进和安全。但是,技术的进步也暴露了当今加密方法的潜在局限性。
加密密钥的长度是加密方法强度的指标。例如,原始加密密钥DES (数据加密标准)为56位,这意味着它具有2^56的组合可能性。凭借当今的计算能力,一个56位密钥不再安全,很容易受到蛮力攻击的影响。
量子计算利用量子力学的属性来同时处理大量数据。已经发现量子计算的速度比当今的超级计算机快数千倍。这种计算能力给当今的加密技术带来了挑战。例如,RSA加密利用非常大的素数的乘法来为其公钥创建半弹药号码。在没有其私钥的情况下解码此密钥需要考虑此半弹药编号,这可能需要很长时间才能使用现代计算机。超级计算机需要在几周到几个月之间的任何位置来考虑此键。但是,量子计算可以使用量子算法来在与普通计算机生成的时间相同的时间内以相同的时间来考虑此半弹药数。这将使所有数据受到当前公钥加密保护的所有数据,容易受到量子计算攻击的影响。其他加密技术(例如椭圆曲线加密和对称密钥加密)也容易受到量子计算的影响。
虽然量子计算可能会威胁到将来的加密安全性,但量子计算当前所示的量子计算仍然非常有限。量子计算当前尚不可用,无法处理大量代码,而仅作为计算设备而不是计算机存在。此外,量子计算的进步也将能够利用来加密。国家安全局(NSA)目前正在准备未来的量词后加密标准。量子加密承诺将能够应对量子计算的威胁。
攻击和对策
加密是一个重要的工具,但不足以确保敏感信息在其一生中的安全性或隐私。加密的大多数应用仅在静止或运输中保护信息,在清晰的文本中留下敏感的数据,并且可能在处理过程中可能会受到不当披露的影响,例如通过云服务。同态加密和安全的多方计算是计算加密数据的新兴技术。这些技术是通用的,图丁完整,但会产生高计算和/或通信成本。
为了响应静止数据的加密,网络对抗者开发了新的攻击类型。在休息时对数据进行加密的最新威胁包括加密攻击,被盗的密文攻击,对加密密钥的攻击,内部攻击,数据腐败或完整性攻击,数据破坏攻击和勒索软件攻击。数据碎片和主动防御数据保护技术试图通过分发,移动或突变ciphertext来反驳其中的某些攻击,从而更难识别,偷窃,损坏或破坏。
围绕加密的辩论
在当今的数字社会中,加密已经变得至关重要,因此已经辩论了将国家安全和隐私权的需求与隐私权的需求之间的问题进行辩论。现代的加密辩论始于90年左右,当时美国政府试图禁止密码学,因为据他们说,这将威胁到国家安全。辩论围绕两个相反的观点两极分化。那些将强烈加密视为问题的人,使罪犯更容易在网上隐藏其非法行为,而其他人则认为加密可以确保数字通信安全。辩论在2014年升温,当时像Apple和Google这样的Big Tech默认情况下在其设备中设置了加密。这是一系列争议的开始,使政府,公司和互联网用户受到威胁。
密文的完整性保护
加密本身可以保护消息的机密性,但是仍然需要其他技术来保护消息的完整性和真实性;例如,验证消息身份验证代码(MAC)或通常由哈希算法或PGP签名进行的数字签名。经过验证的加密算法旨在一起提供加密和完整性保护。加密软件和执行加密的硬件的标准已广泛使用,但成功使用加密来确保安全性可能是一个具有挑战性的问题。系统设计或执行中的一个错误可以成功攻击。有时,对手可以在不直接取消加密的情况下获得未加密的信息。例如,请参见交通分析,暴风雨或特洛伊木马。
首次创建时,必须将诸如MAC和数字签名之类的完整性保护机制应用于密文时,通常是在用于组合消息的同一设备上,以保护沿其完整传输路径的端到端的消息;否则,发件人和加密代理之间的任何节点都可以篡改它。仅当加密设备本身俱有正确的密钥并且没有被篡改时,在创建时进行加密才能安全。例如,如果端点设备被配置为信任攻击者控制的根证书,则攻击者可以通过在消息的路径沿任何地方进行中间攻击来检查和篡改加密数据。网络运营商TLS拦截的普遍做法代表了这种攻击的一种受控且受到制度认可的形式,但国家也试图采用这种攻击作为控制和审查的形式。
密文的长度和填充
即使加密正确隐藏了消息的内容,并且不能在静止或运输中篡改它,消息的长度也是一种元数据的形式,它仍然可以泄露有关该消息的敏感信息。例如,对HTTP的著名犯罪和违规攻击是侧向通道攻击,这些攻击依赖于信息泄漏,这是通过加密内容的长度泄漏。流量分析是一系列广泛的技术,通常通过汇总有关大量消息的信息来推断有关交通流的敏感实现。
在加密之前,填充消息的有效载荷可以帮助掩盖ClearText的真实长度,而成本是增加了密文的大小并引入或引入或增加带宽开销。消息可以随机或确定性地填充,每种方法都有不同的权衡。加密和填充消息以形成衬垫均匀的随机斑点或紫红色是一种做法,可以保证密码文本对其clearText的内容毫无损失,并通过其长度散布渐近的最小信息。