数字信任的底层逻辑:密码学核心技术与现实应用

news2025/5/17 22:15:04

安全和密码学 --The Missing Semester of Your CS Education

目录

  1. 熵与密码强度
  2. 密码散列函数
  3. 密钥体系
    3.1 对称加密
    3.2 非对称加密
  4. 信任模型对比
  5. 典型应用案例
  6. 安全实践建议
  7. 扩展练习
  8. 杂项

密码学是构建数字信任的基石。
本文浅析密码学在现实工具中的应用,涵盖
1)熵 2)散列函数 3)加密体系;

XKCD密码强度漫画

一、熵与密码强度

1.1 熵的数学定义

熵(Entropy)的计算公式:
H = log₂(n)
其中n为可能的组合数

1.2 密码强度评估

密码类型熵值计算示例密码
4单词组合4×log₂(100000) ≈ 66.4 bitscorrecthorsebatterystaple
8字符混合密码log₂(62⁸) ≈ 47.5 bitsrg8Ql34g

1.3 破解时间估算

  • 4单词密码:约1.5×10¹⁹年
  • 8字符密码:约1.5×10⁷年

二、密码散列函数

2.1 核心特性

$ printf 'hello' | sha1sum
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
  • 确定性
  • 不可逆性
  • 碰撞抵抗性

2.2 应用场景

  1. Git内容寻址存储
  2. 软件完整性验证
  3. 密码承诺机制

三、密钥体系

3.1 对称加密(AES)

openssl aes-256-cbc -salt -in plain.txt -out encrypted.bin

3.2 非对称加密(RSA/ED25519)

ssh-keygen -t ed25519 -o -a 100
3.2.1)Q1:为什么私钥能解开公钥上的锁?

A:大数定理。具体见下文:
非对称加密算法的数学设计–RSA算法为例

3.2.2)Q2:数字签名是什么?

A:[下文括号内,代表函数的x ]

  • 发送方:签名 = 私钥加密 [ hash(发送的消息) ];
  • 接收方:hash_1= 公钥解密[签名];
    • THEN 比较:得到的hash_1 VS hash_2(收到的消息);
    • IF 相等,证明:收到的消息 = 发送的消息

密码学中的数字签名是什么?

定义: 数字签名是一种基于密码学的技术,用于验证数据的真实性完整性不可否认性。它类似于现实中的手写签名,更安全、不可伪造。

核心原理

  • 非对称加密

    :使用一对密钥(公钥和私钥)。

    • 私钥:由签名者秘密保存,用于生成签名。
    • 公钥:公开分发,用于验证签名。
  • 哈希函数:通常先对消息生成唯一的哈希值(摘要),再对哈希值签名,提高效率。

工作流程

  1. 签名生成:发送方用私钥对消息的哈希值加密,生成签名。
  2. 签名验证:接收方用发送方的公钥解密签名,得到哈希值,再对比自己计算的哈希值是否一致。

作用

  • 身份认证:确认消息来源(谁签的名)。
  • 完整性:确保消息未被篡改。
  • 不可否认性:签名者事后无法否认自己的签名。

常见算法:RSA、ECDSA(比特币使用)、EdDSA等。

3.3 密钥生成函数(KDF)

  • 密码存储方案:KDF(password + salt)
  • 推荐迭代次数:≥100,000次

四、信任模型对比

模型类型代表产品验证方式适用场景
首次信任SignalSafety Number比对即时通讯
信任网络PGP密钥签名链邮件加密
社交证明Keybase社交媒体验证跨平台身份

五、典型应用案例

5.1 SSH身份验证流程

客户端 服务器 连接请求 随机挑战值 签名响应 验证签名 客户端 服务器

5.2 全盘加密方案

  • Linux: LUKS + cryptsetup
  • Windows: BitLocker
  • macOS: FileVault

5.3 密码管理器架构

+----------------+
|     主密码      |
+--------+-------+
         ↓
+----------------+
|   KDF生成密钥   |
+--------+-------+
         ↓
+----------------+
|   AES加密密码库 |
+----------------+

六、安全实践建议

  1. 启用两步验证(2FA)
  2. 使用密码管理器生成高熵密码
  3. 定期更新SSH密钥(推荐ED25519)
  4. 验证下载文件的哈希值
  5. 对敏感提交进行GPG签名

七、扩展练习

# 验证文件完整性
curl -LO https://debian.org/checksums
sha256sum -c SHA256SUMS

# 创建签名提交
git commit -S -m "安全更新"
git show --show-signature

s://debian.org/checksums
sha256sum -c SHA256SUMS

创建签名提交

git commit -S -m "安全更新"
git show --show-signature

杂项:

Q3:“挖比特币”为什么叫“挖”?到哪里挖?

  • 类似一次种哈希计算竞赛。
  • 需要通过计算“挖掘”才能获得;
  • 矿工通过解决复杂数学难题(哈希计算)来竞争记账权,成功者获得比特币奖励,过程需要消耗算力(类似“挖”的劳力)。
  • 涉及区块链技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2306048.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全面理解-深拷贝与浅拷贝

在 C 中,深拷贝(Deep Copy) 和 浅拷贝(Shallow Copy) 是两种完全不同的对象拷贝策略,主要区别在于对指针和动态分配资源的处理方式。正确理解二者的区别是避免内存泄漏、悬空指针和程序崩溃的关键。 一、核…

Redis分布式锁故障处理:当Redis不可用时的应对策略

Redis分布式锁故障处理:当Redis不可用时的应对策略 在分布式系统中,Redis因其高性能和丰富的特性常被用于实现分布式锁。但当加锁过程中Redis服务不可用时,系统将面临严重挑战。本文将深入探讨这一问题,并提供多维度解决方案。 目…

WordPress平台如何接入Deepseek,有效提升网站流量

