首页 > 编程知识 正文

md5加密算法,加密方式aes

时间:2023-05-04 20:05:40 阅读:140232 作者:2117

加密概念

加密是通过互联网、外联网和互联网安全交换信息的基础。 从商业角度看,加密安全功能包括认证、使收件人确信发送者是他或她声明的人、机密性、只有预期收件人能够阅读邮件、完整性、消息正在传送从技术角度看,加密是一门利用数学方法将邮件转换为不可读格式,从而达到数据保护目的的科学。

本文介绍了以下加密概念:

; 对称密钥加密:一个密钥

; 公钥加密:两个密钥

; 单向散列算法

; 数字签名:联合使用公钥和散列

; 密钥交换:并用对称密钥和公钥

对称密钥加密:一个密钥

对称密钥加密,也称为共享密钥加密或私钥加密,使用发件人和收件人共享的单独密钥。 这样的密钥既用于加密又用于解密,称为私钥。 也称为对称密钥或会话密钥。 对称密钥加密是加密大量数据的有效方法。

对称密钥加密有各种各样的算法,但所有这些算法都有共同的目的。 也就是说,这是一种可以将明文(未加密数据)恢复为密文的方法。 用加密密钥加密的密文对于不具有解密密钥的任何人来说都是没有意义的。 由于对称密钥加密对加密和解密使用相同的密钥,因此此加密过程的安全性取决于非法者是否获得了对称密钥。 所以也叫私钥加密。 希望使用对称密钥加密通信的双方在交换加密数据之前必须安全地交换密钥。

衡量对称算法优劣的主要尺度是其关键长度。 密钥越长,在找到解密数据所需的正确密钥之前必须测试的密钥数就越多。 要测试的密钥越多,破解这个算法就越困难。 如果有好的加密算法和足够长的密钥,从计算的角度来看,想要在实际可行的时间内逆转转换过程并从密文导出明文的人是不可能的。

公钥加密:两个密钥

公钥加密使用两个密钥:一个公钥和一个私钥。 这两把钥匙在数学上是相关的。 与对称密钥密码相反,公钥密码有时还称为非对称密钥密码。 在公钥加密中,可以在通信双方之间公开和传递公钥,也可以在公共候选群中公开公钥,但相关联的私钥是秘密。 只有私钥才能解密用公钥加密的数据。 用私钥加密的数据只能用公钥解密。 和对称密钥密码一样,公钥密码也有各种各样的算法。 但是,对称密钥和公钥算法没有设计上的相似之处。 在程序中,它们的作用相同,因此可以用对称算法替换其他算法,但很少进行更改。 另一方面,不同的公钥算法的行为完全不同,因此不兼容。 公钥算法是一个复杂的数学方程,使用非常大的数字。 公钥算法的主要局限性是该加密形式的速度相对较低。 实际上,公钥算法仅在关键时刻使用,例如在实体之间交换对称密钥或签署邮件散列时。 散列是通过应用单向数学函数(对于数据,称为散列算法)获得的固定长度结果。 将公钥加密与其他加密格式(如对称密钥加密)结合使用可以优化性能。 公钥加密为向某人发送私钥提供了一种有效的方法,用于对大量数据执行对称加密。 也可以将公钥加密和散列算法组合起来生成数字签名。

使用公钥加密进行数字签名

数字签名是指邮件、文件或其他数字编码信息的发送者将自己的身份与信息联系起来,从而为信息提供签名的一种方法。 在对信息进行数字签名的过程中,需要将信息与发送者掌握的秘密信息一起转换成被称为签名的标签。 数字签名用于公钥环境中,通过验证发件人是您还是您声明的人,以及验证收到的邮件是否与发送的邮件完全相同来确保电子商务的安全。 数字签名通常用于以明文形式(如电子邮件)分发数据。 在这种情况下,如果消息本身的机密性可能无法保证加密的安全性,请确保数据是原始格式,不是由冒名顶替者发送的,这一点很重要。

