项目回顾

DpLib

优化了差分隐私算法的计算方式

  • 问卷如何保护个人隐私
  • 优化了计算方式,使得之前的两次计算变成一次计算
  • 使用预生成随机数算法:预生成几组随机数存储,在计算时随机选择一组随机数,加快速度
  • 大计算量使用c语言编写
  • 开发了用户收集数据测试APP,配合同学的服务端测试数据传输
  • 制作了确保隐私传输协议,即厂商开发收集数据的APP时,其中的收集数据模块(用于机器学习等统计的)需要使用差分隐私方法,然后经过第三方机构认证并签名,第三方机构需要保存签名,用户拿到APP时可以验证签名,以确定该APP是否合法收集数据
  • 使用了国密SM系列算法

信息隐藏

随机数生成器与验证

生成一些列随机数,使用蒙特卡罗检测法,统计他们的分布。

通常随机数生成器产生均匀分布的随机数,经过某个分布的反函数处理后,就会变成对应的分布。

SSDM

如果要只是要进行水印检测,则$s_i=x_i+aw_i$

$s_i=x_i+baw_i$

其中a是嵌入强度

检测水印:线性检测器

水印嵌入步骤

  1. 分块
  2. 进行DCT变换,ZIGZAG排列
  3. 选取要进行嵌入的DCT系数(几个)
  4. 嵌入水印
  5. DCT反变换
  6. 检测水印

    量化水印

$s=q_b(x)=q_{\Delta}\lfloor x-d[b]\rfloor +d[b]$

其中$\Delta$为量化步长,$d[b]$是抖动,通常取$d[0]=-0.25\Delta,d[1]=0.25\Delta$

水印检测就是判断当前数值与哪一个量化点近

STDM

基于扩展变换的量化技术

$\mathbf{x}在\mathbf{w}$上的投影为$\bar x=\frac{\sum\limits_{i=1}^{N}x_iw_i}{N}$

嵌入 $s_i=x_i+\lfloor q_b(\bar x) - \bar x\rfloor$

和扩频技术是一样的

其中$q_b(x)$就是量化函数

解码 $if |q_0(\bar Y)-\bar Y|<|q_1(\bar Y)-\bar Y|,b’=0,otherwise b’=1$,其中$\bar Y$是受攻击之后的嵌入水印的图片

hud

基于高德API开发了一个Android APP

  • 修改默认布局,使显示支持hud
  • 配合交通同学的设备,根据设备传来的数据来进行车路协同预警。比如红灯预警
  • 自己开发了速度计View组件,便于hud显示