SparkSome Venture

> 公开文档 · OPEN_SOURCE

BIG_BANG_ENTROPY

栏目 关于项目

快速访问 下载 统计 报告
主题
语言
活跃 OPEN SOURCE 学术

> 项目使命

开源的
高熵系统
扎根于物理世界

Big Bang Entropy 是一个开源熵生成系统,其中随机材料来自真实的无线电链路:微波天空噪声、宇宙辐射,以及 SDR 测量系统中无法避免的热噪声。

该项目由 SparkSome Venture 创建,并免费向个人、开发者和机构开放,适合那些需要高质量、物理基础明确的熵源,但不想自行部署硬件基础设施的场景。

> 熵源

物理 RF 噪声与微波
CMB、热噪声、ADC、本地环境

> 硬件

SDR 节点 · 多种接收器
朝向天空的天线,接收宽带无线电噪声

> 访问

公开 API + Open Source
MIT 许可证 · GitHub · 无需注册

> 随机性从何而来

节点内部随机材料如何形成

每个节点都像一条独立测量链:天线、SDR 接收机、ADC,以及后续数字处理。真正重要的不是无线电传输中的有效载荷,而是接收频谱中能够测量物理噪声和背景不稳定性的那一部分。

因此,样本中包含所选频段和信道宽度内多种现象的混合:银河辐射、宇宙微波背景、大气噪声、模拟元件热噪声、接收前端限制、ADC 量化,以及本地天线和安装环境条件。

随机材料并非来自某个理想单一源,而是来自不同地点独立节点测量到的许多微小物理过程的叠加。之后这些材料才会被过滤、采样并进行密码学混合。

> 天线与项目名称

天线真正测量的是什么,以及项目名称从何而来

指向天空的天线并不会接收到某一个“纯净”的宇宙信号。它记录的是无线电和微波背景中的多种现象总和,包括银河辐射、宇宙微波背景的贡献,以及测量链本身引入的噪声。

CMB 是早期宇宙留下的遗迹辐射:当物质冷却到足以让光子自由穿行于宇宙空间时释放出来的辐射。从这个意义上说,它是大爆炸后时代最直接的物理痕迹之一,因此它对项目身份有着重要意义。

Big Bang Entropy 这个名字来自这样一个事实:无线电和微波背景中也包含可能在宇宙早期阶段就开始漫长旅程的光子。这并不意味着每个字节都可以被称为“来自大爆炸的纯净信号”;接收机始终看到的是宇宙学、银河系、环境和仪器噪声的混合。但熵源的核心理念,确实扎根于与宇宙历史相连的真实物理背景。

> 系统架构

从无线电样本到公开熵字节

01

无线电路径

从天线接收信号

接收机从朝向天空的天线收集样本。在这一阶段,数据既包括来自环境和宇宙的内容,也包括硬件自身的自然噪声。

02

信号处理

选择最随机的比特

系统从收集到的样本中选出最能承载物理噪声不可预测性的部分,并去除部分偏差与相关性,以产生更公平的随机比特。

03

密码学混合

合并多个节点的数据

中央生成器会从多个来源收集数据包,并使用基于 SHA-512 的机制将其混合。这使公开输出更安全,同时隐藏系统内部状态。

04

交付层

可消耗熵池与公开 API

最终输出进入一个可消耗的熵池。每个被下载的字节在发出后就会消失,因此公开接口不会把相同的数据发放两次。

> START_IN_30_SECONDS

一分钟内完成第一次测试

如果你只是想评估这个服务,不需要安装任何东西。先检查熵池状态,再下载原始熵,最后试用一个现成的接口。

STEP_01

检查服务状态

先从 healthz 开始,查看熵池大小、活跃源以及公共端点的基本运行参数。

curl https://entropy.sparksome.pl/healthz

STEP_02

下载第一个数据块

如果熵池已经准备好,你可以下载单个二进制数据块或更大的流,并在本地作为输入材料使用。

curl https://entropy.sparksome.pl/raw --output entropy.bin

STEP_03

试用现成 API

你可以立即测试基于同一熵池的实用接口,例如密码生成器。

