常见的加密类型及其算法


加密类型


使用算法


基本特性


对称加密


DES(数据加密标准,56位密钥)、

AES(高级加密标准,128位密钥)、

3DES、Blowfish、Twofish、CAST5、IDEA、RC6


加密、解密使用同一个密钥

通常用来加密数据,加解密速度快

密钥过多,管理密钥困难

密钥交换困难


加密:# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext

常用选项:

  • -e:加密
  • -des3:加密数据时使用的算法,可用# openssl ? --> Cipher commands子命令中的各种其它算法代替
  • -a:对加密后的数据进行base64编码,或解密前先对数据进行base64解码
  • -salt:加盐。加盐后,相同的明文可以得到不同的密文。默认情况下,盐值是随机生成的
  • -in FILENAME:指定要加密的文件
  • -out FILENAME:指定加密后生成的文件

解密:# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out  fstab.plaintext

常用选项:

  • -d:解密

公钥加密

(非对称加密)


RSA(既能用于加密,又能用于数字签名)、

DSA(只能用于数字签名,不能用于数据加密)、

DH(一般用于密钥交换)


密钥成对出现

公钥:public key,可公开给所有人

私钥:private key,保证其私密性

使用公钥加密的数据,只能使用与之配对的私钥解密

使用私钥加密的数据,只能使用与之配对的公钥解密

通常用来身份认证(数字签名),很少用来加密数据

身份认证:发送方使用自己的私钥加密数据,接收方使用发送方的公钥解密数据,如果解密成功,就能证明发送方的身份

数据保密性:发送方使用接收方的公钥加密数据,接收方使用自己的私钥解密数据,此方法能保证数据的保密性


# openssl genrsa -out ca.key 2048

# openssl req -new -key ca.key -out ca.csr

# openssl x509 -req -days 3650 -in ca.csr-signkey ca.key -out ca.crt


单向加密


MD5:消息摘要算法第五版,128位

SHA:安全哈希算法,包括如下5种算法

  • SHA-1:160位
  • SHA-2:
  • SHA-224:224位
  • SHA-256:256位
  • SHA-384:384位
  • SHA-512:512位

CRC-32:提取数据特征码

CBC-MAC、HMAC:消息认证算法


只能加密,不能解密,整个过程不可逆

通常用来提取数据特征码(数据指纹),验证数据的完整性

定长输出:无任输入数据多长,只要使用同一种单向加密算法,输出结果的长度都相同

雪崩效应:输入数据的微小改变,会导致结果的巨大变化

使用不同加密工具单向加密同一文件,只要加密算法一样,输出的消息摘要信息都一样


# openssl dgst -md5 | -sha1 fstab [-out  FILENAME]

# md5sum | sha1sum | sha224sum | sha256sum |  sha384sum | sha512sum fstab

时间: 2024-08-28 16:30:28

常见的加密类型及其算法的相关文章

常见的加密和解密算法—AES

一.AES加密概述 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准.2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一. Rijndae

常见的加密和解密算法—MD5

一.MD5加密概述 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992). MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用

加密类型及其算法

别人可以得到我们的加密转换规则,但是不知道密钥是什么,你仍然能够将密文转换为明文! 近些年来比较流行的: 对称加密:加密解密用的同一个密码 单向加密:提取数据特征码,输入一样,输出必然相同 非对称加密算法:公钥私钥 IKE:密钥交换简写 离散对数原理剖析:  (单向加密) A:生成 x     B:生成 y A:g^x%p --> B    A把g的x次方对p取模 传给B B: g^y%p --> A    B把g的y次方对p取模 传给A 我们在互联网上传递了4个数字: 四个数字分别是    

常见的加密和解密算法—DES

一.DES加密概述 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来.需要注意的是,在某些文献中,作为算法的DES称为数据加密算法(Data Encryption Algorithm,DEA),已与作为标准的DES区分开来. DES入口参数 DES算法的入口参数有三个:Key.Data.Mode.其中Key为

常见的加密和解密算法—BASE64

一.BASE64加密和解密概述 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码具有不可读性,

加密类型及其相关算法

在互联网通信过程中,如何保证数据的安全性? 在通信过程中,数据安全主要从三个方面考虑:机密性(数据的内容不能被窃取) 完整性(数据的内容不能被修改) 身份验证(确定通信双方的身份) 加密类型:1.对称加密,加密和解密使用同一个密钥,但是密钥如何安全传输比较重要,对称加密数度较快,适于加密数据 2.单向加密,提取数据指纹,主要用于保证数据的完整性 单向加密的特点:输入相同则输出一定相同 雪崩效应:输入的微小改变会引起结果的巨大反差 定长输出 3.非对称加密,使用一对密钥(public-key和pr

linux学习之路之加密类型及其相关算法

加密类型及其相关算法 随着互联网越演越烈,互联网上的各种攻击层出不穷,因此在互联网上相互传递的信息越来越不安全,因此为了防止用户在互联网上传递的数据被窃取,因此我们很有必须加强传递的数据的安全性. 数据的安全性主要包括以下三个方面: 数据的机密性:保证传递的数据不被读取 要想使传递的数据不被读取,可以对这些数据进行加密,因为默认这些数据是以明文来传递的 整个加密过程可以这么来理解: 加密:plaintext--->转换规则--->ciphertext 解密:ciphertext--->转

加密类型以及相关算法

让我们从一个简单的故事说起. 1.很久很久以前,在笔友盛行的年代,小明交到了笔友小红,然而有件事让他们很苦恼,他们的信封总是被他们家人偷看,青春期的小年轻们总是想有点自己的小秘密的,所以这对于他们来说是无法容忍的,于是呢,小明和小红想了一个办法,他们约定以后写的书信每个字母往后两位,比如a-->c,b-->d,这样 i love you 就变成了 k nqxg aqw ,就这样,他们的父母拿到书信后百思不得其解,然而小红看到脸上却泛起了红晕... 上面的例子就是互联网安全通信的第一个特性:保密

Linux中常见的加密技术介绍

常见的加密技术: 对称加密:非对称加密:单向加密:SSL/TLS:秘钥交换 1.对称加密 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密. 对称加密的常见算法:DES.3DES.AES.IDEA.RC6.CAST5等 (1)优点 加密.解密使用同一个密钥,效率高: (2)缺点 必须商定秘钥:数据传送前,双方必须商定好秘钥.线上商定,存在被窃取风险: 来源无法确认:如果钥匙被窃取,窃取者就可以冒充另一方进行通讯,接收者无法确认来源: