📝 Python密码学教程
32篇技术文档📅  最后修改于: 2020-11-08 08:34:39        🧑  作者: Mango
仿射密码是乘法密码和凯撒密码算法的结合。仿射密码的基本实现如下图所示:在本章中,我们将通过创建仿射密码来实现仿射密码,该类包括两个用于加密和解密的基本功能。码您可以使用以下代码来实现仿射密码-输出实现仿射密码时,可以观察到以下输出-输出显示纯文本消息Affine Cipher的加密消息和显示为输入abcdefg的消息的解密消息。...
📅  最后修改于: 2020-11-08 08:34:58        🧑  作者: Mango
在本章中,您将学习有关单字母密码及其使用Python的破解方法。单字母密码单字母密码使用固定替换来加密整个消息。此处显示了使用带有JSON对象的Python字典的单字母密码-借助此字典,我们可以将带有关联字母的字母作为JSON对象中的值进行加密。以下程序创建一个单字母程序作为类表示形式,其中包括加密和解密的所有功能。稍后将调用此文件以实现单字母密码的加密和解密过程,如下所述-输出实现上面给出的代码...
📅  最后修改于: 2020-11-08 08:35:15        🧑  作者: Mango
简单替换密码是最常用的密码,它包括用每个明文字符替换每个密文字符。在此过程中,与Caesar密码算法相比,字母混乱。例简单替换密码的密钥通常由26个字母组成。一个示例密钥是-使用上述密钥的示例加密是-以下代码显示了实现简单替换密码的程序-输出实现上面给出的代码时,您可以观察到以下输出-...
📅  最后修改于: 2020-11-08 08:35:30        🧑  作者: Mango
在本章中,我们将重点介绍使用各种方法测试替换密码,这有助于生成如下所示的随机字符串-输出您可以将输出观察为随机生成的字符串,这有助于生成随机的纯文本消息,如下所示-测试成功完成后,我们可以观察到输出消息Substitution test经过了!因此,您可以系统地破解替换密码。...
📅  最后修改于: 2020-11-08 08:35:45        🧑  作者: Mango
在本章中,您将学习有关替换密码的简单实现,该密码按照简单替换密码技术中使用的逻辑显示加密和解密的消息。这可以被视为编码的替代方法。码您可以使用以下代码使用简单替换密码执行解密-输出上面的代码为您提供输出,如下所示:...
📅  最后修改于: 2020-11-08 08:36:04        🧑  作者: Mango
在本章中,您将详细学习Python各种加密模块。密码学模块它包含所有配方和原语,并提供了Python编码的高级接口。您可以使用以下命令安装加密模块-码您可以使用以下代码来实现加密模块-输出上面给出的代码产生以下输出-此处给出的代码用于验证密码并创建其哈希。它还包括用于验证密码以进行身份验证的逻辑。输出场景1-如果输入了正确的密码,则可以找到以下输出-场景2-如果我们输入了错误的密码,您可以找到以下...
📅  最后修改于: 2020-11-08 08:36:20        🧑  作者: Mango
Vignere Cipher包括一种用于加密和解密的Caesar Cipher算法。 Vignere Cipher的工作原理与Caesar Cipher算法相似,只有一个主要区别:Caesar Cipher包含用于单字符移位的算法,而Vignere Cipher包括具有多个字母移位的密钥。数学方程对于加密,数学方程式如下-$$ E_ {k} \ left(M {_ {i {}}} \ right)...
📅  最后修改于: 2020-11-08 08:36:36        🧑  作者: Mango
在本章中,让我们了解如何实现Vignere密码。考虑文本。这是要对Vignere Cipher进行编码的基本实现,并且使用的密钥是PIZZA。码您可以使用以下代码在Python实现Vignere密码-输出实现上面给出的代码时,您可以观察到以下输出-破解Vignere密码的可能组合几乎是不可能的。因此,它被认为是一种安全的加密模式。...
📅  最后修改于: 2020-11-08 08:36:53        🧑  作者: Mango
一次性填充密码是一种Vignere密码,包括以下功能-这是一个坚不可摧的密码。密钥与加密的消息长度完全相同。密钥由随机符号组成。顾名思义,密钥仅使用一次,以后再也不会将其用于加密任何其他消息。因此,加密的邮件将很容易受到密码分析师的攻击。用于一次性填充密码的密钥称为pad,因为它被打印在纸张上。为什么牢不可破?密钥由于以下功能而坚不可摧-密钥与给定的消息一样长。密钥是真正随机的,并且是专门自动生成...
📅  最后修改于: 2020-11-08 08:37:09        🧑  作者: Mango
Python包含一个用于一次性填充密码实现的hacky实现模块。程序包名称称为“一次性键盘”,其中包括一个命令行加密工具,该工具使用类似于一次性填充密码算法的加密机制。安装您可以使用以下命令安装此模块-如果您希望从命令行使用它,请运行以下命令-码以下代码有助于生成一次性填充密码-输出运行上面给出的代码时,您可以观察到以下输出:注-如果密钥的长度小于消息的长度(纯文本),则加密的消息非常容易破解。无...
📅  最后修改于: 2020-11-08 08:37:32        🧑  作者: Mango
在本章中,让我们详细讨论对称和非对称密码。对称密码学在这种类型中,加密和解密过程使用相同的密钥。也称为秘密密钥密码术。对称加密的主要特征如下-它更简单,更快。双方以安全的方式交换密钥。退税对称加密的主要缺点是,如果密钥泄露给入侵者,则可以轻松更改消息,这被认为是一个危险因素。数据加密标准(DES)最受欢迎的对称密钥算法是数据加密标准(DES), Python包含一个软件包,其中包含DES算法背后的...
📅  最后修改于: 2020-11-08 08:37:51        🧑  作者: Mango
RSA算法是一种公共密钥加密技术,被认为是最安全的加密方式。它是由Rivest,Shamir和Adleman于1978年发明的,因此命名为RSA算法。算法RSA算法具有以下功能-RSA算法是在包括质数在内的整数上的有限域中的常用幂。此方法使用的整数足够大,难以求解。该算法有两套密钥:私钥和公钥。您将必须执行以下步骤来使用RSA算法-步骤1:产生RSA模数初始过程从选择两个质数p和q开始,然后计算其...
📅  最后修改于: 2020-11-08 08:38:14        🧑  作者: Mango
在本章中,我们将重点介绍使用Python逐步实现RSA算法的方法。生成RSA密钥生成RSA密钥涉及以下步骤-创建两个大质数,即p和q。这些数字的乘积将称为n,其中n = p * q生成一个与(p-1)和(q-1)相对质数的随机数。将该数字称为e。计算e的模逆。计算出的逆称为d。生成RSA密钥的算法我们需要使用Python –Cryptomath模块和Rabin Miller模块生成RSA密钥的两种...
📅  最后修改于: 2020-11-08 08:38:30        🧑  作者: Mango
在本章中,我们将重点介绍RSA密码加密的不同实现及其涉及的功能。您可以引用或包含此Python文件以实现RSA密码算法实现。加密算法包含的模块如下-为了更好的安全性,我们将哈希值初始化为SHA-256。我们将使用以下代码使用一个函数来生成新密钥或一对公钥和私钥。对于加密,使用以下函数,该函数遵循RSA算法-两个参数是必需的:message和pub_key,它指的是公钥。公钥用于加密,私钥用于解密。...
📅  最后修改于: 2020-11-08 08:38:51        🧑  作者: Mango
本章是上一章的续篇,在该章中,我们遵循了使用RSA算法进行加密的逐步实现,并对其进行了详细讨论。用于解密密文的函数如下-对于公共密钥加密或非对称密钥加密,重要的是要保持两个重要功能,即身份验证和授权。授权书授权是确认发件人是发送消息的唯一发送者的过程。以下代码对此进行了解释-认证方式可以通过以下说明的验证方法进行身份验证-验证数字签名以及发送者和接收者的详细信息。为了安全起见,这增加了更多的体重年...