加密系统

密码系统是密码技术及其随附基础设施的实现,用于提供信息安全服务。 密码系统也称为密码系统

让我们讨论一个简单的密码系统模型,该模型为所传输的信息提供机密性。 这个基本模型如下图所示 −

加密系统

该图显示了发送者想要将一些敏感数据传输给接收者,从而使任何在通信通道上拦截或窃听的一方都无法提取数据。

这个简单密码系统的目标是在过程结束时,只有发送者和接收者会知道明文。

加密系统的组件

基本密码系统的各个组成部分如下 −

  • 明文。是传输过程中需要保护的数据。

  • 加密算法。这是一个数学过程,可为任何给定的明文和加密密钥生成密文。 它是一种密码算法,以明文和加密密钥作为输入并生成密文。

  • 密文。它是使用特定加密密钥的加密算法产生的明文的加扰版本。 密文不受保护。 它在公共频道上流动。 它可以被有权访问通信通道的任何人拦截或破坏。

  • 解密算法,这是一个数学过程,可为任何给定的密文和解密密钥生成唯一的明文。 它是一种密码算法,以密文和解密密钥作为输入,并输出明文。 解密算法本质上是加密算法的逆过程,因此与加密算法密切相关。

  • 加密密钥。它是发送者已知的值。 发送方将加密密钥与明文一起输入加密算法中,计算出密文。

  • 解密密钥。它是接收者已知的值。 解密密钥与加密密钥相关,但并不总是相同。 接收方将解密密钥与密文一起输入解密算法,计算出明文。

对于给定的密码系统,所有可能的解密密钥的集合称为密钥空间

拦截者(攻击者)是尝试确定明文的未经授权的实体。 他可以看到密文并且可能知道解密算法。 然而,他绝不能知道解密密钥。

加密系统的类型

从根本上来说,根据系统中执行加密解密的方式,有两种类型的密码系统 −

  • 对称密钥加密
  • 非对称密钥加密

这些密码系统之间的主要区别在于加密和解密密钥之间的关系。 从逻辑上讲,在任何密码系统中,两个密钥都是紧密相关的。 使用与加密密钥无关的密钥几乎不可能解密密文。

对称密钥加密

使用相同的密钥来加密和解密信息的加密过程称为对称密钥加密。

对称密码系统的研究称为对称密码学。 对称密码系统有时也称为密钥密码系统

对称密钥加密方法的一些著名示例是: 数字加密标准 (DES)、三重 DES (3DES)、IDEA 和 BLOWFISH。

对称密钥加密

1970 年之前,所有密码系统都采用对称密钥加密。 即使在今天,它的相关性仍然非常高,并且在许多密码系统中被广泛使用。 这种加密方式不太可能消失,因为它比非对称密钥加密具有一定的优势。

基于对称密钥加密的密码系统的显着特征是 −

  • 使用对称密钥加密的人必须在交换信息之前共享公共密钥。

  • 建议定期更改密钥,以防止系统受到任何攻击。

  • 需要存在一个强大的机制来在通信双方之间交换密钥。 由于需要定期更换密钥,这种机制变得昂贵且麻烦。

  • n人的群组中,要实现任意两个人之间的两方通信,该群组所需的密钥数量为 n × (n – 1)/2

  • 这种加密的密钥长度(位数)较小,因此加解密过程比非对称密钥加密更快。

  • 运行对称算法所需的计算机系统处理能力较低。

对称密钥密码系统的挑战

使用对称密钥加密有两个限制性挑战。

  • 密钥建立 − 在进行任何通信之前,发送方和接收方都需要就秘密对称密钥达成一致。 它需要一个安全的密钥建立机制。

  • 信任问题 − 由于发送者和接收者使用相同的对称密钥,因此隐含要求发送者和接收者彼此"信任"。 例如,可能会发生接收者将密钥丢失给攻击者而发送者没有得到通知的情况。

这两个挑战极大地限制了现代沟通。 今天,人们需要与不熟悉和不信任的各方交换信息。 例如,在线卖家和客户之间的通信。 对称密钥加密的这些局限性催生了非对称密钥加密方案。

