iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下常见的加密算法有哪些
  • 333
分享到

Linux下常见的加密算法有哪些

2023-06-27 13:06:23 333人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关linux下常见的加密算法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux系统中常见的加密算法有:对称加密;非对称加密;单向加密;SSL/TLS;秘钥交换等。1、

这篇文章将为大家详细讲解有关linux下常见的加密算法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Linux系统中常见的加密算法有:对称加密;非对称加密;单向加密;SSL/TLS;秘钥交换等。

1、对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

对称加密的常见算法:DES、3DES、AES、idea、RC6、CAST5等

Linux下常见的加密算法有哪些
Linux中常见的加密技术介绍_Linux

(1)优点

加密、解密使用同一个密钥,效率高;

(2)缺点

必须商定秘钥:数据传送前,双方必须商定好秘钥。线上商定,存在被窃取风险;

来源无法确认:如果钥匙被窃取,窃取者就可以冒充另一方进行通讯,接收者无法确认来源;

密钥管理麻烦:每对用户都需要唯一秘钥,这会使得双方所拥有的钥匙数量巨大。

(3)实现简单对称加密:

[root@node1 ~]#echo maohua > a.txt

**[root@node1 ~]#openssl enc -e -des3 -a -salt -in a.txt -out aa.txt #**采用des3加密算法

**enter des-ede3-cbcencryption passWord: #**秘钥为123

**Verifying – enterdes-ede3-cbc encryption password: #**秘钥为123

[root@node1 ~]#cat a.txt aa.txt

**maohua #**加密前的数据内容

**U2FsdGVkX19necsoBCPCTiyGxhr3h7eX #**加密后的数据内容

**[root@node1 ~]#openssl enc -d -des3 -a -salt -in aa.txt -out b.txt #**用原加密算法解密加密文件

**enter des-ede3-cbcdecryption password: #**输入加密时的秘钥123

[root@node1 ~]#cat a.txt aa.txt b.txt

maohua

U2FsdGVkX19necsoBCPCTiyGxhr3h7eX

maohua

2、非对称加密

非对称加密算法使用两把完全不同但又是完全匹配的一对钥匙——公钥和私钥。在使用非对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密。 非对称加密常见的算法:RSA(既可以用来加密解密,又可以用来实现用户认证)、DSA(只能用来加密解密)、ELGamal等

Linux下常见的加密算法有哪些
Linux中常见的加密技术介绍_Linux_02

(1)优特点:

密钥是成对出现的,用公钥加密数据,只能使用与之配对的私钥解密;反之亦然; 公钥:(publickey)公开给所有主机; 私钥:(secreTKEy)主机留存,必须保证其私密性;(2)缺点: 密钥长,加密解密效率低下

(3)非对称加密技术举例:

[root@node1 ~]#openssl genrsa -out private.key 1024

**#private.key**包含了公钥和密钥两部分,该文件即可用来加密也可以用来解密, 1024是密钥长度。

**[root@node1 ~]#openssl rsa -in private.key -pubout -out pub.key #**由密钥private.key 生成公钥

[root@node1 ~]#echo “123456” | openssl rsautl -encrypt -inkey pub.key -pubin>encode.result

**#**使用公钥pub.key对字符”123456”进行加密

[root@node1 ~]#catencode.result | openssl rsautl -decrypt -inkey private.key

**#**使用私钥private.key对公钥加密文件encode.result进行解密得到原始字符”123456”

(4)非对称加密应用场景:ssh无秘钥远程登录的实现就是利用了非对称加密技术

**[root@node1 ~]#ssh-keygen-t rsa -f /root/.ssh/id_rsa -P “” #**非对称加密输出私钥和公钥

[root@node1 ~]#ls/root/.ssh/

**id_rsa id_rsa.pub #id_rsa**私钥,id_rsa.pub为公钥,将公钥拷贝到远程主机上,则可实现无密码登录。

3、单向加密

单向加密算法,又称hash函数(也称杂凑函数或杂凑算法)就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一般用于产生消息摘要,密钥加密等。

单向加密的常见算法:md5、sha1、sha224、sha256、sha384、sha512(1)单向加密加密特点

数据相同,摘要相同;数据不同,摘要不同;不可通过摘要反推源数据;相同算法,摘要长度相同。

(2)单项散列的简单实践:

[root@node1 ~]#echo maohua | md5sum

**8de05c05333e0d7897bd7989ec054fbd – #**字符”maohua”的摘要

[root@node1 ~]#echo mao hua | md5sum

**29f86ecfc01cb2f584143118b58dc22e – #**字符”mao hua”的摘要,与”maohua”摘要完全不同,仅多一个空格

[root@node1 ~]#echo 1 | md5sum

**b026324c6904b2a9cb4b88d6d61c81d1 – #**一个字符”1”的摘要也是128bits

