• 信息安全-2:python之hill密码算法[原创]


    转发注明出处:http://www.cnblogs.com/0zcl/p/6106513.html

    前言:

    hill密码算法我打算简要介绍就好,加密矩阵我用教材上的3*3矩阵,只做了加密,解密没有做,不过我觉得会加密就会解密的~~

         

    一、hill算法原理

    hill密码是一种多字母替代密码,由数学学Leste Hill于1929年研制成功。该密码算法取m个连续的明文字母,并用m个密文字母代替,用向量或矩阵表示为(这里取m=3,C和P是长度为3的列向量,K是3*3矩阵):

    即:C=KP  (C为密文,P为明文,K为密钥矩阵)

    PS:加密操作要执行模26运算

     二、加密规则

    加密规则也不难的,就是有个矩阵运算(忘了可以谷哥一下,和线代有关~)

    1. 对明文进行分组,每3个字母一组,不足则字母Z(我设定的,下面编程也是补Z)
    2. 进行矩阵运算,对每组字母求密文

    举例:

    对pay more money进行加密,明文的前3个字母表示为:pay=(15  0  24)T

    计算密文的过程:K(15  0  24)T=(375  819  486)Tmod 26=(11  13  18)T=LNS

    依此类推,可得密文为LNS HDL EWM TRW

    三、编程与思路

    思路请看我画的流程图,网址http://processon.com/diagraming/583aff30e4b086d1e7d3b617

     源代码

     View Code

    测试

     View Code
  • 相关阅读:
    mongodb实验
    hbase实验
    oracle数据库的安装
    3ds的fbi无线传输
    2018年春阅读计划---阅读笔记6
    2018年春阅读计划---阅读笔记5
    2018年春阅读计划---阅读笔记4
    php写一个简单的计算器
    2018年春阅读计划---阅读笔记3
    脚本之家的一个meta的帖子
  • 原文地址:https://www.cnblogs.com/zhangyubao/p/6973840.html
Copyright © 2020-2023  润新知