技术标签: 密码学
1.输入原密钥 例如:K=12345679ABCDEF
2.输出他的二进制K=0001 0010 …
3.根据给出的换位表
例如(7位*8=56位)置换表1
(57 49 41 33 25 17 9)
…
…
注意(每八位是一个奇数偶数校验位,不参与运算)
例如第一位是输入密钥第57位上的数据,第二位是第49位上的数据,以此类推。
4.可以得到56位的新密钥
K+=1111000 0110011 …
5.将其分成左右两部分,分别是28位,
C0=。。。
D0=。。。
6.对于C0,D0进行移位操作,移位顺序分别是
1,1,2,2,
2,2,2,2,
1,2,2,2,
2,2,2,1.
具体来说,对于n=1,2,3,。。。,16,在前一轮移位的结果上,进行左移操作。什么叫左移?左移指的是将除第一位外的所有为往左移一位,将第一位移动至最后一位。
比如,C3和D3是C2和D2移位而来的。
具体来说,通过2次左移位,C16和D16则是由C15和D15通过1次左移得到的。在所有情况下,一次左移就是将所有比特往左移动一位。使的一位后的比特的位置相较于变换前成为2,3,4,,,28,1.
7.比如,对于原始子密钥C0和D0 (注意:记住循环移位的规律。1122 2222 1222 2221)得到:
C0 = 1111000011001100101010101111
C1 = 1110000110011001010101011111
C2 = 1100001100110010101010111111
C3 = 0000110011001010101011111111
C4 = 0011001100101010101111111100
C5 = 1100110010101010111111110000
C6 = 0011001010101011111111000011
C7 = 1100101010101111111100001100
C8 = 0010101010111111110000110011
C9 = 0101010101111111100001100110
C10 = 0101010111111110000110011001
C11 = 0101011111111000011001100101
C12 = 0101111111100001100110010101
C13 = 0111111110000110011001010101
C14 = 1111111000011001100101010101
C15 = 1111100001100110010101010111
C16 = 1111000011001100101010101111
D0 = 0101010101100110011110001111
D1 = 1010101011001100111100011110
D2 = 0101010110011001111000111101
D3 = 0101011001100111100011110101
D4 = 0101100110011110001111010101
D5 = 0110011001111000111101010101
D6 = 1001100111100011110101010101
D7 = 0110011110001111010101010110
D8 = 1001111000111101010101011001
D9 = 0011110001111010101010110011
D10 = 1111000111101010101011001100
D11 = 1100011110101010101100110011
D12 = 0001111010101010110011001111
D13 = 0111101010101011001100111100
D14 = 1110101010101100110011110001
D15 = 1010101010110011001111000111
D16 = 0101010101100110011110001111
8.而后合成CnDn,根据置换表2,可以计算输出所有子密钥
如下:
K1 = 000110 110000 001011 101111 111111 000111 000001 110010
K2 = 011110 011010 111011 011001 110110 111100 100111 100101
K3 = 010101 011111 110010 001010 010000 101100 111110 011001
K4 = 011100 101010 110111 010110 110110 110011 010100 011101
K5 = 011111 001110 110000 000111 111010 110101 001110 101000
K6 = 011000 111010 010100 111110 010100 000111 101100 101111
K7 = 111011 001000 010010 110111 111101 100001 100010 111100
K8 = 111101 111000 101000 111010 110000 010011 101111 111011
K9 = 111000 001101 101111 101011 111011 011110 011110 000001
K10 = 101100 011111 001101 000111 101110 100100 011001 001111
K11 = 001000 010101 111111 010011 110111 101101 001110 000110
K12 = 011101 010111 000111 110101 100101 000110 011111 101001
K13 = 100101 111100 010111 010001 111110 101011 101001 000001
K14 = 010111 110100 001110 110111 111100 101110 011100 111010
K15 = 101111 111001 000110 001101 001111 010011 111100 001010
K16 = 110010 110011 110110 001011 000011 100001 011111 110101
文章浏览阅读2.5w次,点赞2次,收藏4次。今天又是遇见了这个bug记录一下,这个bug主要是是因为自己使用了for循环,然后在获取的时候超过了自己的最好的数值,如下面的代码for (int i1=0;i1<mEquipmentMsgs.size();i1++) { mGunsLists.add(mEquipmentMsgs.get(a).getGuns().get(i1));}这是因为getGuns()返回的Li..._java.lang.indexoutofboundsexception: index: 2, size: 2
文章浏览阅读574次。文章目录大数据生态体系数据存储层HDFSHBase大数据生态体系提起大数据,不得不提由IBM提出的关于大数据的5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性),而对于大数据领域的从业人员的日常工作也与这5V密切相关。大数据技术在过去的几十年中取得非常迅速的发展,尤以Hadoop和Spark最为突出,已构建起庞大的技术生态体系圈首先通过一张图来了解一下目前大数据领域常用的一些技术,当然大数据发展至今所涉及技术远不._大数据 生态圈
文章浏览阅读603次。MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器 .位置:控制面板--管理工具--服务--Distributed Transaction Coordinator依存关系:R
文章浏览阅读155次。火狐浏览器驱动:Geckodriverhttps://github.com/mozilla/geckodriver/releasesChrom的驱动:Chromdriverhttp://chromedriver.storage.googleapis.com/index.html_如何写一个记录的网站
文章浏览阅读9k次,点赞3次,收藏9次。原文地址:SAP税率确定过程和科目确定过程作者:SAP_拖拉机SAP 税率确定过程,以及科目确定过程 和定价过程 很相似 ,单又有些许差异. 先看看税率确定过程的配置.IMG:SPRO-->财务会计(新)-->财务会计全局设置(新)-->销售/购置税-->基本设置-->检查计算程序.1 . 创建税率访问队列,和定价过程中的访问顺序是一样的概念,设置用到的税率条件表.2 . 定义条件类型_sap 定义税条件类型
文章浏览阅读3.5k次。源码:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){ unsigned long long cmd = 0x2211ffeeddccbbaa; unsigned char buf[8] = {0}; unsigned long long tmp ; buf[0]..._c语言8位数组
文章浏览阅读322次。1 linux session 管理yum install tmuxtmux new -s hahatmux list-sessiontmux attach-session -t hahapsql执行:psql 数据库名 < test.sql2Postgres jsonb官方文档:https://www.postgresql.org/docs/9.6/functions-json.html :https://www.postgresql.org/..._jsonb_populate_recordset如何使用索引
文章浏览阅读139次。1 概述spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。2 特性轻量级非入侵性的、所依赖的东西非常少、资源占用非常少、部署简单等,容易使用。控制反转根据配置文件创建及组装对象之间的依赖关系。就是由容器控制程序之间的关系,而非传统实现中,...
文章浏览阅读3k次。1. 需要实现codemirror编辑器功能,主要是json数据的编辑codemirror基本的编辑代码功能插入变量功能codemirror验证功能:主要验证代码格式,语法等,给出相应的提示代码格式化(由于主要是json数据,所以暂时没引用其他组件,如果需要建议引用js-beautify,因为查资料发现codemirror在新的版本中已经去掉autoFormatRange方法)大致如下图:2. 写..._codemirror验证输入文本格式是否正确
文章浏览阅读2.8k次。在这里/** * 对Map<String,List<Object>>结构的数据源将其里面的数据导入到excel表单 * * @param data 导出数据集合 * @param sheetName 工作表的名称 * @return 结果 */ public AjaxResult exportExcel(M..._easyexcel不规则数据如何处理
文章浏览阅读4.4k次。最近 工作关系 要处理程序的防盗链,本以为是个很简单的问题 不就是检查一下 HTTP_REFERER有没有HTTP_HOST的值,false就是盗链了,写完了 浏览器里直接输入链接测试ok。本以为到这里就game over了,但用迅雷却发现可以照常下载,显然迅雷修改了HTTP_REFERER,这么大的公司居然做这么龌龊的写程序(与偷窃没有区别)!!以前就知道迅雷和下载站们应为盗链弄的沸沸扬扬 都说
文章浏览阅读196次。#include<iostream>#include<algorithm>using namespace std;int main(){ int n; cin>>n; printf("%0x\n",n); return 0;}_ptabcd解密