iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python密码学仿射密码及攻击单字母密码教程
  • 789
分享到

Python密码学仿射密码及攻击单字母密码教程

2024-04-02 19:04:59 789人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录仿射密码代码输出单字母密码输出仿射密码 Affine Cipher是Multiplicative Cipher和Caesar Cipher算法的组合. 仿射密码的基本实现如下图所

仿射密码

Affine Cipher是Multiplicative Cipher和Caesar Cipher算法的组合.

仿射密码的基本实现如下图所示 :

我们将通过创建包含两个加密和解密基本函数的相应类来实现仿射密码.

代码

您可以使用以下代码实现仿射密码 :

 class仿射(对象):
 DIE = 128 
 KEY =(7,3,55)
 def __init __(self):
#传递
 def encryptChar(self,char):
 K1,K2, kI = self.KEY 
 return chr((K1 * ord(char)+ K2)%self.DIE)
 def encrypt(self,string):
 return"" .join(map(self.encryptChar,string))
 def decryptChar(self,char):
 K1,K2,KI = self.KEY 
 return chr(KI * (ord(char) -  K2)%self.DIE)
 def decrypt(self,string):
 return"".join(map(self.decryptChar,string))
 affine = Affine()
 print affine.encrypt(' Affine Cipher')
 print affine.decrypt('* 18?FMT')

输出

实现仿射密码时,可以观察到以下输出;

输出显示纯文本消息仿射密码的加密消息和已作为输入 abcdefg发送的消息的解密消息.

单字母密码

接下来,您将学习使用python的单字母密码及其黑客攻击.

单字母密码使用固定替换用于加密整个消息.这里显示使用带有JSON对象的Python字典的单字母密码 :

monoalpha_cipher = {
   'a': 'm',
   'b': 'n',
   'c': 'b',
   'd': 'v',
   'e': 'c',
   'f': 'x',
   'g': 'z',
   'h': 'a',
   'i': 's',
   'j': 'd',
   'k': 'f',
   'l': 'g',
   'm': 'h',
   'n': 'j',
   'o': 'k',
   'p': 'l',
   'q': 'p',
   'r': 'o',
   's': 'i',
   't': 'u',
   'u': 'y',
   'v': 't',
   'w': 'r',
   'x': 'e',
   'y': 'w',
   'z': 'q',
' ': ' ',
}

借助此词典,我们可以使用相关字母加密字母为jsON对象中的值.

以下程序创建一个单字母程序作为类表示,其中包括加密和解密的所有功能.

from string import letters, digits
from random import shuffle
def random_monoalpha_cipher(pool = None):
   if pool is None:
      pool = letters + digits
   original_pool = list(pool)
   shuffled_pool = list(pool)
   shuffle(shuffled_pool)
   return dict(zip(original_pool, shuffled_pool))
def inverse_monoalpha_cipher(monoalpha_cipher):
   inverse_monoalpha = {}
   for key, value in monoalpha_cipher.iteritems():
      inverse_monoalpha[value] = key
   return inverse_monoalpha
def encrypt_with_monoalpha(message, monoalpha_cipher):
   encrypted_message = []
   for letter in message:
      encrypted_message.append(monoalpha_cipher.get(letter, letter))
   return ''.join(encrypted_message)
def decrypt_with_monoalpha(encrypted_message, monoalpha_cipher):
   return encrypt_with_monoalpha(
      encrypted_message,
      inverse_monoalpha_cipher(monoalpha_cipher)
   )

稍后调用此文件以实现Monoalphabetic密码的加密和解密过程,如下所示 :

import monoalphabeticCipher as mc
cipher = mc.random_monoalpha_cipher()
print(cipher)
encrypted = mc.encrypt_with_monoalpha('Hello all you hackers out there!', cipher)
decrypted = mc.decrypt_with_monoalpha('sXGGt SGG Nt0 HSrLXFC t0U UHXFX!', cipher)
print(encrypted)
print(decrypted)

输出

当您实现上面给出的代码时,您可以观察到以下输出;

T嗯,你可以用一个指定的键值对来破解单字母密码,这会将密文破解成实际的纯文本.

以上就是Python密码学仿射密码及攻击单字母密码教程的详细内容,更多关于Python仿射攻击单字母密码的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python密码学仿射密码及攻击单字母密码教程

