首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个令牌应该有多少位是不可猜测的(给定一些计算资源)?

一个令牌应该有多少位是不可猜测的(给定一些计算资源)?
EN

Cryptography用户
提问于 2017-11-02 19:31:51
回答 1查看 310关注 0票数 1

如果攻击者可能每秒尝试100亿(1E10)个随机数。它的攻击持续500年( 500 *365*24*3600 = 1.5768E10秒)。

然后攻击者将尝试1E10*1.5768E10 = 1.5768E20组合。

现在假设我有1000亿(1E11)标记,它们是n位的随机数。

我要计算n,以便攻击者发现任何令牌的概率大约为1/10亿(1E9)。

我相信答案是n = log2(1E11*1.5768E20/1E9) = 73.74位。

问题:

  1. 这个计算正确吗?
  2. 如果攻击者可以避免重复数字而不是独立的随机数,那么n是多少?我想我应该使用阶乘,我想这与生日悖论有关,但我的数学似乎逃避了我的理解。
  3. 如果仅仅知道其中一个令牌可以作为身份验证,那么到2017年,对于一个拥有几百万美元的攻击者来说,推荐的n是什么?

更新:

通过使用https://en.wikipedia.org/wiki/Universally_独一无二_identifier#Collisions中的公式(在WolphramAlpha中使用特定的数字),我得到:sqrt(2*(2^n)*ln(1/(1-(1/1E9))))=1.5768E20

Wolphram为n:n=163.088求解。我想这是我的问题2的答案,我认为我对问题1的计算是正确的,但由于问题2是比较现实的情况,我对此感到满意,并将结束这个问题。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2017-11-02 22:57:10

虽然AES可以使用256位密钥,但它仍然只接受128位IV,而且AES块的宽度在2017年被认为是安全的。所以这将是一个很好的向导。

此外,有类型4 UUID使用122个不确定位,目前正在广泛使用。除了从我的推荐信中摘录这句话外,没什么可说的:-

因此,要有十亿的复制机会,就必须生成103万亿版本的UUID。

将大小增加到128位将需要8e14个令牌来处理相同的1(10亿)的碰撞风险。应该没事的。

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

https://crypto.stackexchange.com/questions/52775

复制
相关文章

相似问题

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