Logistic map混沌掩盖信号

news2024/11/24 14:40:00
  • 开学接触了一些有关混沌知识的学习,阅读量一些混沌通信的论文,对于混沌掩盖信号以确保加密通信有一定的兴趣。混沌的产生我选用的是logistic
    map映射产生混沌,主要就是一个递推公式:

在这里插入图片描述
对于这样一个式子,可以看出,每一个混沌的不同只与两个值有关,分别是a和x0.所以只要设置好这两组静态参数,就可以实现混沌同步,这样混沌掩盖的信号就能够通过同步复原出来。对于整体思路就是,设计一个程序,能够读取文本中的信息。通过信息的ascii码与产生的混沌直接相加来实现信息的加密。解密部分也是一样的混沌产生函数,这样同样的参数可以实现混沌同步。将加密的信息通过减法直接减去混沌,再通过ascii码的转化便可以实现信息的恢复。
接受部分如下:

import matplotlib.pyplot as plt
import numpy as np
import os
def chaos_generation(initial_chaos,a,length):
    chaos_value=float(initial_chaos)
    for item in range(length):
        anss.append(chaos_value)
        chaos_value=round(float(a)*chaos_value*(1-chaos_value),6)
        pass
    pass
data=open('text.txt')
strr=data.read()
a=input("请输入参数一的值:")
inital_chaos=input("请输入参数二的值:")
length=len(strr)
anss=[]
mapp=[]
chaos_generation(inital_chaos,a,length)
plt.plot(np.arange(length),anss)
plt.title('Logistic map')
plt.xlabel('n_value')
plt.ylabel('chaos_value')
plt.show()
for item in strr:
    mapp.append(ord(item))
    pass
key=[]
jtem=0
for inem in anss:
    value=inem+mapp[jtem]
    jtem+=1
    key.append(value)
    pass
final_value=','.join(str(i) for i in key)
value_print=open('123.txt',mode='w+')
value_print.write(final_value)

其中text文本中运用了一段网上的英文美文:
请添加图片描述
程序中的参数设置为a=4,x0=0.3。
请添加图片描述
产生的混沌如下图,混沌的长度即为文本文件中的文本的长度。
请添加图片描述
这样就实现了混沌对于文本的掩盖,掩盖后的数据存放于文本123.text中:
请添加图片描述
再通过输出部分处理,输出部分还是用logistic映射产生混沌,其中保证参数为a=4,x0=0.3来实现混沌同步,产生一段相同的混沌,之后利用减法,直接减去混沌实现滤除。代码如下;

import math
import matplotlib.pyplot as plt
import numpy as np
def chaos_generation(initial_chaos,a,length):
    chaos_value=float(initial_chaos)
    for item in range(length):
        anss.append(chaos_value)
        chaos_value=round(float(a)*chaos_value*(1-chaos_value),6)
        pass
    pass
data=open('123.txt')
str=data.read()
a=input("请输入参数一的值:")
inital_chaos=input("请输入参数二的值:")
flag=str.split(',')
receive=[]
for item in flag:
    receive.append(float(item))
    pass
anss=[]
length=len(receive)
chaos_generation(inital_chaos,a,length)
jtem=0
mapp=[]
for item in receive:
    numb=item-anss[jtem]
    #print("item-jtem=numb",item,"-",anss[jtem],"=",numb)
    jtem+=1
    mapp.append(math.ceil(numb))
    pass
#print(mapp)
for item in mapp:
    print(chr(item),end='')

在这里插入图片描述
最终可以实现混沌的滤除。
在输出部分时,浮点数的精度计算没有得到很好的计算,问题如下:
请添加图片描述
在第四行,空格的ascii码计算中,出现了错误,混沌与接受信号已经全部设置成为了六位小数,接受部分也是如此,对于这种情况很是不解,不知道问题出现在哪里,由于ascii码的计算错误,在强制转换成整数类型后会出现下图的错误,空格部分的输出有误:
请添加图片描述
最后采用了向上保留整数的方法才正常的输出,真个计算中只有空格出现了这种错误,而且只是部分空格,希望有大佬教一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1050816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

300元开放式耳机哪款好、百元开放式耳机推荐

我是一个非常喜欢戴着耳机出门的社恐宅男,但看了一些文章后发现长期戴耳机对耳朵也是有危害的,比如长时间佩戴耳机容易导致耳朵潮湿,从而增加细菌滋生的风险,其次,长时间高音量使用耳机可能会造成听力损伤以及长期佩戴…

功率放大器有哪些要求和标准参数

功率放大器是一种常见的电子设备,用于将输入信号增强到更高的功率级别。为了满足不同应用需求,功率放大器需要符合一些特定的要求和标准参数。 在现代电子设备中,功率放大器广泛应用于各种领域,如通信、音频放大、射频放大等。它们…

Vue之transition组件

Vue提供了transition组件,使用户可以更便捷地添加过渡动画效果。 transition组件 transition组件也是一个抽象组件,并不会渲染出真实dom。Vue会在其第一个真实子元素上添加过渡效果。 props render 这里将render分为两部分,第一部分界定真…

Golang的性能优化

