65.9K
CodeProject 正在变化。 阅读更多。
Home

扩展密码生成器

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.55/5 (8投票s)

2006 年 6 月 20 日

CPOL

2分钟阅读

viewsIcon

41030

任何系统管理员都可以使用该工具来生成易于发音的随机密码,这些密码可以防止暴力字典攻击。

EPG 1.5.1

引言

扩展密码生成器是任何系统管理员都可以使用的工具,用于生成可发音的随机密码,这些密码可以防止暴力字典攻击。

这些密码以容易发音的英语语法形式获得,因此易于记忆、存储和输入到计算机系统。

该算法最初由国家技术信息服务 (NTIS)提出,在联邦信息处理标准 (FIPS) No181 "自动密码生成器"中开发,并由我修改以实现排除/包含方案。

该算法使用伪随机生成器 (PRG) 来查找构成音节然后构成可发音单词的字符。 PRG 根据 ANSI X9.17 附录 C 中描述的过程生成随机数据,并使用 3DES 作为分组密码。种子和密钥的值从 OS CryptoAPI 获取。该数据在密码学上是随机的,可用于生成随机初始化向量 (IV) 和盐值。因此,无需手动播种随机数生成器。

EPG 还可以生成随机(不可发音)密码。

如今,黑客配备了频繁使用的人工设计的密码的暴力字典。运行这些列表可以帮助攻击者找到密码并突破防御。在 EPG 中,可以根据 Bloom 过滤器检查每个新密码,如果其哈希在过滤器中找到,EPG 会用 '!' 或 'X' 标记它(具体取决于在过滤器中找到的内容)。 BFM(Bloom 过滤器管理器)随 EPG 一起提供,以帮助您管理 Bloom 过滤器。 Bloom Filter 的这个想法来自 Adel I. Mirzazhanov 的 APG。 '误报' 级别的概率选择为 1%,希望最大限度地减小 Bloom 过滤器的大小(以及项目本身的大小),同时该级别保持相对可接受。

总而言之,EPG 还有一个漂亮的 GUI,带有质量表和带有 F1 的上下文相关帮助。密码列表可以打印、导出到 HTML 或文本文件,或复制到剪贴板。

EPG 使用 Boost Library。 要自己重新编译 EPG,您需要正确编译并安装的 Boost Library 的版本 1.33.1。 较旧的版本也应该可以工作。

致谢

感谢

  • Adel I. Mirzazhanov 对 EPG 和 Bloom Filter 的想法
  • Andrzej Markowski 及其 CCustomBitmapButton
  • Boost 开发人员
  • Chris Maunder 及其出色的 GridControl CSystemTray 类,以及 Iain Clarke 及其 GridCellProgress 控件
  • Dr.Brian Gladman 及其 SHA 算法实现
  • Eric Young 及其 DES 密码实现
  • uemakeXp 开发团队及其 CDlgAnchor
  • Wei Dai 及其 Crypto++ 库(以及一些想法)

访问 Sourceforge.NET 上的 EPG 项目页面

历史

  • 2006 年 6 月 20 日:初始帖子
© . All rights reserved.