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. kmeans聚类选择最优K值python实现
  2. 京东玩三角恋,结果“擦枪走火”
  3. css制作圆角矩形,CSS绘制圆角矩形图形的效果
  4. js判断是否是ie浏览器
  5. ORA-12170: TNS:Connect timeout occurred
  6. 我10年来的学习和生活
  7. c++以空格分开的输入数组_技术贴,MATLAB矩阵与数组汇总讲解!
  8. 到底什么是“云网融合”?
  9. 4.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的基本功能
  10. ORB-SLAM3 一张图梳理mono_kitti.cc主流程
  11. 交叉熵损失函数(Cross Entropy Error Function)与均方差损失函数(Mean Squared Error)
  12. Xcode快捷键—图文详解
  13. ARM指令集发展概述
  14. 台式计算机开关电源原理图,计算机开关电源基本结构及原理介绍
  15. PE格式文件修复过程
  16. 智能手机传感器到底有什么用
  17. 如何在线批量进行PDF拆分
  18. 使用开源软件Prometheus监控企业内部应用
  19. linux下的office 速度慢,针对Libreoffice卡顿奇慢的怪病,这里有一味特效药
  20. ehcache 缓存丢失_求助,EhCache缓存中数据失效的问题!

热门文章

  1. mybatis查询数据返回实体对象和返回集合的易错点
  2. luoguP1600 天天爱跑步(NOIP2016)(主席树+树链剖分)
  3. 微信小程序怎么做成网店
  4. 打开辣妈萌宝很好地承载了宝宝所有的幸福记录
  5. 02uec++多人游戏【角色创建和动作生成】
  6. html css画五角星,CSS怎么画五角星?
  7. python二维分布图怎么画_Python可视化二维高斯分布
  8. 在Linux(Ubuntu 16.04)下手动下载固定版本或老版本nvidia显卡驱动
  9. 数据结构-队列-数组队列
  10. 【观察】“新基建”下的数据中心,未来的演进与趋势