首页
论坛
专栏
课程

未知数加密理论

2019-4-28 11:09 5197

未知数加密理论

2019-4-28 11:09
5197
  信息加密技术说白了就是信息隐藏技术,原文件如果是可以看懂的东西,加密后就看不懂了,也就实现了保密,经过加密的信息在存储、和传输中就安全了,他人得到了也看不懂。
  用什么来隐藏信息,没别的东西也是数据了俗称密钥、或密匙,如果你手头有个加密软件,你想看看这款软件密钥做的怎么样,你可以这样让它加密一个空文件,也就是内容全部是零的文件,这时密文全部为密钥数组所占据,你可以检验密钥数组的优劣。如果密钥数组是乱码数组,并能通过NIST检测就认为密钥数组是好的,否则就是差的。
  其实密钥数组的关键不是其随机性,而是其未知性,这要你用尽所有办法也不能得到任何密钥数组的信息,那这个数组就是好的,而不管随机性好不好都能起到严格的加密作用。
          明文 算符 密钥 = 密文
  从这个式子可见,如果明文未知、密钥未知、密文已知的情况下是二元一次方程是不可解的,即使知道算法的细节也是如此。
   尽管如此,为什么穷举攻击能够得手呢?这是软件自身缺陷造成的,本来软件对所有真假用户密码都是对等的,但某些软件却让其不对等,你的用户密码是真的软件一种反应,是假的软件另一种反应,造成了软件成为密码的筛选器,这样穷举攻击就得手了,winrar的加密就是这种例子,所以加密软件不要自取灭亡出卖自己。
   即使没有上述缺陷,加密仍不能保障信息绝对安全,这是由于明文本身的特征造成的,因为正解存在于众多的解之中,尽管很困难只要功夫到了仍可以辨识出来。这个问题的解决,笔者认为需要多次加密,至少二次加密才能确保信息安全。道理很简单,第一遍加密就破坏的被加密文件的特征而形成乱码文件,第二次加密是对无特征的乱码加密,只要你不记录任何数据,破解时将没有方向所以不能进行,这样数据就安全了。个人愚见敬请批评。


[招聘]欢迎市场人员加入看雪学院团队!

最新回复 (47)
KooJiSung 2019-4-28 18:12
2
0
给你一个加密的rar,你也解密不了

说你n次了,你能认识到自己的无能吗?
sjdkx 2019-4-28 21:59
3
0
能解也不会为你花时间的。无意义。
飘零星夜 2019-4-29 16:33
4
1
例子:
我去年写了一篇论文,用winrar给加密了。当时设置的密码是12345678;
一年过去了,我要重新看这篇论文。我解密论文。我非常确定密码是123456。
解密成功了,winrar没有提示密码错误。但是论文变乱码了。
所以我(又)非常确定winrar这个软件有问题,把我论文弄丢了。我把winrar卸载了。
sjdkx 2019-4-29 21:39
5
0
是吗?密码错误能解密吗?还没遇到过这种情况。尽管过了一年用正确的密码解密是没有问题的。winrar的压缩功能还是很好的。
wuxiwudi 2019-6-21 17:19
6
0
sjdkx 是吗?密码错误能解密吗?还没遇到过这种情况。尽管过了一年用正确的密码解密是没有问题的。winrar的压缩功能还是很好的。
如果没有解密后校验,密码错误当然能解密,解密过程无非就是加密过程的逆运算。1+2=3和3-1=2,1可以是原文,但是如果你用1去当密钥拿到2的时候,你怎么知道自己获取的是原文,你不知道原文是什么就无从知晓解密后的内容是否正确。
sjdkx 2019-6-22 00:26
7
0
楼上,【密码错误当然能解密】是什么意思?这跟校验有关系吗?要是错误的正确的密码都能解密那还叫加密吗?
  本加密思想就是不用考虑解密后是不是原文,是不是原文需要你自己去判断。实际加密就是一种数值变换,如果你做了校验判断,实际是出卖了自己,使明文信息处于特殊的位置而不利于信息隐藏。
