美文网首页
IRSDP 读书笔记 - 2. Basic Abstractio

IRSDP 读书笔记 - 2. Basic Abstractio

作者: 袁世超 | 来源:发表于2018-12-18 21:21 被阅读8次

    《Introduction to Reliable and Secure Distributed Programming》

    2.3 Cryptographic Abstractions

    当分布式算法运行在非可信环境时,可以通过密码操作保护消息。基本的 cryptographic primitives 包括:hash functionsMACsdigital signatures

    所有的 process 需要预先持有密码操作所需的 key,关于 key 的管理分发,本书不会讨论。

    2.3.1 Hash Functions

    hash function 将任意长度的字符串映射为比较短的唯一的表示。我们用 H 表示这个函数,x 表示任意长度的字符串,h 表示返回的值,如果找不到两个不同的 xx' 使得 H(x) = H(x'),那么称这个 hash function 是 collision-free 的。

    2.3.2 Message-Authentication Codes(MACs)

    message-authentication code (MAC) 基于一个共享对称密钥,仅仅消息的发送方和接收方知道这个密钥,发送方计算的消息的 authenticator,附加在消息上一起发送给接收方,接收方可以通过收到的 authenticator 验证消息是否是发送方签发的。

    在本书中,我们假设每对 Π × Π process 分别持有共享的对称密钥,发送方通过 authenticate(p, q, m) 方法获取 authenticator a,接收方通过 verifyauth(q, p, m, a) 方法验证消息。

    2.3.3 Digital Signatures

    digital signature scheme 为系统中的多方提供数据认证,而且系统不需要预先共享信息。

    系统中的每一方拥有一对公钥和私钥,私钥自己持有,公钥对系统开放,并且公钥跟 identity 关联。

    p 通过 sign(p, m) 方法对消息进行签名 sq 就可以通过 verifysig(q, m, s) 方法验证消息。

    digital signature 相比于 MAC 提供了更强大的数据认证功能,即使是不可信的第三方也可以验证消息。

    相关文章

      网友评论

          本文标题:IRSDP 读书笔记 - 2. Basic Abstractio

          本文链接:https://www.haomeiwen.com/subject/zmhckqtx.html