SSH加密原理、RSA非对称加密算法学习与理解

SSH的工作原理、加密方式以及配置多个ssh key 本文从SSH工作原理、加密方式开始探究,引出多主机配置ssh连接的密钥选择问题,继续分析ssh_config配置,配以示例配置,干货满满。 阅读详情


转载 http://my.oschina.net/realfighter/blog/388486

首先声明一下,这里所说的SSH,并不是Java传统的三大框架,而是一种建立在应用层和传输层基础上的安全外壳协议,熟悉Linux的朋友经常使用到一 个SSH Secure Shell Cilent的工具,本文也是基于此工具加密原理的学习,在SSH的加密原理中,使用到了RSA非对称加密算法,本文也一并做了学习和了解。



    非对称加密算法


    在日常的工作生产中, 我们经常需要进行数据的通讯,开发人员经常需要对数据进行加解密操作,以保证数据的安全。数据的加密算法非为对称加密和非对称加密两种,常用的DES、三 重DES、AES等都属于对称加密,即通过一个密钥可以进行数据的加解密,密钥一旦泄漏,传输的数据则不安全。


    非对称加密算法的核心源于数学问题,它存在公钥和私钥的概念,要完成加解密操作,需要两个密钥同时参与。我们常说的“公钥加密,私钥加密”或“私钥加密, 公钥解密”都属于非对称加密的范畴,后文中讲到的RSA算法也一种典型的非对称加密算法。公钥加密的数据必须使用私钥才可以解密,同样,私钥加密的数据也 只能通过公钥进行解密。


    相比对称加密,非对称加密的安全性得到了提升,但是也存在明显的缺点,非对称加解密的效率要远远小于对称加解密。所以非对称加密往往被用在一些安全性要求比较高的应用或领域中。


    典型的RSA非对称加密


    RSA加密算法是一种典型的非对称加密算法,它基于大数的因式分解数学难题,它也是应用最广泛的非对称加密算法,于1978年由美国麻省理工学院(MIT)的三位学着:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。 


    它的原理较为简单,我们假设有消息发送方A和消息接收方B,通过下面的几个步骤,我们就可以完成消息的加密传递:


消息发送方A在本地构建密钥对,公钥和私钥;


消息发送方A将产生的公钥发送给消息接收方B;


B向A发送数据时,通过公钥进行加密,A接收到数据后通过私钥进行解密,完成一次通信;


反之,A向B发送数据时,通过私钥对数据进行加密,B接收到数据后通过公钥进行解密。


    由于公钥是消息发送方A暴露给消息接收方B的,所以这种方式也存在一定的安全隐患,如果公钥在数据传输过程中泄漏,则A通过私钥加密的数据就可能被解密。


    如果要建立更安全的加密消息传递模型,需要消息发送方和消息接收方各构建一套密钥对,并分别将各自的公钥暴露给对方,在进行消息传递时,A通过B的公钥对数据加密,B接收到消息通过B的私钥进行解密,反之,B通过A的公钥进行加密,A接收到消息后通过A的私钥进行解密。


    当然,这种方式可能存在数据传递被模拟的隐患,我们可以通过数字签名等技术进行安全性的进一步提升。由于存在多次的非对称加解密,这种方式带来的效率问题也更加严重。    


    SSH加密原理


    在SSH安全协议的原理中, 是一种非对称加密与对称加密算法的结合,先看下图:






    这里进行一下说明:


首先服务端会通过非对称加密,产生一个公钥和私钥;


在客户端发起请求时,服务端将公钥暴露给客户端,这个公钥可以被任意暴露;


客户端在获取公钥后,会先产生一个由256位随机数字组成的会话密钥,这里称为口令;


客户端通过公钥将这个口令加密,发送给服务器端;


服务器端通过私钥进行解密,获取到通讯口令;


之后,客户端和服务端的信息传递,都通过这个口令进行对称的加密。


    个人感觉,这样的设计在一定程度上提高了加解密的效率,不过,与客户端服务端各构建一套密钥对的加解密方式相比,在安全性上可能有所下降。在上面所述的通过口令进行加密的过程中,数据也是可以被窃听的,不过由于密钥是256个随机数字,有10的256次方中组合方式,所以破解难度也很大。相对还是比较安全的。服务端和客户端都提前知道了密钥,SSH的这种方式,服务端是通过解密获取到了密钥。


    DH密钥交换算法


    SSH的原理,是基于RSA非对称加密,RSA是基于大数的因式分解数学难题,下面要提到的DH密钥交换算法则是基于有限域上的离散对数难题。


    DH算法是一种密钥协商算法,只用于密钥的分配,不用于消息的加解密。它提供了一种安全的交换密钥的方式,通过交换的密钥进行数据的加解密。就像SSH原理中,口令的交换,不过DH算法更安全。


    我们举个例子来进行说明,假设有A、B两方,A作为发送者,B作为接收者。通过下面的几个步骤就可以构建出一个只属于双方的密钥口令,如下:


首先A、B双方,在通信前构建专属于自己的密钥对,假设分别是公钥A,私钥A,公钥B,私钥B;


A将自己的公钥A暴露给B,B通过私钥B和公钥A经过一定的运算产生出本地的密钥B;


同样,B将自己的公钥B暴露给A,A通过私钥A和公钥B经过一定的运算产生出本地的密钥A;


最后,这个算法有意思的一点就是,密钥A和密钥B是一致的,这样A、B双方就拥有了一个属于双方的“秘密”口令;


    DH算法的产生是,对称加密向非对称加密的过度,为后续非对称加密的产生和发展奠定了基础。


    总结:成文的过程中,阅读了一些关于加密解密的算法,做出了如上的理解,毕竟术业有专攻,也可能存在理解偏颇,甚至错误的地方,希望大家批评指正。
RSA加密算法 前言 一、RSA算法简介 RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。 RSA绝对是当今应用最为广泛的加密算法,像数字签名,数字证书,SSH,HTTPS加密连接全部都是他的典型应用。 二、数学基础 1.互质 互质又称为互素,如果两个或两个以上的整数的最大公约数是 1,则称它们为互质。 2.欧拉函数 欧拉函数指的是对正整数n,求小于或等于n的正整数中与n互质的数的数目,记作φ(n)。 3.欧拉定理 欧拉定理也称费马- 阅读详情

相关推荐

对称加密 vs. 非对称加密:原理、算法与应用详解

加密技术是保障数据隐私和完整性的核心手段。无论是网上银行交易、即时通讯,还是企业数据存储,加密算法都在背后默默发挥作用。加密技术主要分为对称加密和非对称加密两大类,它们各自有不同的工作原理、优缺点和适用场景。

vvilkin的学习备忘 2579

SSH的原理与应用

SSH的原理与应用一、SSH简介二、SSH工作原理1.对称加密(密钥加密)2.非对称加密(公钥加密)三、中间人攻击四、口令登录五、公钥登录六、SSH端口转发七、SSH基本用法 一、SSH简介   SSH是Secure Shell的缩写,也叫做安全外壳协议。SSH的主要目的是实现安全远程登录。本质上是进行加密的shell。它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。   SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Workin

大小曲奇的博客 6691

对称加密,非对称加密,SSH

熟悉Linux的人肯定都知道SSH。SSH是一种用于安全访问远程服务器的网络协议。它将客户端与服务端之间的消息通过加密保护起来,这样就无法被窃取或篡改了。那么它安全性是如何实现的呢? 为了理解SSH,先要介绍两个重要概念:对称加密和非对称加密。 对称加密: 在对称加密中,客户端和服务端使用同一个密钥对数据进行加密和解密。这种方法的好处是加密强度高,很难破解。缺点也很明显,即密钥本身容...

Meiko记录 803

对称加密,非对称加密,ssh原理总结

使用同一密钥进行加密,解密;

爱美食的Geek 1097

RSA非对称加密算法实现与实战详解

随着互联网通信的快速发展,信息安全成为保障数据隐私与完整性的核心议题。加密技术从早期的古典密码演进到现代密码学体系,逐步形成了对称加密与非对称加密两大主流体系。对称加密使用同一密钥进行加解密,效率高但密钥分发存在风险;而非对称加密引入公钥与私钥成对机制,解决了密钥共享难题。其中,RSA算法作为最早提出的非对称加密方案之一,因其坚实的数学基础和广泛的应用场景,成为现代安全协议(如TLS、SSH、PGP等)的核心支撑技术。本章将为深入理解RSA奠定理论基础。在非对称加密体系中:公钥。

weixin_30653091的博客 990

Python3从零实现RSA非对称加密算法(不依赖第三方库)

欧拉函数 $ \varphi(n) $ 在数论中定义为小于等于 $ n $ 且与 $ n $ 互质的正整数个数。在RSA中,它的核心作用在于确定模 $ n $ 下乘法群 $ \mathbb{Z}_n^* $ 的阶,即该群中可逆元素的数量。

weixin_42462474的博客 1003

SSH服务2——加密原理篇