通用公钥算法

以下是三种最常见的公钥算法。

; RSA-适用于数字签名和密钥交换。 RSA(rivest-shamir-adleman )加密算法是目前应用最广泛的公钥加密算法,特别适合于通过互联网传输的数据。 该算法以三个发明者的名字命名: Ron Rivest、Adi Shamir和Leonard Adleman。 RSA算法的安全性基于分解大数字时的困难(关于计算机的处理能力和处理时间)。 在典型的公钥算法中,RSA可以进行数字签名和密钥交换运算。

; DSA-仅适用于数字签名。 数字签名算法(Digital Signature Algorithm,DSA )是美国国家安全局(unitedstatesnationalsecurityagency )、 美国国家标准技术协会(nationalinstituteofstandardsandtechnology,NIST )已经将联邦信息处理标准(federalinformationprocession )作为数字签名标准该算法仅用于数字签名运算。 不适用于数据加密。

; Diffie-Hellman-仅适用于密钥交换。 Diffie-Hellman呢

发明的第一个公钥算法,以其发明者 Whitfield Diffie 和 Martin Hellman 的名字命名。Diffie-Hellman 算法的安全性源自在一个有限字段中计算离散算法的困难。Diffie-Hellman 算法仅用于密钥交换。
  单向散列算法
  散列-也称为散列值 或消息摘要,是一种与基于密钥(对称密钥或公钥)的加密不同的数据转换类型。散列就是通过把一个叫做散列算法的单向数学函数应用于数据,将任意长度的一块数据转换为一个定长的、不可逆转的数字。所产生的散列值的长度应足够长,因此使找到两块具有相同散列值的数据的机会很少。发件人生成邮件的散列值并加密它,然后将它与邮件本身一起发送。而收件人同时解密邮件和散列值,并由接收到的邮件产生另外一个散列值,然后将两个散列值进行比较。如果两者相同,邮件极有可能在传输期间没有发生任何改变。
  常用的单向散列函数
  下面是两个最常用的散列函数:
  •; MD5。 MD5 是由 Ron Rivest 设计的可产生一个 128 位的散列值的散列算法。MD5 设计经过优化以用于Intel处理器。这种算法的基本原理已经泄露,这就是为什么它不太受欢迎的原因。
  •; SHA-1。与 DSA 公钥算法相似,安全散列算法 1(SHA-1)也是由 NSA 设计的,并由 NIST 将其收录到 FIPS 中,作为散列数据的标准。它可产生一个 160 位的散列值。SHA-1 是流行的用于创建数字签名的单向散列算法。
  数字签名:结合使用公钥与散列算法
  可以结合使用公钥技术与散列算法来创建数字签名。数字签名可用作数据完整性检查并提供拥有私钥的凭据。 签署和验证数据(由启用 PKI 的应用程序如 Microsoft Outlook 完成)的步骤如下:
  •; 发件人将一种散列算法应用于数据,并生成一个散列值。
  •; 发件人使用私钥将散列值转换为数字签名。
  •; 然后,发件人将数据、签名及发件人的证书发给收件人。
  •; 收件人将该散列算法应用于接收到的数据,并生成一个散列值。
  •; 收件人使用发件人的公钥和新生成的散列值验证签名。
  对用户而言这一过程是透明的。
  散列算法处理数据的速度比公钥算法快得多。散列数据还缩短了要签名的数据的长度,因而加快了签名过程。当创建或验证签名时,公钥算法必须且只需转换散列值(128 或 160 位的数据)。创建签名和验证签名的详细步骤取决于所采用的公钥算法。
  密钥交换:结合使用对称密钥与公钥
  对称密钥算法非常适合于快速并安全地加密数据。但其缺点是,发件人和收件人必须在交换数据之前先交换机密密钥。结合使用加密数据的对称密钥算法与交换机密密钥的公钥算法可产生一种既快速又灵活的解决方案。
  基于公钥的密钥交换步骤如下:
  •; 发件人获得收件人的公钥。
  •; 发件人创建一个随机机密密钥(在对称密钥加密中使用的单个密钥)。
  •; 发件人使用机密密钥和对称密钥算法将明文数据转换为暗文数据。
  •; 发件人使用收件人的公钥将机密密钥转换为暗文机密密钥。
  •; 发件人将暗文数据和暗文机密密钥一起发给收件人。
  •; 收件人使用其私钥将暗文机密密钥转换为明文。
  •; 收件人使用明文机密密钥将暗文数据转换为明文数据。
  同样,这些步骤是由启用 PKI 的应用程序(如 Microsoft Outlook)来完成的,并且对用户来说是透明的。
  公钥基本结构的概念
  术语公钥基本结构(PKI)用于描述管制或操纵证书与公钥及私钥的策略、标准和软件。实际上,PKI 是指由数字证书、证书颁发机构 (CA) 以及对电子交易所涉及各方的合法性进行检查和验证的其它注册机构组成的一套系统。PKI 的有关标准仍处于不断发展之中,即使这些标准已被作为电子商务的要素而广泛实施。
  PKI一般包括:
  •; 证书
  •; 证书颁发机构 (CA)
  •; 不可更改的 CA 层次结构
  •; 注册
  •; 证书登记
  •; 证书吊销
  •; 证书链验证
  证书
  公钥证书,通常简称为证书,用于在 Internet、Extranet 和 Intranet 上进行身份验证并确保数据交换的安全。证书的颁发者和签署者就是众所周知的证书颁发机构 (CA)。颁发证书的实体是证书的主体。公钥证书是以数字方式签名的声明,它将公钥的值与持有相应私钥的主体(个人、设备和服务)的身份绑定在一起。通过在证书上签名,CA 可以核实与证书上公钥相应的私钥为证书所指定的主体所拥有。可以为各种目的颁发证书,如 Web 用户身份验证、Web 服务器身份验证、使用安全/多用途 Internet 邮件扩充协议 (Secure/Multipurpose Internet Mail Extensions, S/MIME) 的安全电子邮件、IP 安全性 (IP Security)、 职场 加密 PKI

