美文网首页
开源项目:凯撒密码转换器

开源项目:凯撒密码转换器

作者: 灰尘极客 | 来源:发表于2021-11-27 20:34 被阅读0次

    几天前一次和朋友聊天谈到了加密聊天,于是想到了凯撒密码,随之就是想用自己的一点烂技术写点好玩的:

    项目名:gkc_Caesar_cipher
    开源地址:https://moecloud.cn/s/PdoQIM
    开发语言:Python
    开发者:灰尘疾客

    下面是成品说明

    凯撒密码转换器

    程序介绍

    本程序可以将用户输入的内容通过非固定的凯撒密码字典进行加/解密,是一种好用加密的加密聊天方式。

    历史记载

    Caesar cipher,发明者Caesar(凯撒),罗马人。
    根据苏维托尼乌斯的记载,恺撒曾用此方法对重要的军事信息进行加密:
    如果需要保密,信中便用暗号,也即是改变字母顺序,使局外人无法组成一个单词。如果想要读懂和理解它们的意思,得用第4个字母置换第一个字母,即以D代A,余此类推。
    同样,奥古斯都也使用过类似方式,只不过他是把字母向右移动一位,而且末尾不折回。每当他用密语写作时,他都用B代表A,C代表B,其余的字母也依同样的规则;他用A代表Z。
    另外,有证据表明,恺撒曾经使用过更为复杂的密码系统:文法学家普罗布斯曾经写过一份独具创新的手稿,研究恺撒书信中包含有秘密信息的字母。
    已经无法弄清恺撒密码在当时有多大的效果,但是有理由相信它是安全的。因为恺撒大部分敌人都是目不识丁的,而其余的则可能将这些消息当作是某个未知的外语。即使有某个敌人获取了恺撒的加密信息,根据现有的记载,当时也没有任何技术能够解决这一最基本、最简单的替换密码。现存最早的破解方法记载在公元9世纪阿拉伯的阿尔·肯迪的有关发现频率分析的著作中。

    原理

    这是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期凯撒的名字命名的,当年凯撒曾用此方法与其将军们进行联系。

    使用方法

    进入程序后,会有像下面这样的提示:

    请在这输入你想加密/解密的内容文本:
    

    随便输入一段英文(此程序仅支持英文和数字,原因看原理):例如Fuck you

    然后回车:

    请在这输入你想加密/解密的内容文本:Fuck you
    您需要加密(输入数字1)还是解密(输入数字2)?:
    

    我们在这输入的是可看的原文,所以我们要加密,输入1,回车:

    请在这输入你想加密/解密的内容文本:Fuck you
    您需要加密(输入数字1)还是解密(输入数字2)?:1
    请输入要右移位移的字母(可以为负):
    

    我们以位移+3(这是当年的默认值,输入其他值可以为负,但是必须加负号,正数的正号加不加无所谓)为例,输入并回车:

    请在这输入你想加密/解密的内容文本:Fuck you
    您需要加密(输入数字1)还是解密(输入数字2)?:1
    请输入要右移位移的字母(可以为负):3
    ixfn brx
    ---------------------------------
    请在这输入你想加密/解密的内容文本:
    

    程序里面用了循环,所以输出完后会自动进行下一次,这适合正在加密聊天的折腾者。

    同样,我们把加密好的文本复制完后重新输入,选择2进行反加密(解密),位移了多少仍然填3:

    ……
    ---------------------------------
    请在这输入你想加密/解密的内容文本:ixfn brx
    您需要加密(输入数字1)还是解密(输入数字2)?:2
    请在此处输入要解密的文本被向右移位了多少(可以为负):3
    fuck you
    请在这输入你想加密/解密的内容文本:
    

    这样解密就成功了,是不是真的很适合爱折腾的你?赶紧发给你的朋友,约定一个固定的位移数(加密密钥)进行愉快的无限制聊天吧!

    文件(夹)介绍

    programs文件夹

    存放主程序及图标文件

    en-WW.exe

    英文版主程序(在en-ww文件夹内)

    ico.ico

    程序图标,透明底的

    zh-CN.exe

    中文版主程序

    records.log

    日志文件,主要通过自编模块 keeplog 生成,内容为“日期(Y/M/D)+时间(h/m/s)+加密密钥+输入/输出内容+分割线”

    相关文章

      网友评论

          本文标题:开源项目:凯撒密码转换器

          本文链接:https://www.haomeiwen.com/subject/vosetrtx.html