-
-
[原创]简单的一次一密文件加密
-
发表于:
2017-6-4 21:06
11338
-
从最简单的情况说起,首先是本地的文件加密,这样暂时不涉及密钥的传递。
本地文件加密系统
一、加密
1.得到文件、文件长度N字节
2.得到存放密钥文件的路径
3.建立N字节真随机密钥数组,你要是不会建立真的,使用假的也无妨例如伪随机数组,但种子必须是随机的。
4.用密钥数组加密文件得到密文文件
5.在指定位置建立密钥文件,最好放到你的移动盘里,注意:保存密钥文件的移动设备只在加密和解密时联机。
二、解密
1.得到密文,得到密钥文件
2.使用密钥解密密文
三、说明
密钥文件可以用第三方软件来加密它,加密后的文件称为密钥密文。由于被加密对象是随机数,所以是很容易被加密的,并且加密后不易破解,你甚至不知道什么是解密成功。对第三方加密软件来说,要求其操作不易出错即可。如果密钥文件是存放在你的移动设备里例如安全的U盘或移动硬盘里你甚至可以不用加密密钥文件。
现在U盘等的容量可以很大,所以你的密钥文件多些、大些都是无所谓的事。完全可以对付你的电脑中的重要文件了。
如果不使用移动存储,那密钥文件必须加密,使用一般的加密软件即可,但不要使用像winrar那种报告解密是否成功的软件,那种软件是怕穷举攻击的,像加密小金刚等就可以了。
上述方法有些繁琐目的只有一个就是不可破解,如果你的程序实现了上述的东西就不用怕密文被破解了。
四、破解难点
破解者无法破解密钥密文——因为密钥密文的解仍然是乱码,你在加密它们时没有保留其特征,所以解密时就没有了任何依据,所以不能解密。WinRAR就不是这样它是将源文件的CRC值加密保留起来,作为解密时的评判标准,表面看起来是聪明的做法,实际上是出卖自己的行为,给穷举攻击开了绿灯。
五、方法缺陷
用户需要N字节的空间来保存密钥密文。这在存储空间越来越便宜的现在似乎不是个问题,多那点空间你得到了多少益处,少那点空间你受到了什么损失,又不是贵的了不得需要斤斤计较?能实现不可破解才是正道。
六、秘密传送
密文是由真随机数加密可以公开可以传送,同样密钥密文不怕破解也可以公开和传送,而那少量的加密密钥密文的密码则可以通过其它信道传达出去。结论是——计算机时代的不可破解加密技术容易实现并且实用。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)