熊志勇 摘 要 本文在介绍Playfair密码系统的基础上,提出了适合于加密中文信息的扩展Playfair密码,并在讨论了相应的加密解密算法之后,给出C++ Builder综合实例。 关键词 Playfair密码,加密,解密 一、前言 在经典加密技术中,最著名的多字母加密密码是Playfair密码,它将明文中的双字母组合作为一个单元对待,并将这些单元转换为密文双字母组合,比简单的单一字母替代法密码有了很大的进步,曾被英国陆军在第一次世界大战中作为第一流领域系统使用,并在第二次世界大战中仍被美国陆军和其他同盟国大量使用。但是,Playfair密码仅用了25个英文字母,双字母组合为25*25=625种,破译难度相对较低,且不适合汉字信息的加密。 基于以上情况,本文提出了扩展的Playfair密码,将双字母组合改为双字节组合,以适应汉字信息和一般二进制信息的加密。 二、 Playfair密码 Playfair密码的算法是基于使用一个5*5字母矩阵,该矩阵使用一个关键词构造。设关键词是monarchy,矩阵的构造方法是:由从左到右、从上到下填入关键词的字母(去除重复字母),然后再以字母表顺序将余下的字母填入矩阵剩余空间,字母I和J被看作一个字母,如下表所示。 字母矩阵表 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 Playfair密码系统根据下列规则一次对明文的两个字母加密: 1. 相同对中的重复明文字母将用一个填充字母如X进行分隔,因此单词balloon将被分隔为ba lx lo on。 2. 属于该矩阵相同行的明文字母将由其右边的字母代替,而行的最后一个字母由行的第一个字母代替。例如,ar被加密为RM。 3. 属于该矩阵相同列的明文字母将由其下面的字母代替,而列的最后一个字母由列的第一个字母代替。例如,mu被加密为CM。 4. 否则,明文的其他字母将由与其同行,且与另一个字母同列的字母所代替。因此,hs被加密为BP,ud被加密为CZ。
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved 京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089