专栏首页云安全-商业新知基于多混沌系统的医学图像加密算法【数据加密】

基于多混沌系统的医学图像加密算法【数据加密】

随着计算机、通信技术和区域医疗协同服务的不断发展,信息的安全与保密显得越来越重要。医学图像作为诊断依据的重要部分需要在公网上传播,为了防止病人敏感信息的非法泄漏,研究医学图像加密有着重要的意义。

混沌是指一种由非线性确定系统产生的类随机行为,它具有以下特征:

随机性: 混沌系统产生的混沌序列表现出类随机行为,具有长期不可预测性。 确定性: 只要初始参数确定,产生的混沌序列即确定。 遍历性: 混沌系统将以一种不重复的方式遍历相空间中的所有取值。

利用混沌系统的这些特点可以设计出密钥空间大、加密流随机性高的加密算法,混沌加密近年在计算机领域成为了研究热点,大量混沌图像加密算法被提出来。

图像加密与普通文件加密的不同之处在于,图像相邻像素之间通常存在着比较大的相关性,对图像加密不仅要使图像变得不可识别,还要尽可能地减小相邻像素之间的相关性。目前国内外提出的各种混沌图像加密算法,有的通过Logistic函数生成混沌序列进行加密,有的通过DCT变换、Arnold变换进行加密,但总结起来,主要加密原理有以下两种形式:

1)利用混沌系统产生的伪随机序列与明文进行异或操作,直接改变明文的值,通过这种方式进行加密可使图像明文转变为一系列无规则“噪声”,能有效防止统计攻击;

2)利用伪随机序列对明文进行重新排序,通过这种方式加密能有效地对图像进行置乱,使加密后的密文图像具有一定的鲁棒性,但由于置乱过程没有改变像素本身的值,因此加密后图像的颜色直方图并没有改变。结合医学图像数据量大、同色像素连续性高的特点,采用异或的方式提出一种新的混沌图像加密算法。

图像加密算法创新 医学图像的特点是两高一大(高分辨率、高精度、大数据量),这就要求算法具备较高的运行效率。对于混沌系统,通常高维混沌系统产生的加密序列有较高的安全性,但运行速度较慢。低维混沌系统产生加密序列速度快,却容易受到非线性预测、相重构等方式的攻击。综合考虑算法运行效率与安全性,本文的算法将采用多个一维混沌系统混合的方式产生加密序列,并通过加密序列与图像进行异或操作进行加/解密。

医学图像通常有着大片连续的区域存在颜色相同的像素··点,算法若简单地采用加密序列与明文异或的方式生成密文,密码攻击者容易根据这片连续的区域分析对应密钥序列的情况。所以加密算法应该以某种方式改变这种由于明文而导致密文单一变化的情况,本文算法通过在加密过程中加入双重反馈解决这一问题。

图像加密速度 医学图像成像精度通常较高,所生成的图像大小相对较大,所以算法的加密速度也是一个关键因素。加密时间与图像大小基本成线性关系,对大小为3M的医学图像可在1s内完成加密运算,符合实际应用需求。

图像加密算法安全性分析 混沌系统在理论上是一个无限周期的伪随机数发生器,但在计算机上实现时,由于计算机只能进行有限精度的计算,系统将不可避免地退化为一个周期函数,在加密过程若因周期问题产生了重复的密钥流,将大大降低算法的安全性。在本算法中,密钥流是由多个混沌系统共同产生的,每个混沌系统在加密时都会由一个流长度生成点来决定下一个混沌系统产生的密钥长度。这一个随机生成的加密流长度取值较小,混沌系统间能紧密地相互作用,攻击者难以对其进行单一的分析,而且即使算法中的某一混沌系统在加密过程已经到达周期长度,只要该系统在进行系统切换时的流长度决定点没有停留在之前周期的同一个点,整体的密钥流依然可以看成是非周期的。系统的加密周期由所选的混沌系统共同决定,足以应用于大数据量的医学图像加密中。可见算法有着较高的运行效率,能满足在医学中的应用。

更多数据加密内容详见商业新知

原文链接:https://www.shangyexinzhi.com/Article/details/id-2632/

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 云数据安全与加密技术【数据库加密】

    云计算、大数据等信息技术正在深刻改变着人们的思维、生产、生活和学习方式,并延深进入人们的日常生活。

    新知号
  • 大数据审计环境下的审计风险与对策

    开展大数据审计是党中央、国务院对审计工作提出的新要求,是实现审计全覆盖的重要方法和路径。由于海量数据采集整理的有效性、被审计单位数据质量等因素影响,会产生一定的...

    新知号
  • 大数据Hadoop的数据库审计【数据库审计】

    ——大数据渗透到各个行业领域,逐渐成为一种生产要素发挥着重要作用,成为未来竞争的制高点。

    新知号
  • 集中式云数据加密服务填补安全漏洞

    大多数云服务提供商提供数据加密服务,但是对一些用户来说,这种服务还不足以全面保护云端的企业数据。 针对静态数据和传输中数据采取的数据加密应该是云计算界的一种标准...

    静一
  • .Net中DES加密的细节问题

    一般的做法和MSDN都差不多,都是这种方式   加密:byte[]--write-->ms   解密:ms--read-->byte[]   即创建CryptS...

    用户1075292
  • Django之Cookie

    在浏览器端(客户端)保存的键值对,特性:每次http请求都会携带.           举个例子:{"name":身份证号}

    Wyc
  • 10分钟掌握Python-机器学习小项目

    而且,Python 还有很多模块和程序库供我们选择,从而针对一个任务能有很多个解决方案。怎么样,听起来还是很厉害的吧?

    一墨编程学习
  • 使用Python完成你的第一个学习项目

    你是否想使用python进行机器学习但却难以入门? 在这篇教程中,你将用Python完成你的第一个机器学习项目。 在以下的教程中,你将学到: 下载并安装P...

    AiTechYun
  • 《PMBOK导读》第五章 项目范围管理

    yeedomliu
  • Android获取应用程序的大小 博客分类: Android AndroidOSF#Security

           今天碰到个问题,想获取某个已安装的包的大小,没找到合适的方法。搜索了一下,发现PackageManager里面有个getPackageSizeIn...

    chroya

扫码关注云+社区

领取腾讯云代金券