沉迷于 2019-6-22 08:41
8
0
wuxiwudi 如果没有解密后校验,密码错误当然能解密,解密过程无非就是加密过程的逆运算。1+2=3和3-1=2,1可以是原文,但是如果你用1去当密钥拿到2的时候,你怎么知道自己获取的是原文,你不知道原文是什么就无从 ...
能仔细理解下  解密  这个词?
wuxiwudi 2019-6-24 09:56
9
0
sjdkx 楼上,【密码错误当然能解密】是什么意思?这跟校验有关系吗?要是错误的正确的密码都能解密那还叫加密吗?   本加密思想就是不用考虑解密后是不是原文,是不是原文需要你自己去判断。实际加密就是一种数值变换 ...
也就是说,你考虑都是例如ascii码的加解密,而没法判断二进制数据的加解密?加密和解密只是个过程而不是结果,所以说密码错误也能执行解密过程,但是得到的内容是不是原文不是靠解密过程来保证的
wuxiwudi 2019-6-24 10:00
10
0
沉迷于 能仔细理解下 解密 这个词?
加密和解密是动词,1+2这个过程叫加密,得到3是加密结果;3-2是解密过程,得到的1是解密结果。
沉迷于 2019-6-24 12:18
11
0
wuxiwudi 加密和解密是动词,1+2这个过程叫加密,得到3是加密结果;3-2是解密过程,得到的1是解密结果。
没有密码 也能得到1结果?  
wuxiwudi 2019-6-24 12:27
12
0
沉迷于 没有密码 也能得到1结果?[em_13]
是说 解密过程不去校验,你拿到1拿到2拿到多少都可以懂伐。现在不是说密钥怎么样,而是说你怎么知道你的密文用你的密钥可以得到正确的原文
malokch 3 2019-6-24 12:30
13
0
只要明文包含“有用”信息,那么穷举就不可避免。换句话说,只要过程可逆,便不能避免被穷举。你这多次加密,不过是延长了破解时间而已。不是软件有缺陷,是你的认知有问题。
sjdkx 2019-6-24 14:44
14
0
穷举是需要判断标准的,如果没有则无法穷举。
wuxiwudi 2019-6-24 15:53
15
0
sjdkx 穷举是需要判断标准的,如果没有则无法穷举。
然后你自己怎么验证解密成功?假设你加密的原文是一个压缩流
KooJiSung 2019-6-24 18:04
16
0
wuxiwudi 然后你自己怎么验证解密成功?假设你加密的原文是一个压缩流
为什么要验证解密成功? 这种做法可以让某些人在论坛里吹牛逼10年
sjdkx 2019-6-24 20:04
17
0
@wuxiwudi 如果是自己的压缩流,解密后解压即可。被加密文件是没有能力避免各种破坏的,只能保证在不出错的情况下能恢复原文。
@KooJiSung 本人认为加密程序内部不做解密成功验证是一种观点,这算吹牛吗?主要是认为那样做不利于信息安全,而是出卖自己的行为。
沉迷于 2019-6-24 22:06
18
0
wuxiwudi 是说 解密过程不去校验,你拿到1拿到2拿到多少都可以懂伐。现在不是说密钥怎么样,而是说你怎么知道你的密文用你的密钥可以得到正确的原文
说的是 WINRAR  没有密码 你就算跳过密码比较 解压出数据 但是 这些 数据 能用?  不能用怎么叫解密?
沉迷于 2019-6-24 22:09
19
0
沉迷于 说的是 WINRAR 没有密码 你就算跳过密码比较 解压出数据 但是 这些 数据 能用? 不能用怎么叫解密?
WINRAR的加密算法了解过? 用密码的HAS作为数据的 加密运算  解密的 时候 不输入正确密码 解压出来的 数据 根本用不了 那怎么叫解密?
sjdkx 2019-6-25 00:06
20
0
那就叫不能解密吧。你必须按规则行事。否则就是没用的东西。
wuxiwudi 2019-6-25 18:20
21
0
沉迷于 WINRAR的加密算法了解过? 用密码的HAS作为数据的 加密运算 解密的 时候 不输入正确密码 解压出来的 数据 根本用不了 那怎么叫解密?
你还没理解啥叫解密?说了解密是个过程,解密并不保证获取正确dest,你也说了解压出来的数据根本用不了,但是你告诉我是不是正确解压出来了,非要把解密过程里面包含了其他逻辑?你老师就这么教你做编程的?校验过程不包含在解密过程里面,解密过程不保证得到的数据有效性,好好看清楚了,如果解密就能保证有效性,还要校验干嘛?
wuxiwudi 2019-6-25 18:23
22
0
sjdkx @wuxiwudi 如果是自己的压缩流,解密后解压即可。被加密文件是没有能力避免各种破坏的,只能保证在不出错的情况下能恢复原文。 @KooJiSung 本人认为加密程序内部不做解密成功验证是一种观点 ...
我说的不是破坏密文,而是你怎么保证你密文对应的密钥没问题?你自己也说是乱码数组了,如果成千上万的数据怎么保证对应性,还是说你只打算用一个密钥?
wuxiwudi 2019-6-25 18:25
23
0
沉迷于 说的是 WINRAR 没有密码 你就算跳过密码比较 解压出数据 但是 这些 数据 能用? 不能用怎么叫解密?
另外rar不保存密码,而是在解压后做校验和,所以你应该说等解压后跳过校验部分
KooJiSung 2019-6-25 19:22
24
0
站在防止破解的角度,能不能用管他叉事,只要密码正确,你就能用,不正确,你就骂街也没人管你

