zoukankan      html  css  js  c++  java
  • 密码学笔记——希尔密码

    希尔密码(Hill Cipher),是运用基本矩阵论原理的替换密码,每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果mod26。用作加密的矩阵(即密匙)必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。

    例题:

    在线代的课本上出现了一堆神秘字母

    dloguszijluswogany

    而旁边的矩阵是

    1 2
    0 1

    快找出flag吧

    key格式:simCTF{}

    1、求矩阵 的逆矩阵。

           即  

    求逆矩阵方法:1、伴随矩阵:伴随矩阵是矩阵元素所对应的代数余子式,所构成的矩阵,转置后得到的新矩阵。

                             2、初等变换:写出增广矩阵A|E,即矩阵M右侧放置一个同阶的单位矩阵,得到一个新矩阵。然后进行初等行变换,将增广矩阵的左侧变换为一个同阶单位矩阵,这时右侧为所求M的逆矩阵。

    2、根据字母表顺序将密文换成矩阵数值

    a b c d e f g h i j k l m n o p q r s t u v w x y z
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

      d     l     o     g     u     s     z     i     j     l     u     s     w     o     g     a     n     y

      4    12  15   7     21   19   26   9  10   12  21   19   23   15   7     1    14    25

    3、将密钥的逆矩阵与密文变换成的矩阵做乘运算

       

    4、将得到的矩阵mod26

    ----------------------------------------------------------------分割线---------------------------------------------------------

                  ps:萌新一枚,本文纯为学习笔记,以防某日犯傻忘记--。如有不妥处,望大佬们赐教~

  • 相关阅读:
    android打包so文件到apk
    source build/envsetup.sh 之后
    android 应用程序 集合
    dedecms模块支持系统标签
    php中的两个DI解决方案
    yii快速入门与参考
    [ZT] 使用PHPFPM (PHP FastCGI Process Manager)来对phpcgi进程进行管理
    [转]VLD扩展使用指南
    织梦CMS安装路径问题
    php+mysql中存储过程性能简单比较
  • 原文地址:https://www.cnblogs.com/xdjun/p/7472735.html
Copyright © 2011-2022 走看看