hill的理论

hill密码涉及到了一部分线性代数方面的求解,在做题时要注意求解逆序数。
加密:Bi = A * ai(mod 26)
解密:ai = A^-1 * Bi
这里的 A 为加密密钥,ai 是根据分组大小定的一个列矩阵,Bi 是求出的加密密文,A^-1是解密密钥。
在字母转换数字的时候A可以从0开始也可以从1开始,在我给的例题中采用的是A从1开始计算

举例

.hill密码分组大小m=2,加密密钥(3, 5;20,19)。(分号表示换行)
(1)请加密“good”
(2)请写出解密密钥
(3)请解密你刚刚加密的密文
根据题,要求找出good所对应的数字分别为:7,15,15,4
因为分组大小为2,则a1={7;15},a2={15;4}
因为A={3,5;20,19},得出B1={18;9},B2={13;12}。
找出对应的密文:RIML。
A^-1 = |A^-1| * {d,-b;-c,a}。
因为|A| * |A^-1|(mod 26)同余1.|A|=9,
则|A^-1|=3.
所以解密密钥为:A^-1 = {5,11;18,9}
a1={5,11;18,9}{18;9]={7;15}
a2={5,11;18,9}
{13;12}={15;4}
对应的密文为GOOD。

希尔密码(hill)的解密与加密相关推荐

  1. C++希尔密码Hill Cipher算法(附完整源码)

    希尔密码Hill Cipher的算法 希尔密码(Hill Cipher) 的算法的完整源码(定义,实现,main函数测试) 希尔密码(Hill Cipher) 的算法的完整源码(定义,实现,main函 ...

  2. Visual Studio 2019下用 C# 实现 Hill2 二阶希尔密码 的加密、解密 GUI界面

    1.什么是Hill2 什么是Hill密码 希尔密码(Hill)使用每个字母在字母表中的顺序作为其对应的数字,即 A=0,B=1,C=2 等,然后将明文转化为 n 维向量,跟一个 n × n 的矩阵相乘 ...

  3. C++希尔密码的实现以及运用

    希尔密码(Hill Cipher)是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明.每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一 ...

  4. CTF-Crypto 密码原理及解密方法

    CTF-Crypto 密码原理及解密方法 文章目录 CTF-Crypto 密码原理及解密方法 推荐综合加解密网址 一.常见密码格式 二.古典密码 凯撒密码 仿射密码 埃特巴什码 培根密码 棋盘密码 希 ...

  5. CTF-Crypto-各种密码原理及解密方法

    CTF-Crypto-各种密码原理及解密方法 一.常见密码格式(太懒了,待补充) 二.古典密码 凯撒密码 仿射密码 埃特巴什码 培根密码 棋盘密码 希尔密码 维吉尼亚密码 摩尔斯密码 栅栏密码(普通型 ...

  6. 希尔密码在CTF中应用—记一道题

    CTF-crypto 解题思路来自:i春秋的大佬们 https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=52687&highli ...

  7. md5加密后怎么解密_手机怎么解密已加密的PDF?不会还有人不知道这招吧?

    出门在外的时候,突然想到还要帮领导清除PDF的密码,但又没有随身携带电脑,但这时候我们要庆幸手上还有部手机,因为手机也可以解决清除PDF密码的问题.我们只需要下载PDF快转APP,并叫领导发PDF密码 ...

  8. php acs解密,RSA 加密及php实现

    RSA加密简介: RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它.但是有不少新手对它不太了解.下面仅作简要介绍.RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字 ...

  9. Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别

    Base64 加密, 这个其实不可以算作加密方法,它可以看作是一种编码方式,它的用途只是二进制数字和字符串进行相互转化. Base64是网络上最常见的用于传输 8Bit字节码的编码方式之一,是一种基于 ...

  10. Bcrypt密码生成及解密工具

    在一次授权测试中碰到一种密文,当时无法解出明文,当结束后对这种难缠的加密算法进行了学习,因此产生了这篇文章. 密文形式如下图所示: 经查询为Bcryp加密,而且同一明文密码经过加密后生成的密文不是相同 ...

最新文章

  1. http协议常见的响应头
  2. java工单自动化流程控件,一种工单审批的自动化处理方法及系统与流程
  3. id_Tech5_challenges--siggraph09
  4. javascript必须知道的知识要点(一)
  5. CENTOS6.4安装vnc-server
  6. dmn是大脑中哪个区域_DMN中的函数式编程:感觉就像再次重读我的大学课程一样...
  7. 2022年中国商业数据智能行业研究报告
  8. 有类和无类路由下的路由匹配原则
  9. mysql表的增删查改
  10. PostgreSQL学习总结(2)—— PostgreSQL 语法
  11. 是时候给为的 C 盘清理污垢了!一个830KB的神器安全解决烦恼 | C 盘快满了,如何清理 C 盘? | win 10 OS盘清理
  12. 【Spark Summit EU 2016】使用参数服务器在Spark上扩展因式分解机
  13. 阿里云服务器安装docker开发环境
  14. crontab定时器
  15. gwr模型用什么做_干货|教你如何用Stata做二元选择模型
  16. 电子基础知识:常用电子元器件和基本工具
  17. 从日企和水浒传看企业如何转型
  18. 【AI创新者】图森未来CTO侯晓迪:定义问题比解决问题更重要
  19. 【转载】Aquanaut:水下变形金刚
  20. 鉴客 iPad横屏(Landscape)尺寸规格说明

热门文章

  1. 微信小程序关于天气页面制作(第3章)
  2. 全新下一代平台级跟踪工具:Perfetto使用指南
  3. adb unauthorized
  4. 一本好书《目标:简单而有效的常识管理》
  5. The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher
  6. 企业邮箱在Outlook office 2010上POP3/IMAP的设置方法
  7. Microbiome | 中大丁涛组揭示人体常见呼吸道病毒感染塑造的口咽菌群特征
  8. 共享自习室管理系统设计与实现
  9. nyoj 疯牛(二分搜索+贪心)
  10. Android Button属性(如何去掉Button阴影)