就为校验不校验这破事,都能吵个面红耳赤,什么玩意
沉迷于 2019-6-25 20:51
25
0
wuxiwudi 你还没理解啥叫解密?说了解密是个过程,解密并不保证获取正确dest,你也说了解压出来的数据根本用不了,但是你告诉我是不是正确解压出来了,非要把解密过程里面包含了其他逻辑?你老师就这么教你做编程的?校验 ...
懒得跟你说 你的 可以不要密码暴力让RAR解密数据 好好想想什么叫解密  连解密叫什么 都不知道  解压的数据用不了 叫解密 笑死人
沉迷于 2019-6-25 21:10
26
0
KooJiSung 站在防止破解的角度,能不能用管他叉事,只要密码正确,你就能用,不正确,你就骂街也没人管你 就为校验不校验这破事,都能吵个面红耳赤,什么玩意[em_85]
暴力解压出来的数据 不能用他也叫解密无语  全世界都没有直接证据能不要密码非枚举破解RAR的 他说能不要密码解密出来 信?
sjdkx 2019-6-25 22:41
27
0
@KooJiSung 赞同你关于校验的看法!
另外校验真是引火烧身呢,本想保密却背道而驰。
举个不一定恰当的例子,一个乱码堆组成的文件,加密后本来是无法破解的,但加上校验就可以被破解了。
wuxiwudi 2019-6-26 09:24
28
0
沉迷于 懒得跟你说 你的 可以不要密码暴力让RAR解密数据 好好想想什么叫解密 连解密叫什么 都不知道 解压的数据用不了 叫解密 笑死人
你别自己强行给解密做定义,解密本身就是动词,是表示做加密逆运算这个动作;如果解密必然能拿到有效的数据,那你告诉我为啥解密以后要做校验。而且你哪只眼睛看到我说不用密码也能解密了,我说用错误的密码也可以做解密操作,只是拿到的数据不是原文,我觉得你不但要重新回去补编程,还有学语文和看眼睛
wuxiwudi 2019-6-26 09:27
29
0
sjdkx @KooJiSung 赞同你关于校验的看法! 另外校验真是引火烧身呢,本想保密却背道而驰。 举个不一定恰当的例子,一个乱码堆组成的文件,加密后本来是无法破解的,但加上校验就可以被破解了。
密钥强度足够用普通异或都能保证安全,我用和密文同长度的密钥就行,但是你怎么保证密钥和密文的一一对应,还是打算管杀不管埋
沉迷于 2019-6-26 12:47
30
0
wuxiwudi 你别自己强行给解密做定义,解密本身就是动词,是表示做加密逆运算这个动作;如果解密必然能拿到有效的数据,那你告诉我为啥解密以后要做校验。而且你哪只眼睛看到我说不用密码也能解密了,我说用错误的密码也可以做 ...
我能解密MD5  MD6 MD7了 我能解密支付宝通讯了 我能解密银行密码了 我能解密5G通讯了 我无所不能解密 整个下来 没毛病 数据用不了 也叫解密 天才
沉迷于 2019-6-26 12:54
31
0
wuxiwudi 你别自己强行给解密做定义,解密本身就是动词,是表示做加密逆运算这个动作;如果解密必然能拿到有效的数据,那你告诉我为啥解密以后要做校验。而且你哪只眼睛看到我说不用密码也能解密了,我说用错误的密码也可以做 ...
百度看看 什么是 解密  连解密都不知道叫什么  大谈特谈 解密
wuxiwudi 2019-6-26 15:44
32
0
沉迷于 百度看看 什么是 解密 连解密都不知道叫什么 大谈特谈 解密
牛津词典
Decrypt
verb
[VN] (especially computing 计) 脱密;给…解密 
to change information that is in code into ordinary language so that it can be understood by anyone

反义词: encrypt
【派生词】decryption noun [U]
反义词: encryption

