怎么新建MySQL数据库

发布时间:2022-08-25 作者:admin
阅读:289
这篇文章主要讲解了“Python凯撒密码算法有哪些特征,原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python凯撒密码算法有哪些特征,原理是什么”吧!
在最后一章中,我们处理了反向密码.本章详细讨论了凯撒密码.

凯撒密码算法

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

  • 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凯撒密码算法有哪些特征,原理是什么”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

二维码-群英

长按识别二维码并关注微信

更方便到期提醒、手机管理

7*24 全天候服务

售前 400-678-4567

售后 0668-2555666

售后 400 678 4567

信息安全 0668-2555 118

域名空间 3004329145