首页
社区
课程
招聘
[求助]密码学的一个小问题
发表于: 2013-1-24 11:58 7781

[求助]密码学的一个小问题

2013-1-24 11:58
7781
从学习密码学以来一直有一个疑问:
    在"网络通信安全模型"中,通信双方是通过不安全信道(例如:Internet)来传输信息的,也就是说,加密方将经过加密算法操作后的密文通过不安全信道传送给解密方。
   那么,如果是采用“对称密钥密码算法”来进行加密/解密,则通信双方共用一个密钥,且此密钥必须通过安全信道传输到解密方。
   试想:如果密钥可以通过安全信道进行传送,那为何还需要加密呢?直接将双方的通信信息(明文)也通过此信道传输,岂不可以省去加密和解密的繁琐操作,提高效率。
   另外,安全信道指的是怎样的信道呢?

虽然这两个问题很初级,但也恳请高手们不吝赐教。作为入门者的我感激不尽。呵呵。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
传统上,安全信道指的是面对面的渠道,例如你必须要到柜台才可以设置网银密码和交易口令,之后你才可以在网上交易,这个就是先安全渠道确定你的身份,在设置你的密钥,之后就可以在非安全通道上传输数据了。

至于有时候必须要在互联网上传输密钥,那么就是用非对称加密来传递对称算法的密钥(一般将私钥足够长的非对称算法看作是安全可靠的),然后再用对称算法的密钥来加密数据传输。
2013-1-24 12:34
0
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
给你举个例子
A要传送一个机密信息给B,不能让别人窃取,internet又是不安全的。
1、A生成RSA(非对称算法,其他也行,这里只是例子)的一个公钥PubKey和一个私钥PriKey,把PubKey直接发给B(PubKey可能被别人窃取)。
2、B生成了用于数据通信的AES(对称算法,这里只是个例子)密钥AesKey,用PubKey加密成密文CryptAesKey,发给A(CryptAesKey可能被别人窃取)。
3、A拿到CryptAesKey后,用PriKey解密成AesKey(其他人没有PriKey,无法解密,就算B也不行)。
4、这个时候,A和B都有了AesKey,A就可以用AesKey把数据加密后,传输给B,B用AesKey来解密。第三方无法得知AesKey,没有解密数据。

所谓的安全通道,就是基于几乎无法从PubKey里推导出PriKey,从而保证了数据的安全。但为啥不直接使用非对称算法进行数据通信呢,就是因为非对称算法速度慢,不适用于大量的数据传输。目前非对称算法主要用于密钥的传输、身份认证、数字签名上,对称算法用于大量的数据加密。

上面的例子,RSA就是用来传输AES密钥的。

补充:
非对称算法都是基于NP问题,RSA就是基于大数分解这个NP问题。何为NP问题?NP就是非多项式问题,就比如大数分解,给你个很大的合数N,你无法用确定一个多项式来算出这个数是由什么质数组成的,但你可以从2开始,比如2、3、4……(例子而已,可以优化的),拿N去除这些数,如果整除了,那你就分解了这个合数N。RSA的N很大,他的分解需要大量的计算,目前的计算机无法短时间内完成,这就是为什么PubKey几乎无法推导出PriKey的原因。

以上都是我的一些见解,难免有错误的地方,请见谅。
2013-1-24 13:05
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我能理解楼上两位高手的意思,你们都是采用的“混合加密思想”在通信双方之间进行信息的传输。

   问题是:如果“安全信道”指的是物理上的传输渠道,比如:面对面地交流。那这种通道也适合于传送明文信息啊。如果A可以安全的将密钥交给B,则A也可以将原本需要加密的明文信息直接给B啊。因此,1楼的高手您说的这点我还是有些混乱。
   倒是,如果将“安全信道”解释为一种抽象的通道——公钥加密算法,反而容易理解些。由于公钥算法基本都是基于复杂的数学问题,故在加密/解密过程中需要进行大量的数学计算,因此,此类算法不适合对信息量大或数据量大的信息进行操作,这样会影响整个密码系统的运行效率,故公钥算法只适用于对数据量较少的信息进行操作,比如:密钥,散列值,消息摘要。
    不知道我这样的理解可行吗?恳请高手再指点一二,谢谢。呵呵。
2013-1-24 22:02
0
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
LZ不要忘记一点,不是存在安全通道,就不需要其他通道了。比如你觉得当面对话就是安全通道,要是你觉得QQ,电话不安全,难道你就什么话都要当面说么?虽说2L的说的可能不是很恰当,但是,难道因为直接去银行办业务是安全的,是个安全通道,那你就不用网银了?飞机可能坠机,汽车可能撞车,吃饭可能中毒,难道咱们就不用活了么?说得有点过了,抱歉。我就是想告诉你,任何一个事情,有好有坏,就看在什么场合使用。

银行一样如此,当面办业务,当然很安全,网银可能导致密码被泄露等等问题,但为啥还会推广,就是因为他的便利性,一旦我们把安全性提高到一定级别,把被盗的概率降低到一定级别,把被盗后的处理机制都完善,那网银的便利性就会突出,用得人就多了。

我经常用网银,我也怕用了网银泄露我的密码,但我不会为此去银行汇款,即使去银行汇款很安全。相对去银行的麻烦,我选择了网银的便利,因为对于我来讲,目前网银的安全性我可以接受。
2013-1-25 12:41
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
To ITSailor:
     关于您说的密码在现实中的应用所带来的便利,我也感同身受。我并不是在较真“既然有安全通道的存在,那不安全通道是否有存在的必要”这个问题。只是对于一些密码学书上都会出现的“保密通信安全模型”的提出有点疑问。
   因为,既然它是一个模型,那应该相当于一个规范,一个标准,那是不是说在设计各种密码体制和算法的时候都要参照这个模型,但事实并不是这样。例如:公钥密码算法的出现,使得当我们采用混合密码体制对信息进行加密/解密时,不再需要把密钥通过安全信道传输。
   所以,我只是觉得这个“保密通信安全模型”那么权威的摆在那里,却让我有些疑问,这才在论坛里想寻求答案的。呵呵。
