Python密码学Caesar Cipher凯撒密码算法教程

Brigitte ·
更新时间:2024-11-14
· 1442 次阅读

目录

凯撒密码算法

输出

说明

凯撒密码算法的黑客攻击

在最后一章中,我们处理了反向密码.本章详细讨论了凯撒密码.

凯撒密码算法

凯撒密码的算法具有以下特征;

Caesar Cipher Technique是一种简单易用的加密技术方法.

这是一种简单的替换密码类型.

每个纯文本字母都被一个字母替换,字母的位数固定不变./p>

下图描绘了Caesar密码算法实现的工作原理 :

Caesar密码算法的程序实现如下 :

def encrypt(text,s): result = ""    # transverse the plain text    for i in range(len(text)):       char = text[i]       # Encrypt uppercase characters in plain text       if (char.isupper()):          result += chr((ord(char) + s-65) % 26 + 65)       # Encrypt lowercase characters in plain text       else:          result += chr((ord(char) + s - 97) % 26 + 97)       return result #check the above function text = "CEASER CIPHER DEMO" s = 4 print "Plain Text : " + text print "Shift pattern : " + str(s) print "Cipher: " + encrypt(text,s) 输出

你可以看到凯撒密码,即输出如下图所示 :

说明

一次遍历一个纯文本字符.

对于给定纯文本中的每个字符,根据规则转换给定字符,具体取决于加密过程文本的说明和解密.

遵循这些步骤后,会生成一个新的字符串,称为密文.

凯撒密码算法的黑客攻击

密码文本可以被各种可能性攻击.其中一种可能性是暴力技术,其中涉及尝试每个可能的解密密钥.这种技术不需要太多努力,对于黑客来说相对简单.

黑客攻击凯撒密码算法的程序实现如下

message = 'GIEWIVrGMTLIVrHIQS' #encrypted message LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' for key in range(len(LETTERS)):    translated = ''    for symbol in message:       if symbol in LETTERS:          num = LETTERS.find(symbol)          num = num - key          if num < 0:             num = num + len(LETTERS)          translated = translated + LETTERS[num]       else:          translated = translated + symbol print('Hacking key #%s: %s' % (key, translated))

考虑上一个示例中加密的密文.然后,使用密钥和使用暴力攻击技术的可能的黑客攻击方法的输出如下 :

以上就是Python密码学Caesar Cipher凯撒密码算法教程的详细内容,更多关于Python密码学Caesar Cipher的资料请关注软件开发网其它相关文章!



密码算法 算法 Python 教程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号