项目简介
本项目是基于蓝牙RSSI(接收信号强度指示)的熵源生成系统,主要为系统提供额外的熵源,尤其适用于缺乏丰富熵源的物联网(IoT)平台。通过扫描附近蓝牙设备并收集其RSSI值来生成随机数,进而增强系统的随机性。
项目的主要特性和功能
- 以蓝牙设备的RSSI值作为熵源生成随机数。
- 因蓝牙扫描的频率和精度限制,吞吐量较低,适合作为附加熵源。
- 代码兼容支持蓝牙的Linux系统,且需要
libbluetooth-dev
库。 - 代码和工具经过实验验证,并与其他随机数生成器做了对比。
- 提供三种不同的熵提取方法,用户可按需选择。
安装使用步骤
准备环境
- 确保系统支持蓝牙,且已安装
libbluetooth-dev
库。 - 若系统提示“Error on opening HCI device. No such device”,可尝试使用
sudo bluetoothctl; power on; exit
命令启动蓝牙设备。
编译代码
进入src/
目录,使用make
命令编译项目代码。
运行程序
使用sudo ./bluerandom
命令运行程序,生成的随机数将输出到标准输出(stdout)。
注意事项
- 因吞吐量低,建议将Bluerandom用作附加熵源,而非单一的随机数生成器。
- 项目中的
AddEntropyIOCTL
和AES_PRNG
等工具可用于进一步测试和评估生成的随机数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】