古典加密
来源:互联网 发布:淘宝卖东西要交税吗 编辑:程序博客网 时间:2024/05/17 08:20
一. Caesar密码
是一种单表代替密码,利用每个字母之后的第n(0<n<26)个字母来代替。
例:偏移量是左移3的时候(解密时的密钥就是3)
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
计算通式:E (x)= (x+n) mod 26
解密就是:D (x)= (x-n) mod 26
import pycipher from Caesar #利用pycipher模块实现凯撒加密和解密Caesar(key=3).encipher('meet me')#实现密钥为3的加密Caesar(key=3).decipher( 'phhw ph' ) #实现密钥为3的解密
二. 维吉尼亚密码
是在凯撒加密的基础上拓展出来的,是一种多表代替密码。
例:RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
密文=(原文+密钥 mod 26)mod 26
原文=(密文- 密钥 mod 26)mod 26
密文=(原文+密钥 mod 26)mod 26
原文=(密文- 密钥 mod 26)mod 26
import pycipher from Vigenere #利用pycipher模块Vigenere('hello').encipher('meet me')#实现密钥为hello的加密Vigenere('hello').decipher( 'phhw ph' ) #实现密钥为hello的解密
0 0
- 古典加密
- 古典加密(2)
- 古典加密(3)
- 古典密码加密解密之多表代换
- 古典密码中的Vigenere加密方法的解密实例
- 古典密码之hill密码的加密与解密程序实现
- 古典至爱
- 古典爱情
- 古典吉他
- 古典密码学
- 古典密码学
- 古典问题
- 古典密码学
- 古典密码
- 古典密码
- 古典密码
- 中国古典名将排行榜
- Amazon古典掠影
- 接口java.util.Map.Entry的使用
- 倾斜图像
- vim 常用操作
- 特殊矩阵的压缩存储
- Windows环境下Spring Boot+Docker构建应用
- 古典加密
- 身份证的校验方法
- 验证码自动识别的价值与意义
- 将nginx+tomcat集成迁移到二代swarm
- 木马病毒隐身穿墙术解密之花指令和终止进程
- 【前端开发框架】面向UI编程框架:ui.js框架思路详细设计
- ubantu12.04中安装g++编译器
- rmdir命令--Linux命令应用大词典729个命令解读
- java_day02_逻辑运算符