Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
paranoid_crypto — Paranoid 的库包含对加密工件上已知弱点的检查实现。 | Kitploit
工具/GitHubGitHub/google/paranoid_crypto
静态分析漏洞扫描器漏洞分析密码学论文与研究Archived
GitHubgoogle/paranoid_crypto

paranoid_crypto

Paranoid 的库包含对加密工件上已知弱点的检查实现。

查看仓库
8034951年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Paranoid 项目

概述

Paranoid 项目检查加密工件(如公钥、数字签名和通用伪随机数)中存在的已知弱点。本库包含对文献中现有工作的实现和优化。这些现有工作表明,在某些情况下,这些工件的生成存在缺陷。以下是该库所依据的部分出版物示例。

  • Arjen K. Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, and Christophe Wachter. (2012). Ron was wrong, Whit is right;

  • Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman. (2012). Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices;

  • Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, and Nicko van Someren. (2013). Factoring RSA keys from certified smart cards: Coppersmith in the wild;

  • Joachim Breitner and Nadia Heninger. (2019). Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies;

目标

目标是提升 Google 内外部对密码学用例的信任度。

在处理非对称加密时,加密工件通常有以下几种来源:

  1. 由我们自己的工具生成(例如,在 Google 我们使用 boringssl 或 tink);或
  2. 由我们可访问的第三方工具生成(因此,例如可以使用 wycheproof 检查这些工具是否存在漏洞);或
  3. 由我们无法访问的第三方工具和/或硬件或软件黑盒生成。

借助 Paranoid,可以测试任何加密工件,但其主要动机是检测是否存在使用了弱的第三方硬件或软件黑盒。因此,即使我们无法检查源代码(上文列出的情况 3),也可以使用 Paranoid。

该项目旨在检测已知和未知的漏洞。例如,它试图识别由编程错误或使用弱的专有随机数生成器导致的漏洞。当然,检测新漏洞比检测已知漏洞困难得多。此类检测可能需要大量工件集,或者只能以较低概率发现弱工件。

因此,我们非常希望收到反馈,并了解是哪个密码学库生成了弱的加密工件(参见征集贡献)。该项目仍在持续开发中。在了解到弱的实现后,我们计划进行分析并添加针对它们的检测。

快速开始

当前已实现检查项的文档位于 docs。文档内容将随时间不断丰富。

要了解如何使用这些检查项,可以查看 examples 文件夹或单元测试(*test.py 文件)。这些示例演示了如何测试不同的加密工件。

安装

克隆仓库:

$ git clone https://github.com/google/paranoid_crypto.git && cd paranoid_crypto

注意:以下命令已在 Debian 稳定版(bookworm)上测试。请确保你使用的是 python3.11 或更高版本。

安装依赖:

$ sudo apt update && sudo apt install python3 python3-full python3-pip python3-pybind11 python3-fpylll python3-gmpy2 protobuf-compiler

创建并激活虚拟环境:

$ python3 -m venv --system-site-packages ~/paranoid-venv

$ source ~/paranoid-venv/bin/activate

注意:如果你清楚自己在做什么,也可以跳过下一步,直接为 pip 使用 --break-system-packages 开关。

安装 paranoid_crypto Python 包:

$ python3 -m pip install .

要检查安装是否成功,可以运行单元测试。例如:

root@kitploit:~
$ cd paranoid_crypto && python3 -m unittest discover -b -p "*test.py"
.................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 305 tests in 314.660s

OK

Docker

如果你希望在容器中运行它,也可以使用我们提供的 Dockerfile,如下所示。

注意:请确保已安装 docker。

克隆仓库后,构建 docker 镜像:

$ docker build -t paranoid-img .

创建并启动容器:

root@kitploit:~
$ docker run --name paranoid-container -it paranoid-img
paranoid-user@6191368b26b8:~$

要检查安装是否成功,可以运行单元测试。例如:

root@kitploit:~
paranoid-user@6191368b26b8:~$ cd paranoid_crypto && python3 -m unittest discover -b -p "*test.py"
.................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 305 tests in 307.555s

OK

初步结果

与其他已发表的工作类似,我们一直在分析来自 Certificate Transparency (CT) 的加密工件。CT 自 2013 年起记录已颁发的网站证书,目的是使其透明且可验证。截至 2022 年 9 月,其数据库包含超过 70 亿份证书。对于 Paranoid 对 EC 公钥和 ECDSA 签名的检查,迄今为止我们未在 CT 中发现任何弱工件。对于严重性为高危或严重的 RSA 公钥检查,我们得到以下结果:

其中一些证书已经过期或被吊销。对于仍然有效的证书(大多数是 CheckGCD 检查发现的),我们立即报告给证书颁发机构(CA)以进行吊销。

关于

本库由 Google 安全团队成员开发和维护,但这不是 Google 官方支持的产品。如果你想贡献代码,请阅读 CONTRIBUTING 并向我们发送拉取请求。你也可以报告 bug 或提交功能请求。

如果你在研究中使用 Paranoid,可以使用以下 BibTeX 引用它:

root@kitploit:~
@software{Barbosa_Bleichenbacher_Paranoid_Crypto_2022,
  author = {Barbosa, Pedro and Bleichenbacher, Daniel},
  license = {Apache-2.0},
  month = {8},
  title = {{Paranoid Crypto}},
  url = {https://github.com/google/paranoid_crypto},
  year = {2022}
}
下载工具
测试名称潜在相关 CVE严重性弱工件数量
CheckOpensslDenylistCVE-2008-0166SEVERITY_CRITICAL3989
CheckROCACVE-2017-15361SEVERITY_HIGH2875
CheckGCD-SEVERITY_CRITICAL1860
CheckFermatCVE-2022-26320SEVERITY_CRITICAL36
CheckContinuedFractions-SEVERITY_CRITICAL16
CheckBitPatterns-SEVERITY_CRITICAL6
CheckPermutedBitPatterns-SEVERITY_CRITICAL6
CheckKeypairDenylistCVE-2021-41117SEVERITY_CRITICAL4
CheckPollardpm1-SEVERITY_CRITICAL1