我需要用一种语言编写第一个程序,将数据保存在文本文件中,然后用第二种语言编写第二个程序来解密该文件。这两种语言不包括任何密码库,所以我只能靠自己了。
有人能推荐,指点我,或者总结一个简单的算法(伪代码)来提供某种程度的基本加密吗?
我在这方面的经验不多,但是如果你能用伪代码进行清晰的总结,我就可以实现它(不要假设事先知道)。
它不必是防弹的,而只是阻止用户理解文本文件的东西。比简单的字符替换(1到1)更安全的东西,比如生成用于XOR或类似复杂性的随机字符串的键。我不知道从哪里开始。
发布于 2015-06-11 09:30:46
我的建议是使用流密码。
首先,它很容易实现,因为您不必考虑将其划分为块、填充等等。
其次,流密码的思想非常简单:从私钥中生成一个伪随机位序列。然后用纯文本来异或这个序列。您只需要编写生成的代码,其余的都是基本的。
最后,有非常简单的流密码,例如RC4 http://en.wikipedia.org/wiki/RC4;另一个例子是Salsa20 http://en.wikipedia.org/wiki/Salsa20。
当我说“简单”时,我指的不仅仅是代码行的数量,还包括调试/缺陷搜索的容易程度。
发布于 2015-06-11 13:23:21
另一种选择是:讨论文本文件。如果希望加密的文件也是文本文件,而不是字节,则可以考虑使用Vigenère密码。有了一个长的随机生成的密钥,它就可以相当安全。如果密钥与纯文本文件一样长,并且只使用一次,那么它将成为一次Pad的形式。
如果需要基于字节的加密,但仍然希望加密文件中的文本,则使用Base64将字节编码为文本。当然,在解密之前,您需要将Base64解码回字节。
https://crypto.stackexchange.com/questions/26232
复制