实用密码学
范学雷
前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员
14948 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 24 讲
开篇词 (1讲)
课前必读 (1讲)
案例分析 (1讲)
实用密码学
15
15
1.0x
00:00/00:00
登录|注册

01 | 学习密码学有什么用?

你好,我是范学雷。
从今天开始,我就和你一块儿去试着揭一揭密码学的面纱,看看里面的机关门道。
每当我们看到一个新鲜事物时,“这东西是什么,有什么用”这样的问题总是会最先浮现在我们的脑海里,诱惑着我们更进一步地去了解它。
那么,密码学是什么呢?它有什么用呢?这就是我们首先要讨论的事情。为了使问题更加直观,我们先从一个例子开始。

约个会能有多难?

我们先来做一个有趣的假设,假如马上要到七夕节了,河东的牛郎想要给河西的织女发一条信息,七夕相约鹊桥会。信息的内容是这样的:
织女:
七月初七晚七点,鹊桥相会。不见不散。
牛郎
可是,这封信该怎么送出去呢?银河又长又宽,两个人当然不能面对面地口头表达。这封信要想送给织女,只能通过中间媒介。传说中,有人认为这个中间媒介是喜鹊,也有人认为这个中间媒介是流星。反正不管怎么说,都没有证据表明,牛郎可以亲手把信交到织女手里。
不过,这次约会能不能成行,很大程度上就取决于这封信的送达能不能成功。特别是,银河这么长、这么宽,王母娘娘这么神通广大,这封信就更不好送了。
那么,牛郎和织女需要考虑哪些问题呢?

问题一:怎么证明双方的身份?

第一个问题,牛郎一定要确认,收信人是织女,而不是丈母娘王母娘娘。只有织女收到邀约,约会才有可能成功。换个正经的说法,就是牛郎要确认收信人的身份。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

密码学是一门研究信息安全的学科,通过牛郎织女约会的情景引出了信息安全传递中的一系列问题,如身份识别、信息保密、防篡改、及时送达和防止否认。作者指出,这些问题贯穿于现代信息技术的各个领域。学习密码学可以帮助人们理解并解决这些信息安全问题,从而更好地应用于现代信息技术中。密码学技术可以满足信息安全的基本需求,包括身份识别、认证、授权、信息的机密性、完整性和可用性。通过对称密码技术、单向散列函数和非对称密码技术的综合运用,可以提高系统的安全性。密码学是信息安全的核心技术,通过学习密码学,人们可以建立均衡考量信息安全基本需求的意识,并明确学会用好密码学的意义。 在牛郎织女面前都有连接互联网的电脑的情况下,如何摆脱信息安全问题并成功传递约会信息呢?这是一个需要深思熟虑的问题。在信息传递过程中,可以采用加密技术保护信息的机密性,使用数字签名确保信息的完整性和真实性,同时采取身份认证措施确认对方身份,以及使用安全的通信渠道来传递信息。然而,这些措施也可能带来新的问题,如密钥管理、安全协议的选择和实施等方面的挑战。因此,在解决信息安全问题的同时,需要综合考虑各种可能的缺陷和潜在的新问题,以确保约会信息的安全传递。 通过对密码学的学习和应用,人们可以更好地理解和解决信息安全问题,建立对信息安全基本需求的均衡考量意识,并明确密码学在现代信息技术中的重要意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《实用密码学》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(20)

  • 最新
  • 精选
  • TerryGoForIt
    这就是 HTTPS 所解决的问题呀,即三大问题:机密性、完整性和身份校验。机密性和完整性可以由密码套件来保障(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256),身份验证需要有 PKI(公钥基础设施)来参与保证。

    作者回复: 又是一个高手哎,欣喜又紧张。

    2020-11-25
    2
    13
  • 天蓬太帅
    看了一些同学写的方案,觉得可能忽略了一个前提。 如果采用非对称加密,则需要有一个对公钥确认的机制。除非双方在上次会面时一起生成了各自的密钥对,或者玉皇大帝有一个证书实名认证体系,否则相隔天河的两个人无法在没有第三方公信支持下建立认证所需的依据……

    作者回复: 这个理解比较深!公钥是需要查验的,也就是说要证明公钥持有者的身份需要额外的办法。同学们刚来,需要一段时间才能建立起来这个概念。

    2020-11-29
    6
  • 酱油悠酱
    问题四:怎么确保信件能收到? 老师你好,我的想法: 1. 感觉这并不是密码学的问题,而是通讯链路可用性的问题 2. 互联网最早的设计目标就是,在部分节点损害的情况下,消息仍然能够到达;但如果所有节点都损坏,那么消息仍然是无法到达的。

    作者回复: 是的,这并不是密码学的问题;不过密码学对于解决这个问题有帮助。

    2022-02-17
    1
  • 曙光
    老师,这六个纬度是不是不能解决,“问题五:怎么防止翻脸不认账?”。例如用户A收到一条消息,用户A可以用用户B的公钥解密出来,但也不能保证是B发给A的吧。

    作者回复: A可以使用B的公钥解密,也就是说数据是B加密的。不一定是发给A的,但是一定是B发的。

    2021-01-30
    2
    1
  • 许峰
    又(重新)发现了一个新的世界~ 大学选修过密码学历史

    作者回复: 一个小学科,也是一个大世界,欢迎跟着我们一起讨论密码学。

    2020-11-30
    1
  • Charlie Guo
    牛郎织女可以向所有人公开他们的公钥,牛郎拿到织女的公钥后可以把一个通钥用织女的公钥加密,然后发给织女,织女接到这个加密文件后可以用自己的私钥解密,得到这个通钥。之后牛郎织女只要用只有他们知道的通钥去加密解密传送文件就好了。

    作者回复: 调皮一点,加密数据也不用发“给织女”,满天的撒出去就行,王母娘娘收到都不怕。

    2020-11-24
    3
    1
  • 水蒸蛋
    牛郎织女用网络通信首先要建立密码本,可以用往事的点点滴滴来建立只有他们知道的密码本,这个事对称加密

    作者回复: 嗯,如果在多想一点:怎么保证牛郎侄女都有相同的密码本?而且可以同步使用密码本?

    2020-11-23
    1
  • 张翀
    请问老师有那种专门讲解 算法和对应漏洞以及解决方式的书籍吗?

    作者回复: 密码学的领域里,还没有见到过这样的书籍。可能是销量堪忧,没有人有动力写这样的书籍;或者是我看的书还太少。

    2022-02-16
  • 曙光
    “问题五:怎么防止翻脸不认账?” ,A用户发消息给B,B收到了,但如果B就是说自己没收到,A有什么办法防止B抵赖呢? ------------------------ 例如生产就有类似的问题,A系统发出去了,写了日志,B系统说没收到,最后查出的原因是网络不可达。但如果B真的是恶意抵赖,A怎么防止B抵赖。

    作者回复: 防止B抵赖,需要B的回执信息。

    2021-02-06
  • wrzgeek
    密码学知道的不多,现在能想到的是:在各自的电脑里应该都有证书用来验证身份的,然后双方通过非对称加密算法来交换对称秘钥,然后通过交换的对称秘钥加密传输的信息

    作者回复: 嗯,这些都是密码学的范畴。

    2020-12-03
收起评论
显示
设置
留言
20
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部