验证循环异或的可行性

news/2024/10/18 8:31:29/

验证循环异或的可行性

加密:

例如,(p1、p2、p3、p4)

每一个都是与前一个异或的结果异或:

新值

(0、p2⊕p1、p3⊕(p2⊕p1)、p4⊕(p3⊕(p2⊕p1))

第一个值是p1与最后一个的值异或

(p4⊕p3⊕p2、p2⊕p1、p3⊕(p2⊕p1)、p4⊕(p3⊕(p2⊕p1))

标记为

(c1,c2,c3,c4)

解密:

(d1,d2,d3,d4)

第一步先计算:

c2⊕c3==(p2⊕p1)⊕ (p3⊕(p2⊕p1))=p3———d3

c3⊕c4==(p3⊕(p2⊕p1))⊕ (p4⊕(p3⊕(p2⊕p1))=p4————-d4

c1⊕d4=c1⊕(c3⊕c4)=(p1 ⊕p4)⊕p4=p1————-d1

c2⊕d1=p2⊕p1⊕p1=p2—————d2

(d1,d2,d3,d4)

代码如下:

clc
clearvars
n=4
p(n)=0;
for i=1:np(i)=randi([0 255], 1, 1);
end
p
c(1)=p(1);
for i=2:nc(i)=bitxor(c(i-1),p(i));
end
c(1)=bitxor(p(1),c(n));
cfor i=3:nd(i)=bitxor(c(i-1),c(i));
end
d(1)=bitxor(c(1),c(n));
d(2)=bitxor(c(2),d(1));
d

输出结果如下:

n =4p =38    65   215    65c =215   103   176   241d =38    65   215    65>>

http://www.ppmy.cn/news/193225.html

相关文章

PHP程序员和java相比,容易找到心仪的工作吗?我来谈谈自己的看法

今天想和大家分享一个被讨论得比较多的话题,就是科班出身的人到底好不好找PHP程序员的工作。 因为我发现有很多老哥,之前可能并不是从事 IT 行业的,然后想学编程转行来做这一行,或者是有些大四即将面临毕业的老哥,可能…

数据结构---双链表

之前我们已经了解并实现了单链表,我们发现单链表实现头插头删还行,但是尾插尾删什么的需要遍历链表,使得时间复杂度增加,效率不是那么好,那么有没有改进的办法呢? 今天,我们就来了解并实现一下…

Docker 安装 Redis 容器 (完整详细版)

Docker 安装 (完整详细版) Docker 日常命令大全(完整详细版) 1、获取Redis镜像 Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。 Docker 镜像仓库 ​ 2、下载Redis镜像 命令描述docker pull redis下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis…

【数据结构】希尔排序

常见的排序算法有以上八种,所以预估会分成几期来讲,感兴趣的朋友们不妨点个收藏专栏。 ღ( ・ᴗ・ )比心 OJ链接 希尔排序 在 插入排序 已经提到当数组接近有序的时候,时间复杂度趋于O(N)。 所以希尔排序是基于直接插…

外包干了5年,女朋友嫌弃我,跑了。。。

先说一下自己的情况。大专生,17年通过校招进入湖南某软件公司,干了接近5年的测试,今年年上旬,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了5年,…

【原】 ASUS笔记本没声音的解决

问题 : ASUS 型号Z91E 系统安装后没声音解决 : 先安装名叫 UAA的驱动 , 然后提示 发现新硬件 "SDA Standard Compliant SD Host Controller" , 再安装声卡驱动,就有声音了 转载于:https://www.cnblogs.com/temptation/archive/2007/10/21/931911.html

windows linux 共存,Windows与Linux共存

8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 同一部计算机安装Windows和Linux双系统实现双启动,一般是件费力不讨好的事。当然也可以通过虚拟机安装Linux,听说支持虚拟化的CPU&#x…

C++课程设计项目——新生信息统计系统

名人说:一花独放不是春,百花齐放花满园。——《增广贤文》 作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、整体框架1、整体模块2、类的实现①学生类②函数类③菜单类二、主要功能函数分析1、添加新生信息2、删除新生的信息3、按学号查询4、按学号修改新…