curl "https://entropy.sparksome.pl/api/password?length=24&count=3"

> 使用方式

如何使用该服务

Big Bang Entropy 通过 HTTP 和 TCP 提供原始熵,同时还提供若干诊断端点。下面是从终端使用该服务的最简单方式。

HTTP_RAW

通过 HTTP 获取熵

/raw 端点返回单个二进制块,/raw/stream 按请求的字节数流式输出,/download/entropy 会把响应作为可下载文件返回。

curl https://entropy.sparksome.pl/raw --output entropy.bin

TCP_RAW

通过 TCP 获取熵

1420 端口会返回一个原始字节块,然后关闭连接。对于不需要 HTTP 层的客户端来说,这是最简单的选择。

nc entropy.sparksome.pl 1420 > entropy.bin

SERVICE_STATUS

服务与来源状态

healthz、sources 和 waterfalls 端点允许你查看熵池大小、活动 SDR 节点以及可用的 waterfall 帧,而不会消耗熵本身。

curl https://entropy.sparksome.pl/healthz
curl https://entropy.sparksome.pl/sources
curl https://entropy.sparksome.pl/waterfalls

立即可用

示例命令

下面的示例展示了通过公开 HTTPS 地址和 1420 端口上的公开 TCP 端点进行典型使用的方式。

curl "https://entropy.sparksome.pl/raw/stream?bytes=1048576" --output 1mb.bin
curl -OJ "https://entropy.sparksome.pl/download/entropy?bytes=65536"
nc entropy.sparksome.pl 1420 | hexdump -C | head

限制与行为

用户限制与服务行为

HTTP 流量由 Nginx 限速。诊断端点和生成器使用通用限制,而提供原始熵的端点使用更严格的请求预算。

服务还会限制并发连接数、请求预算以及默认返回分块的大小。当熵池过小时,/raw 端点和部分生成器可能返回 503 Warming up...,而流式端点会返回当前可提供的那部分数据。

内置生成器同样会限制参数:密码最长为 1024 个字符,单次调用最多返回 1000 个结果。

HTTP general: 10 req/s, burst 10
HTTP heavy (/raw, /raw/stream, /download/entropy): 2 req/s, burst 2-3
HTTP concurrent connections per IP: 20
TCP concurrent connections per IP: 3
/raw chunk: 65536 bytes
/raw/stream default: 1048576 bytes
TCP session default: 65536 bytes

> ACCESS_MODELS

使用 Big Bang Entropy 的三种方式

该项目同时具备三种角色:免费的公共 API、用于 self-hosting 的开放技术栈,以及满足更高要求的专用部署起点。

PUBLIC_API

公共 API

最快的开始方式,无需账号也无需 API key。适合测试、实验、原型和轻量集成。适用公共限制与 best-effort 模式。

SELF_HOST

Open source / self-host

如果你希望完全掌控基础设施,可以运行自己的生成器和 SDR 节点。架构、Docker 配置和部署文档都公开在项目主 README中。

DEDICATED_DEPLOYMENT

专用部署

对于要求更高的生产系统,SparkSome Venture 可以提供约定吞吐量、私有基础设施、集成协助和部署支持。

> 审计报告

审计报告

> /REPORTS/

PUBLIC_REPORTS

如何阅读这些报告

audit 容器会定期对生成器执行质量检查,并将结果保存到共享目录 /reports/ 中。这里是公开查看当前统计测试结果以及历史运行记录的地方。

每次审计都会发布一个便于快速阅读的 HTML 报告、一个用于自动化处理的完整 JSON 报告、SHA-256 校验文件,以及在 chain.jsonl 中追加的一条完整性链记录。此外,index.html 会列出所有运行,latest.json 指向最新可用报告。

这使得我们既能查看测试结果、比较连续审计,也能验证报告历史在时间上是否保持一致。

> SECURITY_AND_INTENDED_USE

重要说明:预期用途与公共服务边界

Big Bang Entropy 是一个免费的公共工程与研究服务,同时也是一个 open-source 项目。公共端点采用 best effort 模式运行,不能替代本地系统 CSPRNG,也不能替代正式认证的 HSM/TRNG。