非对称密钥加密

使用不同密钥来加密和解密信息的加密过程称为非对称密钥加密。 尽管密钥不同,但它们在数学上是相关的,因此通过解密密文来检索明文是可行的。 该过程如下图所示−

非对称密钥加密

非对称密钥加密是在 20 世纪发明的,旨在解决通信者之间预先共享密钥的必要性。 该加密方案的显着特点如下 −

  • 该系统中的每个用户都需要拥有一对不同的密钥,私钥公钥。 这些键在数学上是相关的 − 当使用一个密钥加密时,另一个密钥可以将密文解密回原始明文。

  • 它要求将公钥放在公共存储库中,并将私钥作为严格保密的秘密。 因此,这种加密方案也称为公钥加密

  • 虽然用户的公钥和私钥是相关的,但从计算上来说从另一个找到一个是不可行的。 这是该方案的优势。

  • Host1需要向Host2发送数据时,他从存储库中获取Host2的公钥,对数据进行加密, 并传输。

  • Host2 使用他的私钥提取明文。

  • 这种加密的密钥长度(位数)很大,因此加解密过程比对称密钥加密慢。

  • 运行非对称算法所需的计算机系统处理能力较高。

对称密码系统是一个自然的概念。 相比之下,公钥密码系统相当难以理解。

你可能会想,加密密钥和解密密钥如何"相关",但无法从加密密钥确定解密密钥?答案在于数学概念 。 设计一个其密钥具有此属性的密码系统是可能的。 公钥密码学的概念相对较新。 已知的公钥算法比对称算法少。

公钥密码系统的挑战

公钥密码系统面临一个重大挑战 − 用户需要相信他在与某人通信时使用的公钥确实是该人的公钥,并且没有被恶意第三方欺骗。

这通常是通过由受信任的第三方组成的公钥基础设施 (PKI) 来完成的。 第三方安全地管理和证明公钥的真实性。 当第三方被要求为任何通信者 X 提供公钥时,我们相信他们会提供正确的公钥。

第三方通过证明、公证或其他一些过程来确认用户身份 − X 是唯一的或全局唯一的 X。使经过验证的公钥可用的最常见方法是将它们嵌入到由受信任的第三方进行数字签名的证书中。

加密方案之间的关系

下面总结了两种类型密码系统的基本关键属性 −

对称密码系统 公钥加密系统
密钥之间的关系 相同 不同,但在数学上相关
加密密钥 对称 公开
解密密钥 对称 私人

由于两种系统各有优缺点,在实际的信息安全系统中,对称密钥和公钥密码系统常常结合使用。

柯克霍夫密码系统原理

在 19 世纪,荷兰密码学家 A. Kerckhoff 提出了良好密码系统的要求。 Kerckhoff 表示,即使系统的所有内容(除了密钥之外)都是公共知识,加密系统也应该是安全的。 Kerckhoff 为密码系统定义的六大设计原则是 −

  • 即使在数学上不是如此,密码系统实际上也应该是牢不可破的。

  • 密码系统落入入侵者手中不应导致系统受到任何损害,从而避免给用户带来任何不便。

  • 密钥应该易于沟通、记忆和更改。

  • 密文应该可以通过电报(一种不安全的通道)传输。

  • 加密装置和文件应便于携带且可由一个人操作。

  • 最后,系统必须易于使用,既不需要精神紧张,也不需要了解一系列要遵守的规则。

第二条规则目前称为Kerckhoff 原理。 它几乎应用于所有当代加密算法,例如 DES、AES 等。这些公共算法被认为是完全安全的。 加密消息的安全性仅取决于秘密加密密钥的安全性。

对算法保密可能会成为密码分析的一个重要障碍。 然而,只有在严格限制的范围内使用算法时,才可能使算法保密。

在现代,密码学需要迎合连接到互联网的用户。 在这种情况下,使用秘密算法是不可行的,因此 Kerckhoff 原理成为现代密码学中设计算法的基本准则。