首页 > 其他分享 >PGP (Pretty Good Privacy) 或 GnuPG (GNU Privacy Guard)

PGP (Pretty Good Privacy) 或 GnuPG (GNU Privacy Guard)

时间:2023-05-25 21:33:21浏览次数:32  
标签:file Good ECC key Privacy -- gpg 密钥 Pretty

使用 PGP (Pretty Good Privacy) 或 GnuPG (GNU Privacy Guard) 为文件生成密钥验证,通常需要 3 个步骤:首先创建一对 PGP 密钥(公钥和私钥),其次为文件生成签名,最后验证文件签名。
1. 创建 PGP 密钥对(公钥和私钥): 如果您尚未拥有 PGP 密钥对,请执行以下命令生成一对新密钥: ``` gpg --gen-key ``` 按照终端提示操作即可。生成新密钥后,密钥将自动存储在您的密钥库中。
2. 生成文件签名: 要生成文件签名,您需要使用私钥对文件进行签名。通过以下命令,用私钥为文件生成签名: ``` gpg --sign --detach-sign --armor [file_path] ``` 将 `[file_path]` 替换为您想要签名的实际文件路径。运行此命令后,将在文件所在目录下生成一个名为 `[file_path].asc` 的签名文件(密文)。
3. 验证文件签名: 验证签名时,需要使用相应的公钥对签名文件和原始文件进行验证。请执行以下命令进行验证:
``` gpg --verify [file_path].asc [file_path] ``` 将 `[file_path].asc` 替换为实际签名文件路径(由生成签名的命令生成),将 `[file_path]` 替换为实际文件路径。
如果验证成功,您将看到以下消息:
``` gpg: Signature made [signature_date] using [algorithm] key ID [key_id] gpg: Good signature from "[your_name] <[your_email]>" ```
如果验证失败,您将看到以下消息:
``` gpg: Signature made [signature_date] using [algorithm] key ID [key_id] gpg: BAD signature from "[your_name] <[your_email]>" ```
请注意,如果您尚未导入公钥,请在验证之前执行以下命令将其导入:
``` gpg --import [public_key_file] ``` 将 `[public_key_file]` 替换为实际公钥文件路径。
 



若要使用 GPG 创建 ECC(Elliptic Curve Cryptography)密钥对,请按照以下步骤操作:
1. 打开终端或命令行。 2. 运行 `gpg --full-gen-key` 命令,启动交互式密钥生成过程。 3. 当提示您选择密钥类型时,请输入 `9` 以选择 ECC。 4. 在接下来的提示中选择 ECC 的曲线类型。对于大多数用例,建议选择 `Curve 25519`。 5. 接下来,设置密钥到期时间。如需让密钥永不过期,请输入 `0`,或者指定一个有效期(例如:`1y` 表示 1 年后过期,`6m` 表示 6 个月后过期)。 6. 确认您输入的设置是否正确。 7. 提供密钥所有者的姓名、电子邮件地址和可选注释,然后再次确认您输入的信息是否正确。 8. 输入并确认一个安全的密钥口令。
执行完上述步骤后,GPG 会生成一个新的 ECC 密钥对。您可以用 `gpg --list-keys` 和 `gpg --list-secret-keys` 命令来查看公钥和私钥。
如果您在尝试使用 `gpg --full-gen-key` 命令创建新的 ECC 密钥对时无法选择 ECC 选项,可以尝试以下解决方法:
1. 确保您的 GnuPG 版本支持 ECC: 运行 `gpg --version` 命令查看您的 GnuPG 版本信息。ECC 支持是从 GnuPG 2.1 版本开始引入的。如果您看到的 GnuPG 版本低于 2.1,请升级您的 GnuPG 到最新版本。
2. 如果您正在使用支持 ECC 的 GnuPG 版本,但仍然无法选择 ECC 密钥,请尝试使用以下命令:
``` gpg --expert --full-gen-key ``` 这将打开交互式密钥生成过程并显示所有可用的密钥类型,包括 ECC。接下来,按照之前描述的步骤选择相应的密钥类型、曲线类型、到期时间等,以完成 ECC 密钥对生成。  