对于关键性更高的生产用途,应将该服务视为额外的外部熵源、审计层,或与本地随机性进行受控混合的输入。你应自行评估其是否符合你的安全、监管和性能要求。

如果你需要自己的基础设施、可预测吞吐量、与公共流量隔离,或定制支持模式,请选择 self-hosting,或联系我们讨论专用部署。

> 目标与使用场景

谁在使用 Big Bang Entropy,以及为什么使用

{ }

开发者与工程师

需要真实随机性的应用场景:加密密钥生成、会话令牌、密码加盐以及密码协议中的 nonce。

API · HTTP · JSON

研究人员与学者

需要非相关随机样本的实验:Monte Carlo 模拟、统计检验、密码学研究以及物理熵分析。

RESEARCH · ACADEMIC

机构与组织

需要一个外部且独立的熵源来补充本地 CSPRNG 池,但又不想部署自有 SDR 硬件的系统。

ENTERPRISE · INFRA

SDR 与 RF 爱好者

项目从 SDR 节点配置、DSP 流水线到密码层全部开放。提供完整的方法文档,也可以运行你自己的节点。

SDR · DIY · SELF-HOST

> 核心算法

物理提取器 + 加密混淆器

SDR 层充当来自物理信号的熵提取器。它利用先进的 DSP 流水线,通过多位 XOR 折叠聚合噪声 ADC 位,提供高吞吐量并大幅减少硬件偏差,而无需依赖激进的抽取。

生成器层并不‘凭空创造’熵。它的任务是安全地将来自多个节点的材料绑定到一个流中,增加加密弹性,并将公共输出与原始内部系统状态分离。

> 开放实现

完整访问源代码

从 SDR 驱动和 DSP 提取器到生成器和 API 服务器,整个流水线都已发布到 GitHub。你可以运行自己的节点、连接自己的天线,并加入熵采集网络。

项目包含 Dockerfiles、docker-compose.yml 和完整部署文档。借助兼容的 SDR 接收器,一个新节点可以在迷你 PC 上于数小时内启动。

SDR 节点使用紧凑的命名约定,例如 pl-lub-sdr-ad9363-omni01,格式为国家-城市-技术-硬件-天线ID。


> 审计员与工程师专用

TRNG 技术细节与调节

熵吞吐量

系统利用多位 XOR 折叠技术从 ADC 转换器的最低有效位 (LSB) 中提取随机性。这确保了高信息密度:调理过程后的每个样本都为熵池做出了显著贡献,保证了流的完全不可预测性。

统计测试

外部审计容器获取输出流,并使用严格的测试套件进行持续评估,包括 NIST SP 800-22(如 Frequency, Runs, Approximate Entropy)、ENT 和 Dieharder。

健康检查 (FIPS)

每个节点中的模块都实现了符合 FIPS 140-3 标准的 TRNG 设备持续硬件健康检查:重复计数测试 (RCT) 和自适应比例测试 (APT)。ADC 故障或强硬件偏差将导致数据包被拒。

DRBG 重置种子

生成器层作为 DRBG(确定性随机位生成器)运行。其内部状态由高频物理源异步且持续地重置种子,从而防止对机器内部状态的攻击。

回溯抗性

使用 SHA-512 加密哈希函数对数据流进行调节。该架构在公开缓冲区与内部混合状态之间保持隔离。实际而言,即使当前缓冲区泄露,也不应能直接重建先前已经发出的熵,因为已发出的字节会从熵池中移除,而混合过程仍然绑定在生成器的内部状态上。

> 项目发布方

SparkSome Venture

一家专注于复杂系统工程、关键基础设施和高级技术挑战的 IT 集成商。我们强调技术教育以及在开放模式下共享知识。

工程与复杂系统
技术教育与知识传递
社区型开源项目
IT 基础设施与应用密码学

> 社区模式

向社区公开发布代码

项目的全部源代码都公开可用,并以开放模式开发。我们将其作为自由软件发布,并邀请研究人员、工程师和无线电爱好者共同参与。

> 教育

教育与研究项目