本文链接: http://www.lsjlt.com/news/118318.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python密码学仿射密码及攻击单字母密码教程
    目录仿射密码代码输出单字母密码输出仿射密码 Affine Cipher是Multiplicative Cipher和Caesar Cipher算法的组合. 仿射密码的基本实现如下图所...
    99+
    2024-04-02
  • python密码学黑客攻击RSA密码
    目录黑客攻击RSA密码输出黑客攻击RSA密码 使用小素数可能会破坏RSA密码,但如果使用大数字则认为不可能.指出难以破解RSA密码的原因如下: 暴力攻击不起作用有太多可能的钥匙要完成...
    99+
    2024-04-02
  • python密码学简单替代密码解密及测试教程
    目录简单替代密码示例输出简单替换密码测试输出简单替换密码解密代码简单替代密码 简单替换密码是最常用的密码,包括为每个密文文本字符替换每个纯文本字符的算法.在这个过程中,与凯撒密码算法...
    99+
    2024-04-02
  • python密码学Vignere密码教程
    目录Vignere密码数学方程Vignere Tableau实现代码输出Vignere密码 Vignere Cipher包含用于加密和解密的Caesar Cipher算法. Vign...
    99+
    2024-04-02
  • python密码学RSA密码加密教程
    目录加密算法模块 哈希值初始化函数algorithm加密程序的完整代码在本章中,我们将重点介绍RSA密码加密的不同实现及其所涉及的功能.您可以引用或包含此python文件以...
    99+
    2024-04-02
  • python密码学RSA密码解密教程
    目录授权身份验证RSA密码解密本章是前一章的延续,我们使用RSA算法逐步实现加密,并详细讨论它. 用于解密密文的函数是as跟随 : def decrypt(ciphertext, p...
    99+
    2024-04-02
  • python密码学换位密码及换位解密转置加密教程
    目录换位密码示例代码解释输出Pyperclip代码输出解释解密转置密码的步骤代码说明输出换位密码 Transposition Cipher是一种加密算法,其中明文中的字母顺序被重新排...
    99+
    2024-04-02
  • Python密码学XOR算法编码流程及乘法密码教程
    目录XOR算法代码输出说明乘法密码Python中乘法密码的基本调制函数如下:在本章中,让我们了解XOR过程及其在Python中的编码以及乘法密码的教程 XOR算法 XOR算法的加密和...
    99+
    2024-04-02
  • Python进行密码学反向密码教程
    目录反向密码算法缺点示例输出解释上一章概述了在本地计算机上安装Python的过程.在本章中,您将详细了解反向密码及其编码. 反向密码算法 反向密码算法具有以下特性 : 反向密码使用反...
    99+
    2024-04-02
  • Python移位密码、仿射变换解密实例代码
    目录前言一、移位密码二、仿射变换三、全部代码总结前言 这个代码是很久之前的,已经忘记具体的思路了,你可以结合此文章来了解两个加密方式的内容。 前两个步骤是对应加密方式的函数,第三个步...
    99+
    2024-04-02
  • Python密码学Caesar Cipher凯撒密码算法教程
    目录凯撒密码算法输出说明凯撒密码算法的黑客攻击在最后一章中,我们处理了反向密码.本章详细讨论了凯撒密码. 凯撒密码算法 凯撒密码的算法具有以下特征; Caesar Cipher Te...
    99+
    2024-04-02
  • python密码学对称和非对称密码教程
    目录对称密码术缺点数据加密标准(DES)安装输出非对称加密缺点输出在本章中,我们将详细讨论对称和非对称密码术. 对称密码术 在此类型中,加密和解密进程使用相同的密钥.它也被称为秘密密...
    99+
    2024-04-02
  • python密码学Base64编码和解码教程
    目录Base64编码编码程序输出解码程序输出差异在ASCII和base64之间缺点Base64编码 Base64编码将二进制数据转换为文本格式,通过通信通道传递,用户可以安全地处理文...
    99+
    2024-04-02
  • python密码学文件解密实现教程
    目录代码输出在本章中,我们将讨论使用Python解密加密文件.请注意,对于解密过程,我们将遵循相同的过程,但不是指定输出路径,而是关注输入路径或加密的必要文件. 代码 以下是使用Py...
    99+
    2024-04-02
  • python密码学各种加密模块教程
    目录加密模块代码输出说明在本章中,您将详细了解Python中各种加密模块. 加密模块 它包含所有配方和基元,并在Python中提供高级编码接口.您可以使用以下命令安装加密模块 : ...
    99+
    2024-04-02
  • python密码学实现文件加密教程
    目录代码输出说明在Python中,可以在传输到通信通道之前加密和解密文件.为此,您必须使用插件 PyCrypto .您可以使用下面给出的命令安装此插件. pip ...
    99+
    2024-04-02
  • Python密码学ROT13算法教程
    目录ROT13算法的解释示例程序代码缺点ROT13算法的分析到目前为止,您已经了解了反向密码和Caesar密码算法.现在,让我们讨论一下ROT13算法及其实现. ROT13算法的解释...
    99+
    2024-04-02
  • Python密码学XOR算法编码流程及乘法密码实例分析
    本文小编为大家详细介绍“Python密码学XOR算法编码流程及乘法密码实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python密码学XOR算法编码流程及乘法密码实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-30
  • Python编程密码学文件加密与解密代码解析
    目录本章要点1 纯文本文件2 使用置换密码加密文件的源代码transpositionFileCipher.py3 运行置换密码加密文件程序的样例4 文件操作4.1 打开文件4.2 数...
    99+
    2024-04-02
  • Python密码学概述双倍强度加密教程
    目录使用python进行密码学加密术语纯文本密文加密解密现代密码学的特征双倍强度加密级别第一层加密第二层加密第三层加密混合密码术Python语言的特性解释面向对象Python语言的关...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作