基于Word VBA的波利比奥斯棋盘数字密写技术的实现

更新时间:2023-05-15 01:52:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信息产业

1 6 1

基于 Wo r d V B A的波利比奥斯棋盘数字密写技术的实现于海清 (内蒙古师范大学计算机与信息工程学院,内蒙古呼和浩特 0 1 0 0 2 2 ) 摘要:本文利用波利比奥斯棋盘的方阵数学模型对 Wo r d文档中的字符特别是英文字符进行文本密写,使用 Wo r d的内嵌编程语言 V i s u a l B a s i c f o r A p p l i c a t i o n s完成加密和解密的功能,通过改变 wo r d文档的文本模式实现信息的隐藏和提取。 关键词: Wo r d V B A;英文字符;波利比奥斯棋盘;信息隐藏;信息提取1数字密写和加密解密过程模型

数字密写 ( S t e g a n o g r a p h y )是将要隐藏的信息嵌入到载体信号中, 通过公众媒介从源地址传输到目的地址而不被发现,以实现信息的隐藏。载体信号是各种各样的,可以是文档文件、图像文件和声音文件等。在本文中,我们准备在公用信道上传输需要保密的包含大量英文字符的材料,所以要把英文字符信息放在 Wo r d文档中。我们先对 Wo r d文档中英文字符信息进行加密,在源地址通过公用信道发送出去,接收方从目的地址接受到 Wo r d文档后,从文档中按指定方法提取隐藏信息,较好地实现了通信的保密和安全。这种基于 Wo r d文档的数字密写技术,是通过改变 Wo d文档中的文本模式 r来实现实现信息隐藏的。它使文档中英文字符的形态发生了变化, 从英文字符变成了数字,而我们日常所用文档中包含英文字符和数字是常有的现象,所以这种变化不易被别人觉察。 图 1数字加密与解密过程模型图本文提出一种新的基于 Wo r d文档中英文字符的数字密写方法,是通过波利比奥斯棋盘的密写规则改变 Wo r d文档中的英文字加密符形态,在源地址按照波利比奥斯棋盘矩阵把英文字符加密为固 c D 8 — 1 1 1 2 1 3 1 4 1 5 ———-—————呻 定的数字实现信息的的隐藏,接收方从目的地址接受到 Wo r d文档 F G H i{ J K 2 1 2 2 2 3 2 4 2 5 后,同样通过波利比奥斯棋盘矩阵的对应关系把已加密好的英文字 L N 0 P 3 1 3 2 3 3 3 4 3 5

符解密还原。图 1为数字密写的加密解和密过程模型图。U 2波利比奥斯棋盘密写方法 Q R 波利比奥斯棋盘密写方法,最先是由古希腊人波利比奥斯提出 X Y z 的,他首先提出了用不同的两位数来替换英文字母的加密方法。2 64 1 4 2 4 3 4 4 4 5

解密●●————— -————— -——一

5 1 5 2 5 3 5 4 5 5

个英文字母被写入一个编有行号和列号的 5×5方阵中,对应关系如图2。 如图 2所示,这样做主要是让 2 6个字母都可纳入方阵中,I和 J同时被写入坐标为( 2, 4 )的矩阵位置中。f o r k=0 t o 9 9

图2f o r i c o u n t= 0 t o 4

o f r j c o u n t= O t o 4

加密时,用每个字母所在的行号和列号合成的两位数来表示该字母。行号总在前。例如,字母 E的表示数为 l 5。单词 P A S S WO R D 的加密后就成了: 3 5一 l l~ 4 3— 4 3— 5 2— 3 4— 4 2— 1 4。解密时,只需根据所给的数找出对应的字母就可以了。第一个数是 3 5,程序就去找第 3 行第 5列的那个字母。3加密和解密技术的程序实现 本文目标是对 Wo r d文档中英文字符进行文本密写,所以我们采用了 Wo r d的内嵌语言 V i s u a l B a s i c f o r A p p l i c a t i o n f简称 V B A ),

i f ( m ( k )<>… J )t h e n i f ( l m( k )==P o l y b i u s( i ) ( j ) ) he t n c ( k )= ( i+ 1 ) l O+ ( j+ 1 )e nd i f

e l s e

c ( k )= 2 4e n d i fne x t j c o un tn e x t m o u nt

V B A是微软 O f i c e家族的新一代标准宏语言,可以 O ic f e家族的各种应用程序,例如 w0 r d、 E x c e l、 P o w e r p o i n t和A c c e s s等进行进一步的开发。而就 Mi c r o s o f t Wo r d本身来讲,普通用户只用了其约 1 0%的功能,其余约 9 0%的功能是提供给 V B A程序员的。下面是基于 Wo r d V B A的波利比奥斯棋盘数字加密和解密的技术实现

的案例程序: 。Pr iv a t e S ub Do c u me nt O p e n ( )_

n e x t k

l e n t g h= U B o u n d ( m )一 L B o u n d ( m )+ 1or f k= 0 t o l e n th g一1

R e 1 T I………………………………………●…●●●…● -●●●● -●●●●●●●●…●●●…●●●●‘

m s g b O X c ( k )n e x t k

Re m

先把如图 2所示字符矩阵存人数组 P o l y b i u s ( 0 t o 4, 0 t o 数组 m( k )中为明文,数组 c ( k )为密文●●●●●●●●●…●●●…

i c o u n t= 0;

4 )中Re m Re m

R e m ………………………………………解密过程●……●●…●…●●●…●●●……●●‘

R e m数组 b ( 1【 )中为密文,数组 P 0】 y b i u s( i ) ( j )为明文Re m… … … … - … … … …… …

D i m b ( 5 )a s i n t e g e r, m ( 9 9 ) a s S t i r n g, c ( 9 9 ) a s S t r i n g

D i m P o l y b i u s ( 0 t o 4, 0 t o 4 )a s S t r i n gD i m i c o u n t a s i n t e g e r, j c o u n t a s i n t e g e r, k a s i n t e g e r; l e n g t h a si n t e g e r

f o r k=l t o 5

i ( k )<> 2 4 )t h e n i c o u n t= b ( k )/ 1 0 - 1

(下转 4 8页)

本文来源:https://www.bwwdw.com/article/lo3e.html

Top