密码学——playfair密码

admin 2024年1月10日10:29:30评论9 views字数 1258阅读4分11秒阅读模式

密码学——playfair密码

一、基本原理

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

1.1 基本原理

    Playfair算法基于一个5*5的字母矩阵,该矩阵使用一个关键词构造,方法是按从左到右、从上到下顺序,填入关键词的字母(去除重复字母)后,将字母表其作余字母填入。

    它依据一个5x 5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过 25 个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。

1.2 操作步骤

    ①构造一个基于5×5的字母矩阵

    ②该矩阵使用一个关键词(密钥)来构建

    ③然后从左到右、从上到下;依次填入密钥的字母(注意:密钥中重复的字母不填),然后再以字母表顺序依次填入其他字母

    ④字母 I 和 J 算作一个字母

    例如:取关键字(密钥):monarchy,则字母矩阵为下图所示(矩阵只能放25个字母,I与J同)

密码学——playfair密码

1.3 加密规则

    Playfair加密算法是先将明文按两个字母一组进行分组,然后在矩阵中找对应的密文。

    取密文的规则如下:

    a) 若明文出现相同字母在一组,则在重复的明文字母中插入一个填充字母(eg:z)进行分隔后重新分组(eg: balloon被重新分组为ba lz lo on)

    b) 若分组到最后一组时只有一个字母,则补充字母z

    c) 若明文字母在矩阵中同行,则循环取其右边下一个字母为密文(矩阵最右边的下一个是最左边的第一个)(eg: ar被加密为RM)

    d) 若明文字母在矩阵中同列,则循环取其下边下一个字母为密文(矩阵最下边的下一个是最上边的第一个)(eg: mu被加密为CM)

    e) 若明文字母在矩阵中不同行不同列,则取其同行且与同组另一字母同列的字母为密文(eg: hs被加密为BP,ea被加密为IM或JM)

总结:同行、同列的明文则向右、向下位移一位得到的字母作为密文输出

           不同行不同列的明文则取其同行同列交互的字母作为密文输出

二、解题

“密码学题目”的第43题如下所示:

43、密钥为“ISCBUPT”,利用Playfair密码算法,将密文“GNTLTONHOEAFCP”解密,其结果为()。

A.steganographia

B.steganographie

C.steeanographia

D.ateganographia

解:

构造的矩阵如下:

I/J  S  C  B  U

P   T  A  D  E

F   G  H  K  L

M  N  O  Q  R

V   W  X   Y  Z

则分组如下:

GN   TL   TO   NH   OE   AF   CP

则解密如下:

GN->TG  TL->EG  TO->AN  NH->OG  OE->RA  AF->PH CP->IA

即tgeganographia

答案有问题。

原文始发于微信公众号(豆豆咨询):密码学——playfair密码

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月10日10:29:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   密码学——playfair密码http://cn-sec.com/archives/2380463.html

发表评论

匿名网友 填写信息