置换密码之凯撒密码

凯撒密码介绍

它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
将其抽象成数学语言,可表示为:
f(x)=x+key \quad mod \quad 26 \quad key\in[0,25]

def kaisa(plaintext=None,key=None):
    ciphertext = ""

    for item in plaintext:  # 遍历所有字符英文字符,进行偏移,非英文字符不做任何处理
        if item >= 'A' and item <= 'Z':
            item = chr(ord('A') + ((ord(item) - ord('A') + key) % 26))
        elif item >= 'a' and item <= 'z':
            item = chr(ord('a') + ((ord(item) - ord('a') + key) % 26))
        
        ciphertext += item
    
    return ciphertext

if __name__ == "__main__":
    plaintext = "Cryptographic experiments"
    
    ciphertext = kaisa(plaintext=plaintext,key=23)
    
    print("ciphertext : %s"%(ciphertext))   
    #ciphertext : Zovmqldoxmefz bumbofjbkqp
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、原理 凯撒密码 是密码学中的一种简单的替换加密技术。明文中的所有字符都会替换为其按照字母表顺序向左(或向右)偏...
    rollingstarky阅读 2,611评论 0 0
  • 1 题目 功能:恺撒加密描述:利用凯撒密码进行加密 2 凯撒密码 维基百科对凯撒密码的解释:https://zh....
    coder_ten阅读 1,133评论 0 0
  • 凯撒密码是一种最简单且最广为人知的加密技术。相传尤利乌斯.凯撒曾用此方法与其将军们进行联系。它是一种移位加密...
    小红鱼阅读 424评论 0 0
  • 介绍 凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数...
    Blizzard_liu阅读 3,293评论 0 1
  • 实验吧 密码学 变异凯撒 凯撒密码在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换...
    石头安全阅读 660评论 0 0