文章目录

  • 图像鲁棒可逆水印算法
    • 1.摘要
    • 2.Paillier加密系统
    • 2.cmake
    • 3.VTK
    • 4.NTL数论库
    • 5.图像加密评判指标
      • 1.PSNR——峰值信噪比
  • 总结

图像鲁棒可逆水印算法

来源:项世军,杨乐.基于同态加密系统的图像鲁棒可逆水印算法.软件学报,2018,29(4):957-972.[http://www.jos.org.cn/1000-9825/5406.htm]


提示:以下是本篇文章正文内容,下面案例可供参考

1.摘要

可逆水印算法分为以下五步:

1. 对原始图像进行8*8分块,加密得原始图像的密文图像
2. 计算各密文分块统计量,平方图平移来嵌入水印信息
3. 在接收方可从密文图像或明图像直方图中提取水印,并反平移恢复密文图像或原始图像
4. 含水印的密文图像解密后,可从其统计量直方图中提取水印信息和恢复原始图像
5. 解密后含水印图像被攻击后,仍可以正确提取水印

该算法实现了直接在密文图像中嵌入水印,并分别在加密域或明文域提取水印,恢复原始密文或明文图像。

2.Paillier加密系统

同态性:加密后可直接对密文进行相应运算,结果与明文一致
概率性:对于相同明文,不同加密过程可得到不同密文

  1. 密钥生成

    p,q:随机选择的两个较大质数
    lambda:p-1和q-1的最小公倍数(私钥)
    gcd:(计算两数的)最大公约数
    lcm:最小公倍数
    (N,g)公钥
    

  2. 加密过程
    输入明文m,采用公钥(N,g)加密后得密文c。

  3. 解密过程
    利用私钥对密文c进行解密,得到明文m

  4. 半同态加密
    半同态加法加密:将两密文相乘取模后的密文进行解密,得到与密文对应的两明文之和

2.cmake

cmake:cross platform make
定义:跨平台的高级编译配置工具,可以用简单的语句来描述所有平台的编译过程

makefile:makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作
作用:有效地描述这些文件之间的依赖关系以及处理命令,当个别文件改动后仅执行必要的处理,而不必重复整个编译过程,可以大大提高软件开发的效率。
借助cmake进行VTK的环境配置
静态编译:在编译时把所有模块都编译进可执行文件里,类似于带着工具包到处跑,不需要周围环境提供相应工具,不受环境影响。
动态编译:将应用程序需要的模块都编译成动态链接库DLL,运行时用到哪个模块就调用哪个DLL,会受到环境影响。

3.VTK

环境配置:借助VTK
静态编译:在编译时把所有模块都编译进可执行文件里,类似于带着工具包到处跑,不需要周围环境提供相应工具,不受环境影响.
动态编译:将应用程序需要的模块都编译成动态链接库DLL,运行时用到哪个模块就调用哪个DLL,会受到环境影响。

4.NTL数论库

定义:NTL是一种高性能的可移植C ++库,为任意长度的整数提供数据结构和算法。用于整数和有限域上的向量,矩阵和多项式以及任意精度的浮点运算。
作用:NTL为代表数学对象的各种类提供了一个干净一致的接口。它为轻松快速地实现新的数论算法提供了良好的环境,而又不影响性能。
原文链接:http://t.csdn.cn/mz7c9
NTL为以下方面提供了最新算法的高质量实现:

5.图像加密评判指标

1.PSNR——峰值信噪比

它是原图像与被处理图像之间的均方误差相对于(2n-1)2的对数值(信号最大值的平方,n是每个采样值的比特数),它的单位是dB。PSNR数值越高,则两图像相似度更高。
MSE:原图像与密文图像之间均方误差。


总结

【同态加密算法的学习日记】相关推荐

  1. 【联邦学习邂逅密码学系列】基于同态加密算法python代码实现

    这是我的学习笔记,若有不足和错误之处,欢迎交流和指正,谢谢! 联系方式:lrcgnn@163.com 前言 联邦学习是一种参与方之间联合隐私训练的新范式,受到学术界和工业界的关注.然而一些研究表明,联 ...

  2. BabaSSL:支持半同态加密算法 EC-ElGamal

    -- 数据不出域.可用不可见 01 背 景 随着大数据与人工智能的快速发展,个人隐私数据泄露和滥用时有发生,隐私安全问题也越来越被重视. 国家于 2020 年施行密码法.2021 年施行个人信息保护法 ...

  3. 经典同态加密算法Paillier解读 - 原理、实现和应用

    摘要 随着云计算和人工智能的兴起,如何安全有效地利用数据,对持有大量数字资产的企业来说至关重要.同态加密,是解决云计算和分布式机器学习中数据安全问题的关键技术,也是隐私计算中,横跨多方安全计算,联邦学 ...

  4. 密码学中的同态加密算法,保证数据的安全,你了解吗?

    密码学中的同态加密算法,保证数据的安全,你了解吗? 目录 密码学中的同态加密算法,保证数据的安全,你了解吗? 1:什么是同态加密? 2:同态加密算法原理 3:标准化进展 4: 主流同态加密算法原理 4 ...

  5. 隐私计算:半同态加密算法实践

    对于零基础的隐私计算技术爱好者来说,同态加密(Homomorphic Encryption)算法有着最为神奇的特性:可在密文上进行计算且计算结果解密后所得的结果与明文计算一致.为了帮助大家更好地了解同 ...

  6. 开源同态加密库 HEhub 发布|首个由国内隐私计算团队研发的(全)同态加密算法库...

    扫码关注 保护消费者权益 我们在行动 时至今日,数据要素已经成为数字经济时代最重要的生产要素之一,成为众多企业和机构的核心资产,而数据价值的体现依赖于数据的安全流通和利用.隐私计算作为新兴技术为数据的 ...

  7. java的圆周率_java学习日记,圆周率的打印

    前段时间看到听说学习java每天写技术贴会对自己提升很大,我现在学习java也就2个周,算不上技术贴,就写写学习日记吧. 昨天师傅给我出了一道题,说是试试用java打印圆周率. 刚开始我的思路是,如果 ...

  8. GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考

    GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考 标签: cuda存储线程结构网格 2012-12-07 16:30 6298人阅读 评论(4)收藏 举 ...

  9. GPU(CUDA)学习日记(十三)------ CUDA内存简介

    GPU(CUDA)学习日记(十三)------ CUDA内存简介 标签: cuda存储线程结构 2012-12-07 16:53 2902人阅读 评论(0)收藏 举报 分类: GPU(16) CUDA ...

  10. GPU(CUDA)学习日记(九)------ CUDA存储器模型

    GPU(CUDA)学习日记(九)------ CUDA存储器模型 标签: cuda存储bindingcache编程api 2012-09-27 10:53 1677人阅读 评论(1) 收藏 举报 分类 ...

最新文章

  1. C#反射使用时注意BindingFlags的用法(转载)
  2. parquet java_Apache Parquet Java API的文档?
  3. 【剑指offer-Java版】45圆圈中最后剩下的数字
  4. Highcharts-2.3.2 网页曲线绘制工具 一淘网价格曲线
  5. 9. Palindrome Number
  6. JAVA编程语言的基础知识(六)
  7. SAP标准OK Code Values 列表
  8. Luogu P5652 基础博弈练习题 (博弈论、图论)
  9. JDK中这些常用方法也有Bug
  10. cmd长ping记录日志和时间_Gin 框架系列 — 路由中间件:日志记录
  11. 你应该关注的几个网站
  12. Java 反射(初步)
  13. Ansible安装MySQL5.7.24
  14. 用户分析-RFM模型生命周期
  15. Visual Studio Code如何打开多个tab标签
  16. STM8S系列学习第一周目:1.用STVD组建第一个项目创建工程
  17. 中控考勤仪IFace302多线程操作时无法订阅事件
  18. 经济机器是如何运行的(观后感)
  19. 【python】pycharts画关联图
  20. 各大互联网企业Java面试题汇总,看我如何成功拿到百度的offer

热门文章

  1. 均值滤波器、中值滤波器、滤波器的常见应用。
  2. 【台大李宏毅机器学习】机器学习基本概念
  3. python计算moran_空间自相关 (Global Moran's I)
  4. Rocket-chip-Cache
  5. Object C中文件后缀名
  6. 苹果/微软/特斯拉的产品美学——向丑而生?
  7. VBA:一个Word VBA编程的例子
  8. 七月算法机器学习笔记2--机器学习中的数学之矩阵分析与应用
  9. 计算机一级考试试题难不难,计算机一级考试通过率是多少 考试难吗
  10. 强迫症才需要看,新装电脑 Win10 硬盘整数分区