(3)密码加密方面 可以通过加‘盐’提高密码的安全性,同一算法相同数据的条件下:盐相同,结果相同;盐不同,结果必不相同;数据不同,结果肯定也不同。以下是简单实践:

对”linux”进行MD5加密算法:

**[root@node1 ~]#grub-md5-crypt #**使用md5加密并且自动向加密对象内加入salt

**Password: #**输入linux,进行md5加密

Retype password:

VyRD5/Zk92HqQ/loWEfWpUwxwYy1 #\****加密结果,有三个字段以””分割,第二个字段为盐(salt)

**[root@node1 ~]#openssl passwd -1 -salt “VyRD5/” #**相同待加密字符指定相同加密算法并添加相同salt

**Password: #**输入”linux”

**VyRD5/$Zk92HqQ/loWEfWpUwxwYy1 #**输出相同的加密结果

**[root@node1 ~]#openssl passwd -1 -salt “VyRD5?” #**相同待加密字符指定相同加密算法并添加不同salt

**Password: #**输入”linux”

**VyRD5?$fxhBzsEq38F6s8W7mpzfS0 #**输出完全不同的加密结果

SSL/TLS

Handshake协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换 ChangeCipherSpec协议:一条消息表明握手协议已经完成 Alert 协议:对握手协议中一些异常的错误提醒,分为fatal和warning两个级别,fatal类型错误会直接中断SSL链接,而warning级别的错误SSL链接仍可继续,只是给出错误警告。 Record 协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等 https 协议:就是”Http 协议”和”SSL/TLS协议”的组合。”HTTPover SSL”或”HTTPover TLS”,对http协议的文本数据进行加密处理后,成为二进制形式传输。

Linux下常见的加密算法有哪些

5、密钥交换

IPsec IKE:网络密钥交换协议(IPsec IKE:Internet Key Exchange Protocol) 网络密钥交换(IPsecIKE)是IPsec 体系结构中的一种主要协议。它是一种混合协议,使用部分Oakley 和部分SKEME,并协同ISAKMP 提供密钥生成材料和其它安全连系,比如用于IPsec DOI 的 AH 和 ESP 。 DH:(Diffie-Hellman)一种确保共享KEY安全穿越不安全网络的方法,它是Oakley的一个组成部分。 这个机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个密钥进行加密和解密。DH只能用于密钥的交换,而不能进行消息的加密和解密。

**附加、**openssl使用详解

openssl中有如下后缀名的文件

(1)*.key格式:私有的密钥

(2)*.crt格式:证书文件,certificate的缩写

(3)*.csr格式:证书签名请求(证书请求文件),含公钥信息,certificatesigning request的缩写

(4)*.crl格式:证书吊销列表,CertificateRevocation List的缩写

(5)*.pem格式:用于导出,导入证书时候的证书的格式。

openssl的使用:

#——————————————-加密—————————————-#

**##**对fstab文件进行des3加密,生成加密文件fstab.des3,参数:-d

[root@stu2~]#openssl enc -des3 -in fstab -e -out fstab.des3

**### openssl enc**指定加密的类型,des3表示使用对称加密,-in指定要加密的文件,-e表示加密,-out保存的文件名

#——————————————-解密—————————————-#

##**对fstab.des3文件进行des3解密,生成解密文件fstab.txt ,参数:*-e*

[root@stu2~]#openssl enc -des3 -in fstab.des3 -d -out fstab.txt

###**openssl enc指定加密的类型,des3表示对称加密,-in 表示加密后的文件*,-d表示解密,-out要保存的文件名*

#——————-单向加密*(或md5sum)获取文件的特征码*———————-#

**[root@stu2~]#openssl dgst -md5 -hex fstab #**获取16进制的特征码,默认为16进制的可以省略

**##**除了openssl命令获取文件特征码,还可利用md5sum命令获取文件特征码:

**[root@stu2~]#md5sum fstab #**获取文件特征码

#——————————-**复习签署**CA证书签署——————————–#

**###**为CA生成一个私钥

[root@stu2 CA]#(umask 077;openssl genrsa -out private/cakey.pem 2048)

**###**由CA负责签署证书

**[root@stu2**CA]# openssl req -new -x509-key private/cakey.pem -out cacert.pem -days 3656

**###**添加证书签署的序列号

[root@stu2CA]#touch serial index.txt

[root@stu2CA]#echo 01 > serial

**###############**先生成证书的私钥和公钥文件,以及证书,然后CA进行证书的签署:

**[root@stu2~]#(umask 077;openssl genrsa -out httpd_private.key 2048) #**生成私钥文件

**[root@stu2~]#openssl req -new -key httpd.key -out httpd.csr #**生成证书

**[root@stu2~]#openssl ca -in httpd.csr -out httpd.crt -days 3656 #**在CA主机上签署生成的证书

