100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > PRF(伪随机数函数)

PRF(伪随机数函数)

时间:2020-04-13 07:24:56

相关推荐

PRF(伪随机数函数)

PRF(伪随机数函数)

看到自己曾经写过一个随机数的文章,当然内容没什么太有意思的东西。今天想着好像也没什么可写的,那么就写个已经存在的PRF吧。

随机数在服务端应用挺广泛的,经常会使用到,但是大体上都是调用系统函数。有一些的实现就不是很安全,比如那个简单的以时间为种子的随机数~~。

更安全的随机数可以通过硬件来获取,当然这得需要相应的硬件支持。其实,在TLS规范中已经提供了一种不错的伪随机生成函数,具体内容可以参考 tls1.2。

当然,估计大家也不会看~。这里直接拿过来。

PRF

P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) +HMAC_hash(secret, A(2) + seed) +HMAC_hash(secret, A(3) + seed) + ...PRF(secret, label, seed) = P_<hash>(secret, label + seed)说明+ 代表连接A() 表示如下A(0) = seedA(i) = HMAC_hash(secret, A(i-1))hash指的是单向hash函数,如sha1,sha256等等。以sha256为例,一次HMAC产生的数据为32bytes。因此,如果想得到80bytes数据,需要i=3,这样会得到96bytes数据,将后16bytes丢弃即可。label必须是ASCII字符串,不包含结尾的'\0'。

enjoy!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。