简单游戏带来的启发
- 协议:是一个适当定义的、在多个参与实体之间执行的规程。如果一个规程仅有一个实体执行,那么它只是一种程序,不能称之为协议。
- 单向函数的存在性意味着安全密码系统的存在性。
- 单向性在日常生活中非常常见。很多事件的逆向很困难。
- 有时候,隐含的约定或假设可能是非常微妙的,并可能会带来意想不到的后果。安全系统中一个假定的不成立,可能会招致某种形式的攻击,并因而导致所提供多的服务称为泡影。
- 在开放的计算机和通信网络中保证安全通信,采用密码学是一种有效而且唯一可行的办法。密码协议正是以密码技术“武装”的通信程序,因而具有保护功能,保持通信的正常秩序。
描述密码系统和协议的准则
- 在通信中,并非采用大量的重量级密码技术来设计安全系统就可以实现更强的安全性,因为这样做可能会要求更强的安全性假设,并导致更加复杂的系统,复杂的系统还会增加安全性分析和安全实现的困难,以及在运行和维护上更高的费用支出。所以设计密码或安全系统的一项更重要和更具挑战性的工作是,仅采用必不可少的技术来实现足够的安全保护。例如MicriMint这个微支付方案即才用了众所周知的、低效率的加密算法,但由于他的设想很精妙,所以此方案非常适合。
- 证明本身就是一个或一系列高效的数学变换,从对算法的一种攻击变为困难问题的一种解法。这种高效变换称为规约,即把对算法的攻击“规约”为解困难问题。
- “矛盾规约”:某个困难问题是易解的。
- 形式化的可证明安全性,特别是在各种强力攻击即适应性攻击模型下,是评价一个密码算法和协议“好坏”的重要标准。我们将采用适用安全性来命名在各种强力攻击模型下通过形式化和矛盾规约方法所建立起来的安全性的质量。
- 一个密码算法一方面应该设计成容易处理的,以便能被合法用户使用;另一方面还应该是困难的,以便对非用户和攻击者构成一个要解的困难问题。
- 密码算法是“好的”的一个重要准则是,对合法用户来说它应该是实用高效的。
- 一个密码协议不仅是一个算法,也是一个通信过程,该过程包含不同协议参与者在一组约定规则下通过计算机网络进行的消息传递。
- 一个安全系统要通过和环境的交互来运行,因而有一组由所在环境必须满足的要求,这些要求 称之为系统运行的 假定(或前提)。