关于“Linux下常见的加密算法有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Linux下常见的加密算法有哪些

本文链接: https://www.lsjlt.com/news/311005.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下常见的加密算法有哪些
    这篇文章将为大家详细讲解有关Linux下常见的加密算法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux系统中常见的加密算法有:对称加密;非对称加密;单向加密;SSL/TLS;秘钥交换等。1、...
    99+
    2023-06-27
  • Golang中常见加密算法有哪些
    本文小编为大家详细介绍“Golang中常见加密算法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang中常见加密算法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.md5 加密&md...
    99+
    2023-07-05
  • Python中常见的加密解密算法有哪些
    1.url encode加密简介:当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至'/'做一下编码转换。# -*- codin...
    99+
    2023-05-16
    Python
  • .NET中常见的加解密算法有哪些
    这篇文章主要讲解了“.NET中常见的加解密算法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.NET中常见的加解密算法有哪些”吧!一、MD5不可逆加密不可逆加密是指将原文加密成密文以后...
    99+
    2023-06-29
  • Python爬虫中常见的加密算法有哪些
    这篇文章主要讲解了“Python爬虫中常见的加密算法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python爬虫中常见的加密算法有哪些”吧!1. 基础常识首先我们需要明白的是,什么是...
    99+
    2023-07-02
  • java常见的加密方法有哪些
    Java常见的加密方法有以下几种:1. 对称加密:对称加密算法使用相同的密钥对数据进行加密和解密,常见的对称加密算法有DES、3DE...
    99+
    2023-09-06
    java
  • Linux下常见的密码生成器有哪些
    小编给大家分享一下Linux下常见的密码生成器有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!现在应用越来越多,经常要输入密码,有的对密码的健壮性没有要求,有...
    99+
    2023-06-27
  • PHP中常用的加密算法有哪些?
    随着互联网的发展,数据安全已成为我们日常工作中必须关注的严肃问题。针对敏感的个人信息或商业数据,加密变得尤为重要。在PHP开发中,一些加密算法被广泛应用,下面我们就来了解一下PHP中常用的加密算法。一、Base64编码Base64编码常用于...
    99+
    2023-05-14
    PHP 加密算法 常用
  • web中常用的加密算法有哪些
    今天小编给大家分享一下web中常用的加密算法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 加密算法我们整体...
    99+
    2023-06-17
  • Python3常见加密计数方法有哪些
    这篇文章主要介绍了Python3常见加密计数方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python3常见加密计数方法有哪些文章都会有所收获,下面我们一起来看看吧。Python 3 的标准库中没多少...
    99+
    2023-06-27
  • Linux下文件加密的方法有哪些
    这篇文章主要介绍“Linux下文件加密的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下文件加密的方法有哪些”文章能帮助大家解决问题。方法一:gzexe加密这种加密方式不是非常保...
    99+
    2023-06-27
  • Python中有哪些常见的加密操作
    这篇文章给大家介绍Python中有哪些常见的加密操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。hashlib加密import hashlib # 有很多种加密方式,md5,sha1等等...
    99+
    2023-06-13
  • Linux下常见的SSH工具有哪些
    本篇内容主要讲解“Linux下常见的SSH工具有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下常见的SSH工具有哪些”吧!SSH工具SecureCRTSecureCRT支持SSH...
    99+
    2023-06-27
  • Python中有哪些常见的加密方式
    Python中有哪些常见的加密方式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的B...
    99+
    2023-06-02
  • 常用的数据加密算法主要有哪些
    常见的数据加密算法有以下几种DES算法DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。MD5算法MD5为计算机安全领域广泛使用...
    99+
    2024-04-02
  • java加密算法有哪些
    java中常用的加密算法有:1.BASE64算法,二进制数据;2.MD5算法,散列函数;3.SHA算法,消息摘要算法;4.RSA算法,用于加密和数字签名的算法;5.DES算法,对称密码体制加密算法;6.PBE算法,基于口令的加密算法;7.D...
    99+
    2024-04-02
  • 有哪些Go加密解密算法
    这篇文章主要讲解了“有哪些Go加密解密算法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些Go加密解密算法”吧!md5MD5信息摘要算法是一种被广泛使用的密码散列函数,可以产生出一个12...
    99+
    2023-06-16
  • Python常见的数据加密方式有哪些
    这篇文章主要介绍了Python常见的数据加密方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python常见的数据加密方式有哪些文章都会有所收获,下面我们一起来看看吧。前言:常见的加密算法基本分为这几类...
    99+
    2023-06-30
  • java中的加密算法有哪些
    java中的加密算法有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java中的加密算法有哪些import java.security.MessageDigest...
    99+
    2023-05-31
    java 加密算法 ava
  • Linux下常见的引导程序有哪些
    本篇内容介绍了“Linux下常见的引导程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!当你打开你的机器,开机自检(POST)成功完成...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作