希尔密码C语言源代码,希尔密码加密解密(示例代码)
这个我是从百科中看到的,但是有些地方看不懂,在查阅资料后,进行了修改,希望对大家有帮助
加密
例如:密钥(密码学中好象没有密匙一词)矩阵
1 3
0 2
这个是加密的密钥
明文:HI THERE
去空格,2个字母一组,根据字母表顺序(如a就是1)换成矩阵数值如下,末尾的E为填充字元:
HI TH ER EE
8 20 5 5
9 8 18 5
HI 经过矩阵运算转换为 IS,具体算法参考下面的说明(mod是求余运算符):
|1 3| 8 :1*8+3*9=35 MOD26=9 =I
|0 2| 9 :0*8+2*9=18 MOD26=18=R
用同样的方法把“HI THERE”转换为密文“IR RPGJTJ”,注意明文中的两个E分别变为密文中的G和T。
解密
解密时,必须先算出密钥的逆矩阵,然后再根据加密的过程做逆运算。
逆矩阵算法公式:(与线性代数有关)
例如密钥矩阵=
|1 7|
|0 3|
AD-BC=1*3-0*7=3 3*X=1 mod26 所以 X=9
因此
| 1 7 | | 3 -7 |
| | 的逆矩阵为:9 * | |
| 0 3 | | 0 1 |
假设密文为“FOAOESWO”
FO AO ES WO
6 1 5 23
15 15 19 15
9* |3 -7| 6= 9*(3*6-7*15)=-783 mod26 = 23=W
|0 1| 15 = 9*(0*6+1*15)= 135 mod26 = 5 =E
所以密文“FOAOESWO”的明文为“WEREDONE”
希尔密码C语言源代码,希尔密码加密解密(示例代码)相关推荐
- android java加密_Android、iOS和Java通用的AES128加密解密示例代码
前言 移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如android和iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输. 这篇文章给大家分享AES的加密和解密. ...
- 凯撒密码加密解密——Java代码(密码学)
凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...
- 第10课 511遇见易语言大漠字库图片加密解密
第10课 511遇见易语言大漠字库图片加密解密 小知识 给图片加密码防止被人盗用 加密工具 大漠综合工具 如果要使用加密后的图片 那么在代码里面一定要在使用前 setpicpwd 小知识:给字库加密码 ...
- php 密匙加密解密,带密匙的php加密解密示例分享
这篇文章主要介绍了php加密解密示例,大家参考使用吧 复制代码 代码如下: /************************************************************* ...
- java pgp加密_基于Java Bouncy Castle的PGP加密解密示例
# re: 基于Java Bouncy Castle的PGP加密解密示例 回复 更多评论 2016-03-02 10:32 by 毛小龙 对文件进行加密 在测试类里面已经跑通了 抽取出来调用就报这 ...
- 安全密码c语言编程,商用密码算法原理与C语言实现
2020年1月1日,<中华人民共和国密码法>正式施行.国家鼓励和支持密码科学技术研究与应用,促进密码科学技术进步与创新,加强密码人才培养和队伍建设,采取多种形式加强密码安全教育.本书是在国 ...
- c语言编程文件的加密解密,C语言实现任何文件的加密解密功能
本文实例为大家分享了C语言实现文件加密解密功能的具体代码,供大家参考,具体内容如下 使用命令提示符,实现任何文件的加密和解密功能. 代码如下: //#define _CRT_SECURE_NO_WAR ...
- android登录加密传输,android环境下两种md5加密方式(示例代码)
在平时开发过程中,MD5加密是一个比較经常使用的算法,最常见的使用场景就是在帐号注冊时,用户输入的password经md5加密后,传输至server保存起来.尽管md5加密经经常使用.可是md5的加密 ...
- iOS 3DES加密解密(一行代码搞定)
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...
- Java AES 256加密解密示例
Java支持许多安全的加密算法,但是其中一些功能较弱,无法在安全性要求很高的应用程序中使用.例如,数据加密标准(DES)加密算法被认为是高度不安全的.今天介绍一下AES 256加密解密. 什么是 AE ...
最新文章
- 基于JSP实现毕业设计选题系统
- js笔记 - ajax中的get和post说明
- 十 ubus安装编译
- LeetCode 1233. 删除子文件夹
- 从月薪8K的分析师到月薪2W,只因我有了这份工具清单!
- php本机绿色调试,php本地调试工具下载|
- 20165204 Java第六周学习
- drawio流程图软件_Win10 一般软件个人收集
- 一台mysql数据库服务器_在一台服务器安装多个MySQL数据库
- hdu 2736 Average distance
- 海康威视SDK使用总结
- 浅析微信支付:商户平台开通现金红包、指定用户发放、红包记录查询
- Oracle 实体用户授权及同步同义词
- css+html 嵌套表格做简单网页
- 音频左右声道数据合并到一个声道
- 【用例设计】接口用例设计
- 计算机高深专业术语,Math
- gitbook搭建在线书籍
- Android 中Set 的基本使用方法
- 用xstart打开centos7图形化界面