logo NodeSeekbeta

[项目分享] ParticlePair:把 128 位配对密钥藏进动态粒子星系,手机摄像头直接解码

大家好,最近做了一个比较特别的浏览器实验项目:ParticlePair。

它尝试把 128 位配对秘密编码进一片动态粒子星系中。

人眼看到的是由蓝色、紫罗兰色和洋红色粒子组成的三臂旋转星系;手机摄像头看到的则是隐藏在连续动画中的光学信号,并能从真实拍摄画面中恢复原始数据。

ParticlePair

怎么体验

推荐使用两台设备:

  1. 在 Windows 或 macOS 电脑上打开在线体验页面。
  2. 在发送端生成一个新的配对秘密,保持粒子动画完整显示。
  3. 用 iPhone 或 Android 手机打开同一个网站。
  4. 进入摄像头扫描模式,并允许网页访问摄像头。
  5. 将电脑屏幕上的完整粒子方形区域放进手机扫描框。
  6. 保持距离适中,尽量避免反光和大幅晃动。
  7. 页面会逐步搜索画面的位置、比例和方向。
  8. 完成纠错并通过 CRC-16 校验后,手机会显示恢复出的秘密。

也就是说,它不是读取一张静态截图,而是让手机摄像头观察另一台设备浏览器中的动态画面,通过连续帧之间的变化恢复数据。

移动端调用摄像头一般需要 HTTPS,所以建议直接使用上面的在线体验地址。

背后的原理

屏幕上实际存在一个 18×18 的光学网格。

系统把 128 位秘密封装为 21 字节协议帧,经过 Hamming(12,8) 纠错后得到 252 个光学数据位。一个以绿色分量为主的青色载波,每隔 300 毫秒在两个相反相位之间切换。

接收端比较手机摄像头连续画面的绿色通道,搜索不同的位置、缩放比例、旋转和镜像方向,并跨多个画面累积证据。

完整流程大致是:

128 位配对秘密
→ 21 字节协议帧
→ Hamming(12,8)
→ 252 个光学数据位
→ 18×18 光学网格
→ 相反相位调制
→ 摄像头绿色通道帧差分
→ 位置、比例和方向恢复
→ Hamming 纠错
→ CRC-16 校验
→ 恢复配对秘密

只有数据完成纠错并通过 CRC-16 校验后,接收端才会释放恢复出的秘密,避免把摄像头噪声或错误识别结果当成有效数据。

为什么做这个

二维码很成熟,但它通常是一块明确、静态、以机器识别为主要目标的图形。

我想尝试另一种表达:机器可读的信息能否同时成为动态视觉的一部分?

因此,ParticlePair 没有直接显示传统二维码,而是把光学数据通道融合进旋转、呼吸、聚合和飘散的粒子星系中。希望它首先看起来像一件动态视觉作品,同时又确实可以被另一台设备的摄像头解码。

整个项目都运行在浏览器中,使用的主要技术包括:

  • Canvas 2D
  • Web Crypto
  • getUserMedia()
  • 摄像头帧差分
  • 多尺度和位置搜索
  • 旋转及镜像恢复
  • Hamming 前向纠错
  • CRC-16 完整性校验

不需要安装原生应用,也不依赖数据库或服务端图像识别。界面目前支持英文、西班牙文和中文。

可以用在哪里

目前能想到的一些方向:

  • 手机与电脑、平板或电视之间的临时配对
  • 用手机确认网页端登录
  • 大屏设备与个人设备之间的授权
  • 局域网设备首次配置
  • 跨屏互动和现场活动
  • 数字艺术或展览中的隐藏机器信息
  • 屏幕到摄像头通信研究
  • 空气隔离环境中的低带宽数据传递实验

当前定位和局限

这个项目目前还是实验性质,重点是验证浏览器中的动态光学编码、真实摄像头恢复以及跨设备可用性。

它不是一种新的加密算法,也没有经过生产级安全审计。如果用于真正的身份认证或设备配对,还需要在应用层加入:

  • 有效期和会话绑定
  • 防重放机制
  • 秘密的一次性消费
  • 设备身份认证
  • 经过认证的密钥交换
  • 安全密钥存储
  • 独立安全审计

目前最希望收集的是不同设备上的扫描结果,尤其是:

  • 不同型号的 iPhone 和 Android
  • Windows 与 macOS 不同屏幕
  • 高刷新率、缩放和不同亮度设置
  • 手机与屏幕之间的距离和角度
  • 弱光、反光以及复杂背景
  • 误码率和识别速度

如果遇到一直停留在“正在搜索位置、比例和方向”,或者粒子信号百分比来回跳动,也欢迎回复设备型号、浏览器、发送端屏幕和大概距离,我会继续优化。

欢迎大家试玩,也欢迎对光学调制、摄像头识别、纠错方式和实际使用场景提出建议。

  • 苹果设备配对也有类似的,挺有意思

  • 高大上 xhj008

  • 苹果的watch配对好像也是粒子

  • 使用摄像头进行识别,你得考虑不同屏幕分辨率比例,dpi缩放,还有对色彩色准上的辨别,

    不同显示器色差大的离谱的,拍摄角度不同也会有形变的;

    太多要考虑的东西了,之前看到一个项目上利用动态二维码实时传输数据,最高可以连续传输30kb,

    你看研究研究对你这个项目是否有帮助

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72267位seeker

🎉欢迎新用户🎉