1、“利用二叉树实现信息加密”项目作业报告信息加密是保证信息安全的重要手段,加密的方法有很多,其中利用二叉树的遍历生成新的信息串序列,是典型的生成法加密,加密性能比较高。例如,在甲、乙双方共同完成的加密、解密过程中,甲方先以二叉树作为载体按照指定的规则对一个二进制数序列进行加密,同时将加密得到的密文和该二叉树的中序遍历序列发送给乙方。乙方确认收到密文后,甲方再发送二叉树的前序序列或后序序列给乙方。乙方在综合各种信息的基础上推导出二叉树的结构,最后完成解密。一、竞赛前准备为了便于进行加密解密竞赛任务,甲乙双方共同熟悉加密规则。1加密规则构建二叉树,按照左孩子边用“0”、右孩子边用“1”表示,将一个二
2、进制序列加密成明文。以教材中下图为例:如果明文为:1001101010110时,加密后的密文为:54879。具体加密的方法可以参照教材P110。2熟悉二叉树的三种遍历二叉树有前序遍历、中序遍历和后序遍历,对于上图,它的三种遍历为:前序遍历:124735869中序遍历:274158396后序遍历:7428596313熟悉由二种遍历确定一棵树由二叉树的遍历规则知,当知道这棵树的前序遍历和中序遍历,或者后序遍历和中序遍历,就可以确定唯一的树。比如:前序:13254中序:23145则这棵树为:4解密在构建好的树上,按照“0”为左,“1”为右的方式,由密文逐步推出二进制序列的明文。二、竞赛实施阶段 1甲
3、方构建二叉树根据竞赛需要,设想一棵二叉树,可以在纸上(或电脑上)准备好。构建明文和密文在上述的二叉树的基础上,按照“0”为左,“1”为右的方式,设想一个明文,并根据加密规则,得到密文串。遍历对上述二叉树进行前序遍历和中序遍历,得到两个遍历序列。将密文和两个遍历序列发给乙方。2乙方确定二叉树依据甲方发过来的二个遍历序列,描绘出该二叉树。解密根据加密规则,对密文解密,得到明文。三、结论与建议本项目利用二叉树的三种遍历,结合左“0”右“1”的规则,得到一种加密方法。项目的实施过程中,要求学生掌握三种遍历,并能通过二种遍历确定唯一的一棵树。项目中,规则的熟悉尤其重要,建议让学生多熟悉竞赛规则,以此掌握三种遍历。第 3页 / 共3页