标签:file,Good,ECC,key,Privacy,--,gpg,密钥,Pretty
From: https://www.cnblogs.com/xzlive/p/17432984.html

相关文章

  • How do I ask a good question?
    Iseeagoodweb-word:HowdoIaskagoodquestion?-HelpCenter-StackOverflow ......
  • MySQL8版本之json_keys、json_object、json_overlaps、json_pretty
    CREATETABLE`test_json`(`id`bigintNOTNULLAUTO_INCREMENT,`name`varchar(32)NOTNULL,`age`intNOTNULL,`test_json_array`jsonNOTNULL,`test_json_object`jsonNOTNULL,`test_json_array_object`jsonNOTNULL,`custinfo`jsonDEFAU......
  • 【五期邹昱夫】CCF-A(NeurIPS'19)Inverting gradients-how easy is it to break privacy
    "GeipingJ,BauermeisterH,DrögeH,etal.Invertinggradients-howeasyisittobreakprivacyinfederatedlearning?[J].AdvancesinNeuralInformationProcessingSystems,2020,33:16937-16947."  本文发现梯度的方向比其范数幅值携带了更加重要的信息,以......
  • VS2017使用goodnight theme
    下载源码编译,地址:https://github.com/wuoyrd/vs-theme-goodnight稀里糊涂编译成了pkgdef文件,好在文件正确,又有插件可以读取这种文件1、在扩展中搜索theme,安装此扩展2、安装后打开颜色设置3、导入主题4、选择主题文件5、选择主题为goodnight效果如下:goodnight.pkgd......
  • codeforces 264B B. Good Sequences(dp+数论)
    题目链接:codeforces264B题目大意:给出n个数,利用这n个数构造一个好的序列,好的序列是单调增的,而且序列中相邻的两个元素都不互质,问最长的好序列的长度是多少。题目分析:首先我们定义状态dp[i]表示当前的数进行构造的序列末尾的数的质因数包含i的时候的最长的情况。然后我们从小到大枚......
  • GoodSync(最好的文件同步软件)
    GoodSync是一款使用创新的最好的文件同步软件,可以在你的台式机、笔记本、USB外置驱动器等设备直接进行数据文件同步软件。GoodSync将高度稳定的可靠性和极其简单的易用性完美结合起来,可以实现两台电脑、电脑与云端网盘、电脑和远程FTP服务器、电脑与U盘之间的数据和文件......
  • ARC159F Good Division【性质,DP,线段树】
    定义一个序列是好的当且仅当其可以通过每次删去一对相邻的不同的数把序列删空。给定一个长度为\(2n\)的序列\(a\),求有多少种划分方式使得每一段都是好的。答案对\(998244353\)取模。\(n\leq5\times10^5\),时限\(\text{5.0s}\)。先考虑什么样的数列是合法的,显然必要条......
  • SQL Pretty Printer(V4.0.0)推荐插件
    SQLPrettyPrinter(V4.0.0)推荐插件安装在SQLServer中我们经常需要编写各种SQL脚本,例如存储过程和函数等,由于在编写过程中,经常会进行调整,格式很乱,可读性很差。对于有强迫症的人来说,看这样的代码非常痛苦,必须要手动对代码进行格式化,如果代码脚本比较多,这个事情也是非常费时费力的。......
  • Good Segment
    Givenanarrayofbadnumbersandarangeofintegers,determinethelongestsegmentofintegerswithintherangethatdoesnotincludeanybadnumbers.Examplen=6badNumbers=[37,7,22,15,49,60]lower=3upper=48Thesegmentsintherange3to......
  • 关于在执行 SAP ERP MM 模块 Post Goods Issue 时修改 Material Cost 的讨论
    我的知识星球里有朋友向我提问:MaterialPGI(601movement)willcalculatethematerialcostfrommaterialmasterdata.Myquestionis:isthereanywaystochangethematerialcostwhenPGI?(Exceptenhancement)在SAPERPMM模块中,MaterialPostGoodsIssue(PGI......