项目理念——生物哈希:双因素认证

我们都希望,没有我们的许可,任何人都不能访问我们的私人数据。为此,我们在不同的小工具或ATM卡中使用密钥(密码或PIN)。但这个秘密密钥可能会被盗,一旦被盗,我们将无法控制我们的数据。

null

另一种用于保护数据的方法是使用我们的生物测量数据,如指纹、虹膜或人脸图案。与前一个相比,它有一些优势,因为它不能被窃取,因为用户只能在验证位置验证他们的身份。但这一标准的缺点是,它会导致 错误拒绝率 ,即,由于验证时生物计量数据失真,不允许有效用户访问其数据。

可以使用更好的方法,使用上述两种方法,并将其合并为一个密钥。这就是为什么它被称为双因素认证。

实施: 每个用户都有一个 随机种子 只有用户知道。此随机种子用作 布卢姆·布卢姆·舒布 随机数发生器。它使用两个大素数(p和q)作为起点,并找到M=p*q。这里,X0是对M的联合素数的种子。然后新的输出被导出为Xn+1=power(Xn,2)mod M。我们可以通过应用生成大量素数来选择这两个素数 埃拉托斯坦筛 算法,并从中选择两个随机素数。我们通过采用位奇偶校验将所有这些随机数存储在m*n阶矩阵中(每个n维的m个向量),即存储Xn+1模2。

然后,我们申请 Gram-Schmidt正交归一化 处理所有这些向量。它使所有向量相互正交(垂直),并且具有一个单位大小。

然后,我们提取生物测量特征数据(为了简单起见,让我们采用一维随机矩阵)并应用 离散余弦变换(dct) 基于这些生物测量数据。然后取这些dct的标量积,应用gram-schmidt正交归一化得到数据。然后,我们将获得的数据与预设的阈值保持值进行比较,并按照以下标准进行存储:如果获得的数据大于预设值,则存储1或0。这些存储的数据称为 生物哈希码 .

这个生物哈希代码是我们的密钥,它为我们的真实数据提供隐私或保护。这意味着,当我们需要访问数据时,所有上述过程都会发生,然后将获得的数据与存储的生物哈希代码进行比较。如果找到匹配项,则授予访问权限,否则拒绝访问。

所有这些过程的代码都在我的github链接上 https://github.com/kaditya139/Project

本文由 阿迪蒂亚·库马尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享