Playfair密码(英文:Playfair cipher 或 Playfair square)是一种替换密码,1854年由查尔斯·惠斯通(Charles Wheatstone)的英国人发明。

编写分三步:1.编制密码表 2.整理明文 3.编写密文 构成部分:

1.密钥

2.明文

3.密文

4.注明的某个字母代替的另一个字母

百度百科:它依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。

如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。

搜狗百科:由于是5×5的矩阵,而英文字母共26个,通常有两种处理方法:①若密钥和明文中均不含字母Q则填入矩阵时不包括Q

②若密钥或明文中均含有字母Q则填入矩阵时字母I和J捆绑在一起看做一个字母,占一个格子。

综上:如果秘钥有I或者J,就把Q或者Z去掉,保持25个。

ayfair加密算法根据下列规则一次对明文的两个字母进行加密,这两个字母构成一对。其加密规则如下:

(1)一对明文字母如果是重复的。则在这对明文字母种间插入一个填充字符。如X。因此,单词session将被分割成:se、sx、si、on。

(2)如果分割后的明文字母对在矩阵的同一行中都出现,则分别用矩阵中其右侧的字母代替,行的最后一个字母由行的第一个字母代替。例如,on被加密成qo,而st被加tn。

(3)如果分割后的明文字母对在矩阵的一列中都出现,则分别用矩阵中其下方的字母代替,列的最后一个字母由列的第一个字母代替。例如,en被加密成nu,而aw被加密成ba。

(4)如果分割后的明文字母对既不在矩阵的同一列中都出现也不在矩阵的同一行中都出现,密文是这两个字母所在的长方形的另两个顶点。例如,se被加密成nk,而cu被加密成ix(或jx)。

(5)如果明文有奇数个字母,末尾加一个无效字母。

明文为we are discovered save yourself,分组成为we ar ed is co ve re ds av ey ou rs el fz;

用上述矩阵加密后的密文为:UG RM KC SX HM UF MK BT OX GC MV AT LU KV

例子:

.使用Playfair密码的加密明文good,密钥关键词是monarchy,计算加密后的密文。

解:构成的密钥矩阵是:

      

   M

O

N

A

R

 C

H

Y

B

D

 E

F 

G

I/J

K 

 L

P

Q 

S 

T 

 U

V

W 

X 

Z 

将明文按照两个字母分组:

go  od

密文是:

FN  RH

Playfair密码相关推荐

  1. 08:vigenère密码_密码技术:Vigenére密码,Playfair密码,Hill密码

    08:vigenère密码 1)Vigenére密码 (1) Vigenére Cipher) This technique is an example of Polyalphabetic Subst ...

  2. python 古典密码第一弹(凯撒密码,Playfair密码,维吉尼亚密码)

    各位白嫖-漂亮大哥哥姐姐们好,在下菜鸡一枚,主要想在这和大家一起探讨学习之道,一起愉快的学习密码学基础.总所周知,密码学学的好,头发掉的少... 直接进入正题,今天我就主要讲三个密码,而且都是古典密码 ...

  3. 加密算法学习(一、中、1)——传统加密算法(playfair密码)

    本博文借鉴自书本<密码编码学与网络安全--原理与实践(第七版)>,由William Stallings著,王后珍.李莉等译. 参考博客:信息安全-1:python之playfair密码算法 ...

  4. PlayFair密码原理、代码

    1.引入PlayFair密码的原因 (1).因为单表代替的密钥量很小,不能抵抗穷尽搜索攻击 (2).单表代替密码没有将明文字母出现的概率隐藏起来.很容易收到频率分析的攻击 综上所述,我们会引入Play ...

  5. playfair密码和凯撒密码加密算法的Java实现

    文章目录 一.实现广义的凯撒密码加密算法 二.实现广义的playfair密码的加密算法 总结 加密原理: 一.实现广义的凯撒密码加密算法 //实现广义的凯撒密码//凯撒密码的加密String plai ...

  6. Playfair密码(原理+代码)

    目录 1.原理 2.流程图 3.编程实现 4.总结 1.原理         Playfair密码是一种使用一个关键词方格来加密字符对的加密算法,是一种多表代换的对称加密技术. 它依据一个5*5的正方 ...

  7. playfair密码_密码学中的Playfair密码

    playfair密码 Playfair cipher is also a substitution cipher technique but it is a bit different than ot ...

  8. 浅析加密算法三【Playfair密码】

    文章目录 一.简介 二.原理 三.例题 四.代码 一.简介 playfairplayfairplayfair 加密算法经莱昂·普莱费尔提倡在英国军地和政府使用. 它有一些不太明显的特征:密文的字母数一 ...

  9. Playfair密码的基本原理及事例

    背景 普莱费尔密码(英文:Playfair cipher 或 Playfair square)是一种使用一个关键词方格来加密字符对的加密法,1854年由一位名叫查尔斯·惠斯通(Charles Whea ...

最新文章

  1. mysql innodb 1017_MySQL InnoDB表压缩
  2. 在jupyter notebook中attr1参数的作用_PID控制中P、I、D参数的作用究竟是什么?
  3. 【C++ grammar】对象指针、对象数组、函数参数
  4. epoll的内核实现
  5. 直接修改html文本页面没变化,VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析...
  6. 网站服务器需要定期重启吗,数据库服务器需要定期重启吗
  7. C++类型转换实现不同类型相加【复数与double类型相加】
  8. 10年老分析师最终抛弃Excel,它不是最好的数据分析工具
  9. 单细胞----关于Seurat的一些知识
  10. CMakeLists.txt是什么
  11. ffmpeg命令基本语法和常见命令
  12. FastAPI 教程翻译 - 介绍
  13. 爬虫爬取车主指南各类汽车数据
  14. JAVA小项目--商品管理系统
  15. CPU指令集——AVX2
  16. python识别图片、PDF识别成文字、表格(包含去除水印) 代码不是最新,可在最下面Gitee地址查看最新代码
  17. 实战:用 C 语言实现操作系统
  18. 网易互娱2022校园招聘在线笔试-游戏研发工程师(第一批)
  19. 风决定要走,云如何挽留!程序员朋友离职有感
  20. 二手家具回收app功能

热门文章

  1. 决定面试成败的3个独立思考能力面试题
  2. jQuery UI 下载 拖动组件
  3. 百度地图 只显示某个省 自定义标注点 添加鼠标事件
  4. IPFS星际文件系统注定会成为伟大的项目
  5. java 对象工厂_Java工厂模型详解
  6. 试简述smtp通信的三个阶段的过程_海格通信有力支撑天通系统正式面向全社会提供服务...
  7. 高考砸了,人生还有戏吗?
  8. java swig 教程_swig java使用实例
  9. 毕业设计之 --- 微信小程序开发
  10. 梦在远方路在脚下,社科院与杜兰大学金融管理硕士项目与你一路相伴