- 教程
- 教程
- 双倍强度加密(Double Strength Encryption)
- Python Overview and 安装
- Reverse Cipher
- Caesar Cipher
- ROT13算法(ROT13 Algorithm)
- 换位密码(Transposition Cipher)
- 转置密码的加密(Encryption of Transposition Cipher)
- 换位密码的解密(Decryption of Transposition Cipher)
- 加密文件(Encryption of files)
- 解密文件(Decryption of files)
- Base64编码和解码(Base64 Encoding & Decoding)
- XOR Process
- 乘法密码(Multiplicative Cipher)
- Affine Ciphers
- 黑客单字母密码(Hacking Monoalphabetic Cipher)
- 简单的替代密码(Simple Substitution Cipher)
- 简单替换密码的测试(Testing of Simple Substitution Cipher)
- 简单替换密码的解密(Decryption of Simple Substitution Cipher)
- Python Modules of Cryptography
- 了解Vigenere Cipher(Understanding Vignere Cipher)
- 实现Vigenere Cipher(Implementing Vignere Cipher)
- 一次性密码(One Time Pad Cipher)
- 一次性密码密码的实现(Implementation of One Time Pad Cipher)
- 对称和非对称密码学(Symmetric & Asymmetric Cryptography)
- 理解RSA算法(Understanding RSA Algorithm)
- 创建RSA密钥(Creating RSA Keys)
- RSA密码加密(RSA Cipher Encryption)
- RSA密码解密(RSA Cipher Decryption)
- 黑客攻击RSA密码(Hacking RSA Cipher)
- 资源
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Caesar Cipher
在最后一章中,我们讨论了反向密码。 本章详细讨论了凯撒密码。
凯撒密码算法
凯撒密码算法具有以下特点 -
Caesar Cipher技术是一种简单易用的加密技术。
它是简单类型的替换密码。
每个纯文本字母都被一个字母替换,该字母具有一些固定数量的位置和字母。
下图描绘了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)
输出 (Output)
您可以看到Caesar密码,即输出,如下图所示 -
说明 (Explanation)
纯文本字符一次遍历一个。
对于给定纯文本中的每个字符,根据规则转换给定字符,具体取决于加密和解密文本的过程。
在执行这些步骤之后,将生成一个新字符串,称为密文。
黑客凯撒密码算法
密文可以被各种可能性破解。 其中一种可能性是Brute Force Technique,它涉及尝试每个可能的解密密钥。 这种技术不需要太多努力,对于黑客来说相对简单。
黑客凯撒密码算法的程序实现如下 -
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))
考虑前面示例中加密的密文。 然后,使用密钥和使用强力攻击技术的可能的黑客攻击方法的输出如下 -
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论