项目记录了从无线电信号到密码学字节流的完整方法论。代码、注释和架构也旨在作为 SDR、熵提取和随机性安全的学习材料。

> 开放数据

没有访问门槛

公开端点无需注册或 API 密钥。每一个下载的字节都是唯一且可消耗的;系统刻意不会重复发放相同的数据。

> 许可证

MIT 许可证

项目以 MIT 许可证发布。你可以在本地运行、分叉、修改,并集成到自己的系统中,无需付费也无需额外授权。

> 联系与合作

欢迎沟通部署、集成或合作

如果你想在生产、研究或教育系统中使用 Big Bang Entropy,请联系 SparkSome Venture。我们可以协助集成、吞吐规划、部署以及技术合作。

> 联系方式

> FAQ

常见问题

这个生成器只包含宇宙辐射吗?

不是。实际输入流中还包括系统自身元件的热噪声、前端电子噪声、ADC 量子效应以及本地无线电环境。该项目刻意利用整个物理噪声景观,而不是仅依赖一个理想隔离的宇宙成分。

设备自身噪声算缺陷吗?

不算。从熵生成器的角度看,只要提取正确并经过密码学增强,它仍然是有价值的物理材料。目标是在真实 RF 路径中测量不可预测性,而不是构建只针对单一现象的实验室探测器。

为什么还要使用 SHA-512?

物理层提供熵材料,但公开服务还需要密码学韧性。SHA-512 会绑定多个节点的数据、隐藏内部状态,并使未来字节更难预测,即使输入中的一部分比预期更弱。

既然计算机已经有自己的随机数生成器,为什么还要生成物理熵?

本地系统随机数生成器(RNG)通常已经很好,而且速度快得多,但它仍然依赖机器内部的熵池,以及对这台机器、hypervisor 和操作系统本身的信任。来自 SDR 路径的外部物理熵并不是为了在吞吐量上胜过它,而是为了提供一种独立、可审计的外部随机性来源,可在更高保障需求的场景中为本地密码学安全伪随机数生成器(CSPRNG)提供补充播种或交叉校验。

每个下载的字节都是唯一的吗?

是的。熵进入可消耗熵池,并在下载后被移除。每个接收者获得的是后续可用的数据,而不是别人已经拿到的数据副本。

我可以运行自己的节点吗?

可以,这正是项目的主要目标之一。仓库中包含了部署 SDR 节点的完整说明、Docker 配置以及与中央服务器通信的协议。新节点会同时提升独立性和吞吐量。

系统能从 1 个节点扩展到数百或数千个吗?

可以,架构就是为此设计的。每增加一个节点,中央熵池就会获得更多输入材料,而基于 SHA-512 的混合层可以非常快速地处理这些流。在实践中,更多节点主要意味着熵池增长更快以及物理输入来源更多样。

1 个节点和 1000 个节点真的有差别吗?

有。单个节点依然可以提供有价值的熵,但大量节点会带来更高吞吐量、更强的来源独立性,以及对单一安装点本地条件更低的敏感度。这并不自动等于“神奇地更强的加密”,但确实意味着更丰富的输入材料和更快的熵池补充。

搭建一个小型节点需要什么?

通常,一个小型 Linux 电脑、兼容的 SDR 接收器、互联网连接和软件配置就足够了。系统面向不同接收器,只要它们能提供有意义的样本流用于后续处理即可。

Raspberry Pi 能胜任节点吗?

可以。只要电源、网络稳定且 SDR 受支持,Raspberry Pi 就是一个合理的轻量节点候选。收集和转发样本本身并不需要很强的算力,因此这更多取决于硬件兼容性和部署便利性,而不是“大服务器”的性能。

节点一定要放在户外并指向天空吗?

不一定。朝向天空的天线很符合项目的初衷,但并不是获得有用随机性的严格条件。系统可以利用广义的物理噪声:无线电背景、环境热噪声以及电子设备自身噪声,因此节点也可以在室内运行。

可以商业使用吗?

可以。MIT 许可证不会限制商业用途。公开 API 免费。如果你正在设计需要专用吞吐量或支持的生产系统,请联系 SparkSome Venture