window的加密原理 说SSH加密原理前,先说说windows的加密。在windows当中,一个文件是可以被加密的,右键—>属性—>常规—>高级这。只要勾选了“加密内容以便保护数据”,确定后,由于是使用管理员账户加密,而登录的时候使用的还是管理员账户,导致当使用非管理员账户时或者其他计算机尝试打开时,是不允许使用的。 这种加密非常的隐蔽,不像word加密那样,每次打开都需要你输密码,过一段时间都不记得这个文件加密过。当电脑出现故障需要重新安装系统时,虽然这个文件备份过,但是没有导出加密

frank_ci的博客 2067

STM32水质检测小船设计

近年来水资源的监测与保护越来越受到政府部门的重视,抓好源头问题才能做好环境治理,因此建立完善的水环境监测系统是很有必要的。针对当前水环境参数监测中存在的各种问题,例如水质信息采集范围固定、灵活部署监测能力差、信息采集不够智能化、人机交互能力不足等,这些问题导致水环境监测设备不够灵活。 针对上述问题,本文设计了一款基于STM32的水环境监测小船,提出了一种灵活、智能的监测水环境信息的方式。本文将船体作为传感器和控制板的载体,具有可移动性,有利于灵活广泛的采集水环境信息。 本设计选用STM32F103C8T

m0_74026776的博客 1368

万字详解SSH(SSH登录原理+SSH配置+模拟实现SSH免密登录)

ssh是一种用于安全访问远程服务器的协议,远程管理工具。对比起telnet,它更加的安全,那么它是如何保证安全的呢?总结:发送方和接收方使用的是同一个密钥来进行加密和解密发送方使用密钥将明文数据加密成密文,然后发送出去对称加密里最关键的就是这个密钥,客户端和服务器需要约定好密钥是啥如果是客户端生成了密钥,就需要通过网络告知服务器,密钥是啥密钥本身也在网络上文明传输,也容易被黑客获取,一旦被黑客获取到了了,后续的加密就失去了意义。引入非对称加密,使用非对称加密来对对称密钥进行加密解密:既然都有非对称加密了,为

爱敲代码的三毛的博客 4677

CST高阶技巧:用周期性边界快速仿真共面波导色散特性(含JDM求解器优化)

本文详细介绍了在CST仿真软件中,利用周期性边界条件结合JDM本征模求解器,高效分析共面波导色散特性的高阶技巧。该方法通过仿真一个单元胞而非整条传输线,大幅提升计算效率,并提供了从建模、边界设置、求解器优化到后处理的完整工作流程,是高频电路设计的实用指南。

weixin_29280219的博客 402

Intel Arc显卡玩《三角洲行动》报错?手把手教你修改注册表跳过验证

本文针对Intel Arc显卡用户在运行《三角洲行动》时遇到的驱动验证报错问题,提供了详细的解决方案。通过安全修改Windows注册表,添加特定键值以跳过游戏驱动兼容性验证,并结合游戏内图形设置与Intel驱动面板的优化建议,旨在帮助玩家顺利进入游戏并提升游戏帧率与运行稳定性。

weixin_29310605的博客 695

RSA加密算法,从实际应用到基础原理(一)

RSA加密算法,从实际应用到基础原理

mashiqing的博客 1645

一层一责,一聚合一包:DDD分层架构下的微服务代码模型、三重边界与服务数据协作

领域模型画得再清楚,落不进代码也是空谈。本文以一个可运行的客户中心微服务为线索,先对比整洁架构、六边形架构与DDD分层架构,指出三者共同守护的那条隔离核心业务的红线;再把DDD分层落成四个一级目录、以聚合为单位分包、一个聚合一个仓储的代码模型,拆解实体、聚合根、值对象、领域事件、领域服务与仓储的设计要点;随后厘清逻辑、物理、代码三重边界,并用检查器实测:干净代码零越界,拆出积分聚合时领域代码无需改动;注入九处越界后,必须先重构才能拆分。最后梳理服务调用三场景与PO、DO、DTO、VO的协作。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 177万+

RSA加密:从数学原理到C语言代码实现

RSA 加密算法是 1977 年由罗纳德・李维斯特(Ron Rivest)、阿迪・萨莫尔(Adi Shamir)和伦纳德・阿德曼(Leonard Adleman)共同提出的非对称加密算法,因三人姓氏首字母得名。作为目前应用最广泛的非对称加密技术之一,RSA 被用于 HTTPS 通信、数字签名、SSH 登录、电子证书等场景,其核心优势在于 “加密密钥与解密密钥分离”,从根本上解决了对称加密中 “密钥分发” 的安全难题。

2302_76500884的博客 877