2013-1-25 13:42
0
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
虽然我不知道你说的"保密通信安全模型"是一个什么概念,但我觉得任何理论和模型的提出,必然有他的历史原因和社会背景,你了解了,他就不是什么权威了。就如我在3L提到的RSA/AES通信例子,如果把它当做通信的一个模型,那么他就有一定的历史原因和社会背景了,就是RSA不存在密钥泄露风险但速度慢,AES速度快但密钥有泄露风险,而且网络环境下无法直接传递密钥,所以二者结合起来使用了。如果你的应用领域不是这种情况,比如你给我发了个加密文件,然后打电话告诉我密码,那明显我这个模型就没用了。

所以当你看到了一个你不认识的东西的时候,你试图从概念去理解他,但却不明白为什么,那么你可以试图从他出现的历史背景中去观察。就如RSA/AES混合通信,我告诉你概念,告诉你通信流程,你可能还是不明白为什么要这么做,但我要是告诉你,RSA慢,AES快,你就能明白这么做的原因,说白了,搞得那么复杂,也是无奈之举。

补:
我近来在看近世代数的书,里边从集合开始讲,讲到同构,群的概念,我完全没搞明白这群能干啥,也不明白这叫啥有跨时代意义的群有个毛用。但我换了本书,这本书从历史开始讲,将当时再解一元五次方程中碰到的困难,讲当时如何从解方程中发现了置换群的概念,然后如何利用群,来解决一元五次方程解的问题的。我就能明白群的划时代意义了。
2013-1-25 14:18
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
To ITSailor:
   在上一个回帖给您发出后,我自己又想了想,可能是有点纠结在这个问题上了,但我的初衷是想把问题的来龙去脉以及各个环节尽量弄清楚,不想一知半解。没想到,给人的感觉是有点形式主义了。
   但您的建议很好,对于一个问题不要单纯的从理论角度去理解和解释,应该把它放到现实中、从实践方面去认识和了解,这样,反而对问题的理解会更深刻。
   我受教了,谢谢!呵呵。

      另外,关于您说的群域环的概念,我还没有专门看过这方面的著作,只是在学习密码的时候需要什么知识,就学一些。其实,我也发觉单纯地理解这些数学概念好像跟密码算法真的关系不大,所以这两天才在当当上买了几本关于“信息安全中的数学方法和技术”方面的书。
    看了您的学习体会,我觉得对我也会有帮助的。一并谢谢啦!非常愿意向您经常学习!

PS:您是男生吧,麻烦请在帖子中尽量文明用语哦,呵呵。
2013-1-25 17:04
0
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我很文明啊
2013-1-26 01:58
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
LZ太文明了,哈哈
2013-1-26 17:44
0
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
“试想:如果密钥可以通过安全信道进行传送,那为何还需要加密呢?直接将双方的通信信息(明文)也通过此信道传输,岂不可以省去加密和解密的繁琐操作,提高效率。”
物理上的安全信道往往资源受限或成本太高或使用不便,例如互联专线等,通常不适合大范围使用;非安全信道,通常就是公用信道,例如互联网,是指数据在该信道上的传输是透明的。
正是因为物理上建立安全信道的诸多不便,所以出现新的密码方法,这就是公钥密码。公钥密码的好处之一是能在公用信道上建立安全信道。
即使有安全信道,加解密也是必须的。所谓“秘密”,首先是信息,信息的基本属性就是传播,如果传播过程全是基于安全信道,那“秘密”也就不能称之为“秘密”。这也是“秘密”与普通信息的区别。
2013-3-6 15:43
0
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
密码学其实是一门纯数学,如果说密码学与数论有关,想必没人会怀疑(想想RSA);而要更好的理解和研究数论,代数方法是不可少的;群环域这些,其实是抽象结构,并不是一个具体对象,许多数的集合,例如“模”,就可以使用群这个结构去研究它,这种研究会使得原来复杂的问题变得简单,并让你对“数集”的结构更为了解。
密码算法基本上都是在研究一种或多种“数集“的结构。
群论的”划时代意义“在于提供了一种全新的研究方法,相当于是为整个数学提供了一个新的方法论,极大的促进了数学的发展,其意义远远大于求解一元五次方程。
2013-3-6 16:08
0
雪    币: 139
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我理解楼主的意思是要建个关于保密通信的模型就需要严格规范的概念或用语,如果在一个保密通信的系统模型里出现一个超出模型的概念就会显得这个建立的系统模型不完备,而本身对“安全信道”的认识,我认为是通信双方信任的信道即可解释清楚,举的很多例子不过是实现的方法,也正因为以这种概念来认识就可以建立一个概念上比较完备的体系了,不知道这样理解的对不对
2013-3-6 19:53
0
雪    币: 139
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
至于楼主提到的两个问题,应该这样来理解,密钥必须通信安全的信道进行传输,那数据必然也是可以通过这个信道进行传输的,只是因为加密速度、用户量、通信系统规模等原因,我们要选择不同的安全信道分开传输密钥和数据,另外,将密钥和数据采用不同的安全信道传输会更安全,因为这样就算你知道了数据的加密方式,但因为没办法得到密钥也无法实现数据的解密,当然我们是可以将密钥和数据一起传的,只是安全性显然会下降
2013-3-6 19:58
0
游客
登录 | 注册 方可回帖
返回
//