您已向统计学家论坛寻求有关此问题的帮助,因此,我将提供基于统计的答案。因此,可以合理地假设您对随机猜出PIN的可能性感兴趣(对于随机性的某种定义),但这对问题的理解超出了所提供的范围。
我的方法是枚举所有可能的选项而不受限制,然后减去void选项。但是,这有一个尖锐的角落,称为“包含-排除”原理,它对应于一个直观的想法,即您不想从集合中两次减去同一事物!
在无限制的六位数PIN和十进制数字系统中,有可能的组合,从000 000到999 999 :每个数字有10个选项。106000 000999 999 :
考虑一下“两个相邻的相同”数字的样子:,其中标记为A的位置相同,X可以是任何十进制数字。现在考虑以六位数排列字符串A A的其他几种方式:X A A X X X,X X A A X X,X X X A A X和X X X X A AA A XXXX一种XA AXA A XXXXXA A XXXXXA A XXXXXA A。因此,对于任何特定的顺序(这些选项之一),至少有组合,因为有10 4个数字不受限制。现在,A有多少种选择?我们正在使用十进制数字,因此必须为10。因此,特定顺序有10 5个选择。有五种这样的排序,因此有5 × 10 5个满足此定义的排列。(这在安全性上的意义可以通过信息理论上的度量来衡量,以多少程度地降低PIN空间的熵。)104104一种1055 × 105
现在考虑连续数字是什么样子。在字符串,如果我们知道A,我们也知道B和C *:如果A为5,则B为6,C为7。因此,我们可以列举以下选项:A B CXXX
- 012XXX
- 123XXX
- 234XXX
- 456XXX
- 789XXX
目前尚不清楚是否有“包装纸”。如果有,我们还包括
通过与上述相同的理由,每个解决方案都具有关联的组合。因此,只需计算出必须有多少解决方案。记住计数替代排序,如X 甲乙Ç X X 。103XA B CXX。
现在我们到达了最尖锐的角落,这就是包含-排除原则。我们已将所有六位PIN的集合分为三组:
A.允许的PIN B.由于“相邻数字”而导致的无效PIN C.由于“顺序数字”而导致的无效PIN
乙C| 小号| = | A | - | B | - | C| ,| 小号| = | A | - | B | - | C| + | 乙∩Ç| ,乙∩ Ç乙C乙C
发生这种情况的方式有几种:
- A A B CXX
- A B CXD D
稍微高级些的方法将利用基本的组合结果和计数的基本定理,但是我选择了这种方法,因为它给读者带来了最小的技术负担。
1个| 小号|
从“五个直到锁定”的皱纹绝对可以更好地防止未经授权的访问,因为在4位数或6位数方案中,存在很多选择,甚至五个不同的随机猜测也很低成功的可能性。对于一个恰当的概率问题,可以计算出这种攻击成功的概率。
但是,除了数字序列的概率外,其他因素也可能会影响PIN机制的安全性。首先,人们倾向于不随机选择PIN!例如,某些人将其出生日期,孩子的出生日期或一些类似的个人相关号码用作PIN。如果攻击者知道用户的DOB,则可能是他们尝试的第一件事。因此,对于特定用户,某些组合可能比其他组合更有可能。
*您列出的顺序严格递增,并且不清楚您说“三个连续数字”时是递增还是递减。