YOLOv11改进 | 添加注意力篇 | 一文带你改进GAM、CBAM、CA、ECA等通道注意力机制和多头注意力机制

这篇文章给大家带来的改进机制是一个汇总篇,包含一些简单的注意力机制,本来一直不想发这些内容的(网上教程太多了,发出来增加文章数量也没什么意义),但是群内的读者很多都问我这些机制所以单独出一期视频来汇总一些比较简单的注意力机制添加的方法和使用教程,本文的内容不会过度的去解释原理,更多的是从从代码的使用上和实用的角度出发去写这篇教程。欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍二、GAM2.1 GAM的介绍2.2 GAM的核心代码。

Snu77的博客 5151

【项目实战】使用Python - Mediapipe、OpenCV进行手部面部检测(Python源码)

本文介绍了使用MediaPipe和OpenCV库进行实时面部和手部关键点检测的方法。通过MediaPipe的Holistic模型,可以获取468个面部特征点及每只手21个特征点。文章详细说明了环境配置、模型初始化参数设置,并提供了完整的代码实现,包括视频流处理、关键点绘制和FPS计算等功能。这套方案可应用于手语识别、疲劳检测等计算机视觉场景,为开发者提供了一套高效的开箱即用解决方案。

梦想起飞的地方 480

安全(一)— 完全理解RSA加密算法

本质就是依赖于三个自然数:$n,e,d$,$n$ 和 $d$ 构成一个密钥,$n$ 和 $e$ 构成另一个密钥。对于$(n, d)$与$(n, e)$这两个密钥,无论用哪个密钥加密出来的密文都可以用另一个密钥解开, 所以不必强调哪个用于加密,哪个用于解密,只要把一个公布出去(称为公钥),另一个自己藏着(称为私钥)就行了。根据这种特性,通常, - 使用 **公钥加密** , **私钥解密** ,实现 **加密**。 - 使用 **私钥加密** , **公钥解密** ,实现 **数字签名** 。

洛丹伦的夏天 1318

构建基于知识图谱的金融风险关联网络

在金融领域,风险的识别和管理至关重要。传统的风险分析方法往往只能处理单一维度的数据,难以全面捕捉金融市场中复杂的风险关联关系。构建基于知识图谱的金融风险关联网络的目的在于整合多源异构的金融数据,通过知识图谱的方式清晰地展示金融实体之间的复杂关系,从而更准确地识别潜在的金融风险,为金融机构的风险管理决策提供有力支持。本项目的范围涵盖了从金融数据的收集、预处理,到知识图谱的构建,再到金融风险关联网络的搭建和分析。

SuperAGI2025 1420

SSH HTTPS 公钥、秘钥、对称加密、非对称加密、 总结理解

目录[-] DES: DSA: RSA: 公钥、私钥 的解释 签名: 指纹: 公钥登陆 error SSH基本原理和免密码登录 公钥认证的原理 非对称加密 SSL/TLS协议 https 非对称+对称 作者:shede333  主页:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u

我不会编程,但不是完全不会,我会一点点 3394

AMS TMF8820/21/28 SPAD 掩码和模式选择

为了实现最快的测距周期,将报告周期设置在测距周期以下的毫秒,以确保不会有等待时间。除了8X8固定了pixel的位置意外,其他模式客户可以设计自己的spad掩码,并将spad单独分配给通道。对于这些spad掩码,有一些约束。左下角提示红色代表光学中心,绿色方框表示单个spad,每个MP里可能有2X3个spad,也有2X5个spad,也有3X6+3个spad,这部分适配光学,最大的程度的利用spad区域。以下是几种预定义的spad掩码,非常灵活的配置,来适配各种3X3,4X4,8X8的模式选择。

dream it possible 700

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

加密算法基本原理、特点及使用场景

本文系统介绍了加密算法的基础知识,主要分为对称加密、非对称加密和单向加密三大类。对称加密(如AES、DES)使用同一密钥加解密,效率高但密钥管理复杂;非对称加密(如RSA、ECC)采用公钥/私钥机制,安全性高但计算复杂,常用于数字签名和密钥交换;单向加密(如SHA-256、MD5)为不可逆哈希算法,用于数据完整性验证。三类算法各有特点,实际应用中常组合使用(如HTTPS协议),以兼顾安全性与效率。随着技术发展,MD5等早期算法因安全性不足正逐步被淘汰。

摩霄志在潜修羽,会接鸾凰别苇丛 1477

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: SSL/TLS协议安全系列:SSL/TLS概述
下一篇: 常用密码
forevertingting
博客等级 码龄12年 6粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值