Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 这个简单的加密算法足够强大吗?_Python_Sockets_Cryptography - Fatal编程技术网

Python 这个简单的加密算法足够强大吗?

Python 这个简单的加密算法足够强大吗?,python,sockets,cryptography,Python,Sockets,Cryptography,两台计算机通过Internet使用套接字进行通信。 我只是将服务器程序发送给另一个人,然后我的客户端程序将发送和接收字符串。 我需要在传输过程中对数据进行加密。 我的想法是简单地使用一种幼稚的算法,它不需要任何密钥,而是一对包含所有字母数字字符的序列 ROW1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' 第二行将包含相同的字符,但混淆了。原始内容将在传输前翻译为第二个序列,传输后翻译回 现在我想知道这个系

两台计算机通过Internet使用套接字进行通信。
我只是将服务器程序发送给另一个人,然后我的客户端程序将发送和接收字符串。
我需要在传输过程中对数据进行加密。
我的想法是简单地使用一种幼稚的算法,它不需要任何密钥,而是一对包含所有字母数字字符的序列

ROW1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
第二行将包含相同的字符,但混淆了。原始内容将在传输前翻译为第二个序列,传输后翻译回


现在我想知道这个系统是否安全。

永远不要这样做。你必须使用标准的方法;这将被尝试、测试和深入研究

阅读这些作为起点


永远不要这样做。你必须使用标准的方法;这将被尝试、测试和深入研究

阅读这些作为起点


也许可以避免智障猴子的攻击,但国家安全局(甚至是刚从高中毕业的稍有娴熟的密码分析员)将在很短的时间内破译该密码


你只需要掌握英语字母频率(或任何你想分析的目标语言)的基本知识和一些密文就可以破解它。事实上,就不适合加密而言,它与ROT13和Pig Latin并列第二。

也许对智障猴子来说是安全的,但国家安全局(甚至是刚从高中毕业的稍有娴熟的密码分析员)会在很短的时间内将其解码


你只需要掌握英语字母频率(或任何你想分析的目标语言)的基本知识和一些密文就可以破解它。事实上,就不适合加密而言,它与ROT13和Pig Latin排名第一。

这种方法通常是个坏主意。事实上,我认为它的强度不足以用于任何目的。我建议大家看看著名的算法。正如您提到的,您正在使用套接字,我认为实际的方法是在两个端点之间创建SSL隧道。由于您没有提供有关特定语言的任何信息,我无法向您指出任何具体的参考资料。

这种方法通常是个坏主意。事实上,我认为它的强度不足以用于任何目的。我建议大家看看著名的算法。正如您提到的,您正在使用套接字,我认为实际的方法是在两个端点之间创建SSL隧道。由于您没有提供有关特定语言的任何信息,因此我无法向您指出任何具体的参考资料。

您所描述的只是一个简单的例子。这些密码在古罗马被使用过。对密文的几十个字母进行简单的频率分析,就可以恢复完整的密钥,使加密与纯文本一样好,直到密钥(替换字母表)被更改

在您的情况下,其他简单攻击(如重播攻击)也可能与此相关。对手可以重放先前窃听的命令,接收方会认为它是完全有效的,即使对手对密钥一无所知。请注意,即使您以天真的方式使用AES之类的正确密码,也可能发生这种攻击——这表明整个协议的安全性是多么重要

正确的加密标准和协议如此复杂,这是有原因的。幸运的是,我们不必自己重新发明或重新实施它们。在这种情况下,一个好的选择可能是。几乎每个平台都有可用的库


也值得一看:

您所描述的是一个简单的例子。这些密码在古罗马被使用过。对密文的几十个字母进行简单的频率分析,就可以恢复完整的密钥,使加密与纯文本一样好,直到密钥(替换字母表)被更改

在您的情况下,其他简单攻击(如重播攻击)也可能与此相关。对手可以重放先前窃听的命令,接收方会认为它是完全有效的,即使对手对密钥一无所知。请注意,即使您以天真的方式使用AES之类的正确密码,也可能发生这种攻击——这表明整个协议的安全性是多么重要

正确的加密标准和协议如此复杂,这是有原因的。幸运的是,我们不必自己重新发明或重新实施它们。在这种情况下,一个好的选择可能是。几乎每个平台都有可用的库


也值得一看:

现在不行,你已经告诉我们你的计划了……不,这不安全。使用已建立的安全通信机制。强大到足以应付什么?并不是说它的强度足以应付任何事情…现在你已经告诉我们你的计划了…不,它不安全。使用已建立的安全通信机制。强大到足以应付什么?并不是说它的强度足以容纳任何东西……如果我们的谈话是意大利语呢?@donkeydown;你不是认真的吧?(language:languages){language.invokeNearlyMentallyChallengedMonkey()}破解程序如何知道内容的类型?@donkeydown:意大利语也有字符和字符组频率,就像英语一样。密码分析并不局限于英语,任何一个值钱的密码专家都会从多个角度(包括大量语言)进行攻击。如果我们的对话是意大利语呢?@donkeydown;你不是认真的吧?(language:languages){language.invokeNearlyMentallyChallengedMonkey()}破解程序如何知道内容的类型?@donkeydown:意大利语也有字符和字符组频率,就像英语一样。密码分析并不局限于英语,任何一个值钱的密码专家都会从多个角度(包括一个大的