`
Bruce.Wang
  • 浏览: 8399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

SSH里非对称密钥(公钥,私钥)及认证中心原理

阅读更多
  要了解ssh则需要理解现代密码学当中的非对称密钥及认证中心处理机制等基础概念。这里阐述一下我的理解。
  首先说明一下处理机制:
  1.非对称密钥就是一对密钥-公钥和私钥。
  2.私钥由系统中没个人自己持有,一般保存在自己的电脑里或u盘里。
  3.公钥则在网络上传递,就是可以传递给通信中的对方,也就意味这可以被黑客截获。
  4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用私钥解密。

  这样我们在信息处理中的应用一般的流程可以是这样:
  假设我们有两个消息方a和b
  1.a要b发消息,首先得到或者由b传递给a一个b的公钥。
  2.然后a用b的公钥加密消息然后传递给b。
  3.b用自己的私钥解密消息得到明文。

  然而这个流程还是有一定的问题,首先对消息加密本身没有问题,但是会被另一种攻击,就是有一个人在中间截获了消息后,然后自己用b的公钥加密一个消息传给b。
  所以这样就需要对身份认证的一个机制了,CA认证服务器就是通过给系统内的用户发证书的形式来做身份认证。还要一种认证方式是通过消息摘要。一般流程如下:
  1.a要给b发消息,先对消息用不可逆加密算法(如md5算法)对消息生成一个消息摘要,对消息摘要用自己的私钥加密。
  2.然后用b的公钥对消息本身加密。然后连同消息摘要一起发给b。
  3.b可以用a的公钥解密消息摘要,可以确定这个消息摘要是a的,然后在通过自己的私钥去解密消息,然后通过md5算法生成消息摘要,如果和前面的消息摘要一样,则可证明这个消息是a发的。

  当然,在真正的现实应用中流程可以会更复杂(要不怎么那么长时间呢,呵呵)。但是基本原理这样。java对消息摘要和md5及私钥公钥都提供支持的。
分享到:
评论
7 楼 hcqenjoy 2008-09-04  
digithuman 写道
4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用私钥解密

好像不是这么回事
私钥加密的数据只有用那个人的公钥解密 是不可能的事情

公钥是不能解密的  私钥加密生成一个 加密后的结果 ,公钥可以验证是否是私钥加的密。

安全传输里边有三个特性 完整性 不可抵赖性 加密性

私钥加密 公钥验证 确保完整性
公钥加密 私钥解密 加密性

私钥的不可复制和唯一性 来保证 不可抵赖性





4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用私钥解密
这个是对的

在传输数据时  一般采用数字信封 

基本过程  随机生成一个密钥 对数据采用对称算法加密  用接收方的公钥加密随机密钥然后和加密过的数据打包发给接收方,接收方用自己的私钥把随机密钥解密,在用随机密钥解密数据
6 楼 Bruce.Wang 2008-07-22  
以我的理解,私钥加密数据公钥是可以解密的。私钥从某方面来讲可以确定身份。
至于验证,是要通过消息摘要来实现的。消息摘要是通过md5不可逆的加密算法实现的,可以用于验证。
5 楼 digithuman 2008-07-22  
4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用私钥解密

好像不是这么回事
私钥加密的数据只有用那个人的公钥解密 是不可能的事情

公钥是不能解密的  私钥加密生成一个 加密后的结果 ,公钥可以验证是否是私钥加的密。

安全传输里边有三个特性 完整性 不可抵赖性 加密性

私钥加密 公钥验证 确保完整性
公钥加密 私钥解密 加密性

私钥的不可复制和唯一性 来保证 不可抵赖性



4 楼 nowonder 2008-07-21  
ssl没那么变态,非对称的加解密计算消耗很大。一般都是第一次通信中就随机生成了一个临时密钥,用公钥加密送过去,然后之后的通信就用这个临时密钥进行对称加解密。
3 楼 nowonder 2008-07-21  
是ssl...
2 楼 Bruce.Wang 2008-07-21  
对于java,都在java.security包下面
1 楼 aidsag 2008-07-21  
这个是哪个API的?

相关推荐

    RSA生成公钥私钥和使用公钥私钥加密解密demo

    RSA算法是一种非对称加密算法,它在信息安全领域有着广泛的应用,特别是在数据加密、数字签名等方面。本示例提供了一个RSA加密工具类,用于生成公钥和私钥,并使用它们进行加密和解密操作,这对于保护数据库中的敏感...

    使用公钥加密私钥解密原理

    这种加密方式与传统的对称加密不同,它涉及到两把密钥:一把是公开的公钥,另一把是保密的私钥。在公钥加密和私钥解密的机制下,数据的加密和解密使用的是不同的密钥,从而提供了更高的安全性和隐私保护。 公钥加密...

    非对称密钥

    非对称密钥,也称为公钥加密,是现代密码学中的一个重要概念,它在确保网络数据传输安全方面起着至关重要的作用。这种加密技术基于一个核心原理:一对密钥,一个为公开的公钥,另一个为私有的私钥,它们之间具有数学...

    RSA加密 公钥、密钥生成工具

    RSA加密是一种非对称加密算法,它在信息安全领域扮演着重要的角色,特别是在数据加密、数字签名和安全网络通信中。RSA的名字来源于其三位发明者Ron Rivest、Adi Shamir和Leonard Adleman。该算法基于大数因子分解的...

    Java生成非对称型加密公钥和私钥的方法

    在上述代码中,`KeyRSA` 类实现了 RSA 非对称加密的公钥和私钥的生成及存储。以下是该类的主要知识点: 1. **密钥对生成器(KeyPairGenerator)**: `KeyPairGenerator` 是 Java 安全包(java.security)中的一个...

    LinuxSSH使用ssh公钥密钥自动登陆linux服务器收集.pdf

    这种方法基于非对称加密,通过一对密钥——公钥和私钥——来确保只有拥有相应私钥的用户能够登录服务器。 **第一步:生成ssh公钥密钥对** 在管理服务器上,使用`ssh-keygen`命令生成一对rsa类型的公钥和私钥。例如...

    生成公钥密钥工具(Openssl) 64位

    公钥加密技术是一种非对称加密算法,它使用一对密钥——公钥和私钥。公钥是可以公开分享的,用于加密数据;而私钥必须保密,用于解密由公钥加密的数据。这种机制使得只有持有私钥的一方才能解密由公钥加密的信息,...

    密钥生成工具 puttygen,windows系统下用于生成公钥和私钥。

    SSH协议基于公钥/私钥加密机制,这是一种非对称加密方法,确保了数据传输的安全性。在SSH中,公钥和私钥是一对匹配的密钥,它们之间具有数学关系,但不能互相推导。公钥被公开,可以分发给任何想要与之通信的服务器...

    支持rsa公钥加密私钥解密;支持rsa公钥解密私钥加密

    RSA算法是一种非对称加密算法,它是现代密码学的基石之一,广泛应用于数据加密、数字签名和密钥交换等领域。该算法基于数论中的大数因子分解难题,由Ron Rivest、Adi Shamir和Leonard Adleman在1978年提出,因此得名...

    sshkey-cn 华为、思科、W3C RSA转16进制

    RSA是一种非对称加密算法,常用于SSH密钥的生成。 标题“sshkey-cn 华为、思科、W3C RSA转16进制”暗示了这个工具或教程专注于将RSA密钥转换成16进制格式,特别针对华为、思科和W3C的环境。这可能是因为在特定的...

    SSH原理详解.docx

    SSH原理详解 SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证...另外一个就是在用户认证阶段,利用只有匹配的私钥可以唯一解密公钥加密的内容这一特点,通过客户端的公钥私钥对验证客户端的身份。

    SSH密钥认证登录.doc

    SSH密钥认证是SSH安全机制的一种,它利用非对称加密技术来验证客户端的身份,从而无需每次登录时输入密码。 在SSH密钥认证过程中,涉及到两把密钥:公钥(public key)和私钥(private key)。公钥是可以公开的部分...

    ssh加密技术研究及实现本科学位论文.doc

    非对称密钥密码体制是指使用一对不同的密钥对数据进行加密和解密,一般情况下,公钥用于加密、私钥用于解密。这种方式的优点是密钥的管理和分配更安全,但缺点是加密和解密速度相对较慢。 2.2.1 RSA 算法 RSA 算法...

    java RAS非对称公私密钥加密+AES公私密钥加密+过滤器入口出口统一处理

    RSA是一种非对称加密算法,其核心在于一对密钥:公钥和私钥。公钥可以公开给任何人,用于加密数据;而私钥则需要保密,用于解密数据。这种特性使得RSA在安全通信中广泛应用,如HTTPS、SSH等。在Java中,我们可以使用...

    Win64OpenSSL-1_1_0f_用于生成RSA的公钥私钥对,并可加解密处理

    这个版本的OpenSSL支持RSA密钥生成,是生成和管理RSA公钥和私钥对的重要工具。 **RSA密钥生成** 生成RSA密钥对通常包括以下步骤: 1. **选择两个大素数**:随机选取两个足够大的素数p和q,它们的长度通常以位数...

    RSA 公钥加密-私钥解密

    这种算法基于两个密钥:公钥和私钥。公钥是可以公开分享的,而私钥则需要被严密保护,只有拥有私钥的人才能解密由对应公钥加密的信息。 RSA算法的核心原理基于数论中的两个大素数的乘积难以分解的难题,即大整数...

    华为 h3c 3com ras转16进制工具 sshkey.exe

    在SSH中,RSA用于生成密钥对:公钥用于加密,私钥用于解密。公钥可以公开分享,而私钥必须保密。 sshkey.exe工具可能就是为了解决将RAS相关的密钥转换为16进制格式的问题。在某些情况下,网络管理员可能需要以16...

    Java非对称加密源码实例

    非对称加密,又称为公开密钥加密,它的核心是两个密钥:公钥和私钥。公钥可以公开给任何人,用于加密数据;而私钥必须保密,用于解密由公钥加密的数据。这种机制确保了即使公钥被截获,也无法轻易解密数据,因为没有...

    ssh加密技术研究及实现--大学毕业论文.doc

    非对称密钥密码体制的工作原理是,发送方使用公钥来加密数据,接收方使用私钥来解密数据。非对称密钥密码体制的优点是安全性高,但缺点是速度慢。 RSA算法 RSA算法是一种常用的非对称密钥算法,用于保护网络数据...

    good_code.rar_非对称加密

    首先,生成非对称密钥对是基础,通常这包括创建一对RSA密钥,由一个公钥和一个私钥组成。公钥可以公开分享,而私钥必须保密。生成密钥的过程涉及复杂的数学算法,如大数因子分解或椭圆曲线,确保安全性。 导入和...

Global site tag (gtag.js) - Google Analytics