首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >/proc/sys/核/随机/uuid是强键控材料吗?

/proc/sys/核/随机/uuid是强键控材料吗?
EN

Stack Overflow用户
提问于 2011-05-03 17:09:09
回答 3查看 8.5K关注 0票数 10

我一直在研究如何为HMAC_SHA256算法生成一个强大的256位/32字节对称密钥。我偶然发现了/proc/sys/内核/随机/uuid文件。

根据人随机(4):“只读文件uuid和boot_id包含随机字符串,如6fd5a44b-35f4-4ad4-a9b9-6b9be13e1fe9。前者是为每次读取重新生成的,后者是生成一次的。”

来自cat /proc/sys/kernel/random/uuid的字符串看起来非常适合这个目的。我可以删除“-”字符,并以32字节的随机性结束。

这是一种有效的方法来生成加密强的密钥材料源吗?

EN

回答 3

Stack Overflow用户

发布于 2013-01-07 11:40:27

这是个老问题,但万一有人发现了这个问题,我不会建议你这样做。

/proc/sys/kernel/random/uuid是一个具有特定语义的4(随机) UUID --它不仅仅是一串随机十六进制字符。例如,您将看到第三组中的第一个数字总是4。

对于256个随机位,只需从/dev/random (使用外部熵,can块)或/dev/urandom (从不块)读取32个字节。

票数 14
EN

Stack Overflow用户

发布于 2016-11-19 00:59:05

o172.net是最好的答案,可以直接评论,但不能。

/proc/sys/kernel/random/uuid是以urandom为基础的,但最好是直接从核武器中获取。

下面是如何从shell中获取它,下面是32个ascii十六进制字节:

代码语言:javascript
运行
复制
echo $(tr -dc a-f0-9 < /dev/urandom | dd bs=32 count=1 2> /dev/null)

您可以通过tr参数更改char集,字节由

代码语言:javascript
运行
复制
dd bs=
or not use tr

得到随机二进制数。

票数 0
EN

Stack Overflow用户

发布于 2011-05-03 17:22:28

你会依赖定义明确的确定性伪随机算法来生成密钥吗?基本上这就是问题所在。

我会说,以UUID作为密钥的基础,但是使用您的秘密密钥对其进行一次加密。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5873099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档