深夜改代码到崩溃?《2024全球CMS生态报告》揭露:78%的WordPress站长因API对接复杂,错失AI内容红利。本文实测「零代码接入Deepseek」的保姆级方案,配合147SEO的智能发布系统,让你用3个步骤实现日均50篇EEAT合规内容自动…

ROS ur10机械臂添加140夹爪全流程记录

ROS ur10机械臂添加140夹爪 系统版本:Ubuntu20.04 Ros版本:noetic Moveit版本:moveit-noetic 参考博客: ur3robotiq ft sensorrobotiq 2f 140配置rviz仿真环境_有末端力传感器的仿真环境-CSDN博客 UR5机械臂仿真实例&#xf…

FFMPEG编码容错处理解决办法之途径----升级库文件

在qt开发环境下接收网络数据,调用ffmpeg解码播放视频,出现闪屏现象,具体现象可以使用操作系统自带的ffplay播放器播放原始视频流可复现;而使用操作系统自带的mpv播放器播放视频则不会出现闪屏;闪屏时会报Could not fin…

uniapp h5端和app端 使用 turn.js

前提:添加页后,添加页与当前页会重叠在一起,不知道为什么,没有找到解决办法 1.h5端 <template><view class"container"><view id"flipbook"><view class"page page1">Page 1</view><view class"page pag…

【入门音视频】音视频基础知识

&#x1f308;前言&#x1f308; 这个系列在我学习过程中&#xff0c;对音视频知识归纳总结的笔记。因为音视频相关讲解非常稀少&#xff0c;所以我希望通过这个音视频系列&#xff0c;跟大家一起学习音视频&#xff0c;希望减少初学者在学习上的压力。同时希望也欢迎指出文章的…

数据结构☞泛型

一.基础定义与应用方向 1.定义&#xff1a; 一般的类和方法&#xff0c;只能使用具体的类型 : 要么是基本类型&#xff0c;要么是自定义的类。如果要编写可以 应用于多种类型 的代码&#xff0c;这种刻板的限制对代码的束缚就会很大。----- 来源《 Java 编程思想》对泛型的介…

hot100-二叉树

二叉树 二叉树递归 相当于这个的顺序来回调换 class Solution {private List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {if(root null)return res;inorderTraversal(root.left);res.add(root.val);inorde…

嵌入式项目:STM32刷卡指纹智能门禁系统

本文详细介绍基于STM32的刷卡指纹智能门禁系统。 获取资料/指导答疑/技术交流/选题/帮助&#xff0c;请点链接&#xff1a; https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系统功能 1.1 功能概述 本系统由STM32硬件端&#xff08;下位机&#xff09;…

短剧小程序系统源码

短剧小程序系统源码 今天我要向大家介绍的是最新作品——短剧小程序系统源码。这不仅仅是一款简单的播放工具&#xff0c;它背后蕴含的强大功能能够帮助你的短剧业务实现质的飞跃&#xff01; 为什么说这款源码很厉害&#xff1f; 首先&#xff0c;在当今竞争激烈的市场环境…

C#中级教程(2)——走进 C# 面向对象编程:从基础到进阶的深度探索

一、为什么选择面向对象编程 在软件开发的演进过程中&#xff0c;随着程序规模和复杂度的不断增加&#xff0c;传统的编程方式逐渐暴露出局限性。面向对象编程应运而生&#xff0c;它就像是一位智慧的组织者&#xff0c;将程序中的功能进行模块化划分。每个模块各司其职&#x…

基于SpringBoot的“流浪动物救助系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“流浪动物救助系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 局部E-R图 系统首页界面 系统…

基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案

随着物联网和嵌入式技术的快速发展&#xff0c;嵌入式设备对实时音视频通信的需求日益增长。然而&#xff0c;传统的音视频解决方案往往存在体积庞大、实时性差、互动体验不佳等问题&#xff0c;难以满足嵌入式设备的资源限制和应用场景需求。 针对以上痛点&#xff0c;本文将介…

Windows - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式

Windows(奇思妙想) - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式 前言 Windows启用OpenSSH客户端后就可以通过SSH的方式访问Windows了。但是通过SSH启动的程序&#xff1a; 无法显示图形界面会随着SSH进程的结束而结束 于是想到了一种通过执行“计划…

RT-Thread+STM32L475VET6——USB鼠标模拟

文章目录 前言一、板载资源二、具体步骤1.配置icm20608传感器2.打开CubeMX进行USB配置3. 配置USB3.1 打开USB驱动3.2 声明USB3.3 剪切stm32xxxx_hal_msp.c中的void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)和void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)函数至board.c3.…

计算机毕业设计SpringBoot+Vue.js母婴商城(源码+LW文档+PPT+讲解+开题报告)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

Teigha(ODA<Open Design Alliance>_开放设计联盟)——cad c# 二次开发

需将dll库文件与exe文件放同一路径下&#xff0c;运行exe即可执行。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Thread…

idea 部署 AJ-Report 启动的注意事项

AJ-Report 入门参考&#xff1a; AJ-Report 初学(入门教程) gitee 下载&#xff1a;https://gitee.com/anji-plus/report/releases 根据上面提供的 gitee 下载链接&#xff0c;点击直接下载 最上面的就是最新版本的&#xff0c;旧版本往下拉就可以找到&#xff0c;有三个下载…

智能化客户行为轨迹分析:AI视频监控在大型商场的技术方案

项目背景&#xff1a;为了提升顾客体验并支持精准营销&#xff0c;卖场或商场需要通过智能化手段分析客户在商场内的行为路线。 一、具体需求 1、行为路径分析&#xff1a;跟踪顾客在商场内的移动轨迹&#xff0c;了解顾客的购物习惯和偏好。 2、高频活动区域识别&#xff1a…