开发手册 欢迎您!
软件开发者资料库

使用Python进行密码学 - Caesar Cipher

使用Python Caesar Cipher进行密码学 - 使用Python从简单而简单的步骤学习密码学,从基本到高级概念,包括概述,双强度加密,Python概述和安装,反向密码,凯撒密码,ROT13算法,转置密码,转置加密密码,转置密码的解密,文件加密,文件解密,Base64编码和解码,XOR处理,乘法密码,仿射密码,黑客单字母密码,简单替换密码,简单替换密码测试,简单替换密码解密,Python密码学模块,了解Vignere密码,实现Vignere密码,一次填充密码,一次填充密码的实现,对称和非对称密码,理解RSA算法,创建RSA密钥,RSA密码加密,RSA密码解密,黑客RSA密码。

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

凯撒密码算法

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

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

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

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

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

Caesar Cipher算法

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 functiontext = "CEASER CIPHER DEMO"s = 4print "Plain Text : " + textprint "Shift pattern : " + str(s)print "Cipher: " + encrypt(text,s)

输出

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

凯撒密码

说明

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

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

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

凯撒密码算法的黑客攻击

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

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

message = 'GIEWIVrGMTLIVrHIQS' #encrypted messageLETTERS = '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 + symbolprint('Hacking key #%s: %s' % (key, translated))

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

黑客凯撒密码