0

微博 QQ 微信

收藏

上一篇:PKI应用体系架构 下一篇:windows2003 配置路由... dream_sky11 39篇文章,8W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

推荐专栏更多 网络安全入门到实战,让SQLmap子弹飞一会儿 9本网络安全实战书籍精华 共23章 | simeon2005 ¥51.00 831人订阅 订   阅 Web网站安全评估分析及防御 企业级网安运维 共30章 | simeon2005 ¥51.00 409人订阅 订   阅 负载均衡cxdxm炼成记 高并发架构之路 共15章 | sery ¥51.00 508人订阅 订   阅 猜你喜欢 我的友情链接 ISA 2000与ISA 2004的区别 linux下修改root密码以及找回root密码 Windows Server 2012 R2 安装密钥 出现身份验证错误,要求的函数不受支持(这可能是由于CredSSP加密Oracle修正) MySQL 5.7 的初始化操作(root初始密码、修改密码、密码策略、关闭IPv6监听) 使用ssh-keygen设置ssh无密码登录 5分钟破解WEP加密的无线密码 理解Windows操作系统的KMS与MAK密钥 解决mysql的1045错误,修改root密码 Microsoft Office Professional Plus 2010 产品密钥 如何[破解]观看加密受保护的视频文件 Kali Linux安装dvwa本地shentou测试环境 道路千万条,安全第一条——一次服务器安全处理经过 Hydra破解SSH端口 浅谈QOS服务访问质量 Cisco防火墙基础介绍及配置 【SRX】RE与PFE策略不同步,导致Commit失败-----案例分析 蚁剑xss漏洞,获取者shell GandCrab5.0.9样本详细分析

扫一扫,领取大礼包

0

分享 dream_sky11

转载于:https://blog.51cto.com/815735239/63721

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。