可交换加密(Commutative Encryption)

可交换加密(Commutative Encryption)

如果一个加密算法是 commutative 的,那么

可交换加密(Commutative Encryption)

另外,我们可以很容易地算出

可交换加密(Commutative Encryption)

大多数对称加密方案(如DES和AES)都不是 commutative 的。

1、SRA

SRA(Shamir、Rivest 和 Adleman。RSA 密码系统的创造者)是一种经典的通信加密。

假设 Alice 和 Bob 共享两个大素数 p,q 并计算相同的半素数 n=pq。

  • Alice 生成她的加密密钥e1 和解密密钥 d1,有可交换加密(Commutative Encryption)。 
  • Bob 生成他的加密密钥e2 和解密密钥 d2,有可交换加密(Commutative Encryption)。 
  • 然后用 d1,d2 解密可以脱离 e1,e2 的加密顺序。

这就是 SRA 交换加密。

SRA非常像RSA,除了它是对称的,因为加密密钥 e1,e2 应该是私有的,而RSA是一个公钥密码系统。

Pohlig-Hellman exponential cipher

Pohlig-Hellman 指数密码是另一种通信加密方案。但是,它也非常像 SRA。提醒 SRA 使用模 n=pq ,而 Pohlig-Hellman 使用素数。与 SRA 一样,加密密钥和解密密钥都应该保密。

Pohlig-Hellman 的安全性基于离散对数问题,因此应该确保素数模数 p足够大,并且 φ(p)=p-1 有尽可能少的小因子(一个简单的方法:选择 p 使得 (p-1)/2 也是素数)。

Pohlig-Hellman 的性能很差,因为模数总是很大,比如 2048 位。另一方面,它是一种确定性方案,这意味着它在语义上不安全(回想一下,确定性加密永远不可能是 IND-CPA 安全的)。因此,Pohlig-Hellman 在实践中很少见.

算法步骤:

可交换加密(Commutative Encryption)

 

上一篇:Non-matching values for modulus and p*q in RSA encryption


下一篇:CF999B Reversing Encryption 题解