密码协议学习笔记(1):密码协议引论与密码学基础

本博客主要参考书目为邱卫东的《密码协议基础》,本着知识共享的目的,博主自制了扫描版,下载地址

基本定义:

博主注:可信第三方(Trusted Third Party,TTP)

协议参与者诚实程度:

诚实参与者:

完全按照协议要求参与协议的执行.

半诚实参与者/被动攻击者/窃听者:

按照协议要求参与协议的执行,或者不参与协议(反正就是不提供非法输入),但会通过窃听方式获取自己不应知道的内容.

恶意攻击者:

拥有一个或多个伪装成参与者的"马甲",不仅窃听自己不应知道的内容,还会操控"马甲"提供非法输入以破坏协议的执行.

对于攻击者有更细致的分类:

静态攻击者:

在协议执行前,买通部分参与者作为自己的"马甲",协议开始后就不改变了.

动态攻击者:

协议执行过程中,通过协议的执行情况来决定买通哪些参与者作为"马甲".

移动攻击者:

比动态攻击者更强,被买通的"马甲"可随时转化为诚实参与者,诚实参与者也随时可能被买通变为它的"马甲".

攻击者能力:

无限计算能力:

在此类攻击下能保证安全的协议被称为信息论安全.

概念多项式计算能力(Probabilistic Polynomial Time,PPT):

在此类攻击下能保证安全的协议被称为密码学安全.

信道安全程度分类:

安全信道(secure channel):

诚实参与者之间的通信不会被窃听也不会被篡改.

非安全信道道(insecure channel)/认证的信道(authenticated channel):

诚实参与者之间的通信可能被窃听,但不会被篡改.

未认证的信道(unauthenticated channel):

完全被攻击者控制,通信会被窃听,也会被篡改.

博主注:这几个名字并不直观而且感觉怪怪的,在之后的表述中,博主会根据习惯将后两种信道称为可窃听信道可篡改信道.

密码学基础:

博主注:密码学中,"密码(cipher)"与"口令(password)"是两个应当区分的概念,前者的例子如c4d038b4bed09fdb1471ef51ec3a32cd,xNA4tL7Qn9sUce9R7DoyzQ==,后者的例子如abc123,admin.

对称密码体系:

加密与解密使用同一个密钥的密码体系.

非对称密码/公钥密码体系:

加密与解密使用不同密钥的密码体系,一般分为公钥与私钥,私钥可以计算出公钥,反之则在计算复杂度理论上不可行,公钥可以在可窃听信道上进行传输,私钥则只保存在本地或只通过安全信道传输.

在常见的场景下,公钥用于加密,私钥用于解密,私钥用于签名,公钥用于验证签名.

散列函数/哈希函数:

将任意长的字符串信息"摘要"为定长的16进制串的函数,并且很难从函数输出反推输入.

 

posted @ 2023-06-27 21:37  Isakovsky  阅读(137)  评论(0编辑  收藏  举报