别丢人了,作为程序员还看百度,你告诉我写代码你是用jiemi还是用decrypt
myangel 2019-6-26 15:53
33
0
不用数学公式解释的加解密方式都是耍流氓
wuxiwudi 2019-6-26 19:00
37
0
沉迷于 跟你说那多确实丢人 你问下国内哪个程序员没查过百度的 我说的是 中文 你硬扯去英文 英文能翻译出所有中文? 你怎么不去外国住啊 。百度 不用 中文又扯去英文 跪舔外国人的 货
恩 你用的操作系统是外国人写的,浏览器是外国人写的,cpu架构是外国人写的,编译器是外国人写的,程序语言也是英文,有本事这些都别用哦,百度给的只是参考,思想才是自己的,这种引战人身攻击的东西,我直接举报拉黑了
sjdkx 2019-6-26 19:25
38
0
wuxiwudi  密钥强度足够用普通异或都能保证安全,我用和密文同长度的密钥就行,但是你怎么保证密钥和密文的一一对应,还是打算管杀不管埋
这个不能保证,一般也是用和密文同长度的密钥解密,但密文是否不受侵害不能保证,只有在密文不变时保证解密成功。
wuxiwudi 2019-6-26 19:38
39
0
sjdkx wuxiwudi 密钥强度足够用普通异或都能保证安全,我用和密文同长度的密钥就行,但是你怎么保证密钥和密文的一一对应,还是打算管杀不管埋 这个不能保证,一般也是用和密文同长度的密钥解密,但密文是否 ...
这个就是问题,密文数量足够大的时候,怎么去协调加密与解密方密钥的交换,我有一万条密文需要解密,那么就需要一万条密钥一一对应,那么怎么去判断哪个密钥解密哪个密文,这个是整个业务要真实实现所必须考虑的问题,能解决这个问题,就像我说的,只用一个单字节异或都可以保证安全
sjdkx 2019-6-26 20:53
40
0
现在还没有用别的方法,全部都以文件名来处理,一个文件加密后密文文件的名称并未改变和原来是一样的,理应做些标识例如扩展名有区别。
wuxiwudi 2019-6-27 09:28
41
0
sjdkx 现在还没有用别的方法,全部都以文件名来处理,一个文件加密后密文文件的名称并未改变和原来是一样的,理应做些标识例如扩展名有区别。
也就是不能对数据流进行处理,不能用于网络等传输,同时本地还要维护一个数据库用来和原始文件名做一一对应,文件名还不能重复,文件位置不能变动,因为不能保存校验信息例如md5做校验对吧
sjdkx 2019-6-27 10:31
42
0
现在关注的还是侧重于文件加密的安全性。如果处理大量文件用相同的用户密码,应该使用加盐技术以增加安全性。
wuxiwudi 2019-6-27 10:47
43
0
sjdkx 现在关注的还是侧重于文件加密的安全性。如果处理大量文件用相同的用户密码,应该使用加盐技术以增加安全性。
加盐也一样需要对每个文件都要有一个映射,同样需要维护一个数据库来一一对应,那么怎么保证数据文件的安全
sjdkx 2019-6-27 15:44
44
0
一字节明文用一字节密钥加密就很安全了。
看场雪 2 2019-7-5 22:06
45
0
理论上 如果密钥是不可预测的 那么 
明文 算符 密钥 = 密文
这样的加密方式 是无条件安全的
因为密钥与密文完全无关

同时 如果明文是满熵的 没有任何冗余(所有的自然语言都是有大量冗余的)
不管使用什么加密算法 也都是无条件安全的
因为破解者无法确定哪个明文才是正确的(即使破解者能够穷举所有的密钥)

此外 如果加密算法的空间足够大 能覆盖所有明文空间到密文空间的映射
那么也能做到无条件安全
因为从任何明文到任何密文的映射 在破解者眼里都是同样可能性的 无法提供任何有用信息

上述3点 分别从:密钥、明文、加密算法 这3个角度出发 都能做到无条件安全,但可惜这些都是理论上的。
在实际工程应用中 都不切实际 无法大规模应用。

不过,这些结论可以为设计好的密码系统提供思路。
最后于 2019-7-5 22:07 被看场雪编辑 ,原因:
sjdkx 2019-7-6 00:26
46
0
实际上也能安全,一次一密就足够安全了,一次两密一次三密....,太容易实现了,破解有可能吗?
看场雪 2 2019-7-6 11:02
47
0
sjdkx 实际上也能安全,一次一密就足够安全了,一次两密一次三密....,太容易实现了,破解有可能吗?
理论上,就有可能了
sjdkx 2019-7-6 13:48
48
0
无论从理论上,和实际上破解都是梦!
游客
登录 | 注册 方可回帖
返回