欢迎,学习者们,来到Golang性能优化的令人兴奋的世界!作为开发者,我们都努力创建高效、闪电般快速的应用程序,以提供出色的用户体验。在本文中,我们将探讨优化Golang应用程序性能的基本技巧。所以&#xff0…

XPD738协议系列-USB Type-C PD 和 Type-A 双口控制器

产品描述: XPD738 是一款集成 USB Type-C、USB Power Delivery(PD)2.0/3.0 以及 PPS、QC3.0/QC3.0/QC2.0 快充协议、华为 FCP/SCP/HVSCP 快充协议、三星 AFC 快充协议、BC1.2 DCP 以及苹果设备 2.4A 充电规范的多功能 USB Type-C 和 Type-A …

通达信筹码获利比例选股指标公式,寻找二次探底

获利比例的意思是当前价格的获利盘比例,从筹码分布理论的角度来说,获利比例越低,说明越少的人处于获利状态;获利比例越高,说明越多的人处于获利状态。当然这只是理论分析,获利比例是通过历史数据按照一定的…

蛋糕烘焙外卖配送小程序商城的效果是什么

随着人们消费水平提升,蛋糕烘焙成为餐饮行业重要的细分赛道之一,市场中大小品牌众多,同时又相对聚集,由于城市中消费者众多,每个商家都有一定生意,但想要破圈进一步增长却很困难,加之线上电商冲…

华为云云耀云服务器L实例评测 | 实例评测使用之软件性能评测:华为云云耀云服务器下的 Redis 性能评测

华为云云耀云服务器L实例评测 | 实例评测使用之软件性能评测:华为云云耀云服务器下的 Redis 性能评测 介绍华为云云耀云服务器 华为云云耀云服务器 (目前已经全新升级为 华为云云耀云服务器L实例) 华为云云耀云服务器是什么华为云…

SW免安装的toolbox只读问题

把SOLIDWORKSDATA 整体复制到另外的目录,然后这里设置目录位置。不然原始位置有只读属性

ngrok内网穿透以及原理

〇、前言 如果要想在本地部署一个服务,且要向不在本局域网的用户展示我们的服务,此时就要用内网穿透工具,把我们的服务变成公网服务。ngrok就是一个很好的工具,操作简单,服务稳定。 一、使用 ngrok 1. 下载ngrok 下…

nextTick源码解读

📝个人主页:爱吃炫迈 💌系列专栏:Vue 🧑‍💻座右铭:道阻且长,行则将至💗 文章目录 nextTick原理nextTicktimerFuncflushCallbacks 异步更新流程updatequeueWatcherflushS…

uniapp小程序 - 隐私协议保护指引接入教程

文章目录 前提:__usePrivacyCheck__: true步骤一、封装弹窗组件步骤二、单个页面引用一、被动监听二、主动查询 前言:官方发布公告,自2023年9月15日起,对于涉及处理用户个人信息的小程序开发者,仅当开发者主动向平台同…

什么是GraphQL?它与传统的REST API有什么不同?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是GraphQL?⭐ 与传统的REST API 的不同⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣…

基于51单片机数字电压表仿真设计_数码管显示(程序+仿真+原理图+PCB+报告+讲解视频)

基于51单片机数字电压表仿真设计_数码管显示(程序仿真原理图PCB报告讲解视频) 原理图:Altium Designer 仿真版本:proteus 7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0…

机器学习之神经网络的层次

文章目录 神经网络组成神经网络根据结构分类神经网络的信号传递 神经网络组成 大脑是一个巨大的神经元网络,所以神经网络是一个节点网络。根据节点的连接方式,可以创建多种神经网络。最常用的神经网络类型之一采用了如图所示的节点分层结构 正方形节点组…

【强化学习】04 ——动态规划算法

文章目录 1. 简介2. 策略迭代算法2.1 策略评估Example12.2 策略提升2.3 策略迭代算法Example2:Jacks Car Rental 3. 价值迭代算法Example1 4. 价值迭代VS.策略迭代总结DP扩展代码悬崖漫步(Cliff Walking)冰湖(Frozen Lake) 参考 1…

MySQL知识笔记——中级进阶之索引(实施工程师和DBA工作笔记)

在上一章中我们已经讲完了学习和实施工作中需要掌握的MySQL基础知识,但是在实际应用中这些基础只能让我们简单了解流程,以后的工作不只是简单的安装部署系统,我们还要将客户的数据导入数据库中才能完善系统的完整性和可使用性,接下…

excel 指定行数据求和

excel 指定行数据求和 1、 SUMPRODUCT SUMPRODUCT函数是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。语法形式为 SUMPRODUCT(array1, [array2], [array3], …)。 2、功能实现 SUMPRODUCT(($B$4:$B$158"成本")*(D4:D158))

安防监控/视频汇聚平台EasyCVR云端录像不展示是什么原因?该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…

【ICCV 2023 Oral】High-Quality Entity Segmentation分享

为什么会看这篇文章呢?因为要搞所谓分割大模型,为什么要搞分割大模型,因为最终我们要搞得是,业内领先的全自动标注系统。(标完都不需要人工再修正!!!) OK,仰…