下面是上下文:为了将FATCA数据传输到美国IRS服务,IDES协议定义了以下步骤
Payload.xml文件、使用RSA私钥的SHA-256签名签名为Payload-signed.xml。Payload-signed.xml文件打包到zip文件Payload.zip中。Payload.zip加密Zip存档PayloadKey交换Key和加密的Zip文件Payload问题:
Payload.zip公开密钥设计为交换?发布于 2015-06-29 14:02:31
由于该算法的工作方式,RSA不能“加密”大于密钥大小的数据。当使用填充时,这个大小会进一步下降-例如,对于PKCS#1填充,您只能加密(k/8) - 11字节的消息,其中k是您的密钥大小(以位为单位)。
扩展到处理任意大小的消息是不可行的,因为长RSA密钥的额外成本。作为其他地方提到的,RSA的加密性能是二次型的(即密钥长度加倍会导致密钥长度增加4倍)和三次解密(即密钥长度加倍会使密钥长度增加8倍)。因此,如果您想要使用足够长的密钥来加密,例如,16 as的数据,那么您需要一个131072位的密钥,它在解密时所花费的时间是2048位密钥上的相同操作的262144倍。这根本不符合比例。
他们在规范中所指的是一种混合密码系统,它使用对称密码(例如AES)加密数据,然后用RSA加密其密钥。这提供了非对称密码的共享属性(例如,任何人都能够创建消息,但只有私钥所有者能够解密消息),而不使用可笑的巨大非对称密钥,这会破坏性能。
发布于 2019-11-12 22:06:40
是否有任何安全原因不直接加密的Payload.zip公开密钥设计为交换?
从技术上讲,人们可以使用RSA作为分组密码(如AES),以(密钥大小填充)长度的块加密数据,并使用操作方式安全地将相同的算法应用于多个数据块。然而,这将是非常缓慢的。在计算上,RSA是一种极其昂贵的操作,特别是如果您使用的密钥在未来几十年内都是安全的(通常您必须这样做,因为公钥当然是公共的;除非数据在很短的时间内是没有价值的,否则您需要使用长度相当昂贵的密钥)。幸运的是,从来没有必要这样做。每个广泛使用的依赖RSA加密的系统都是混合密码体制,它使用昂贵的非对称密码(如RSA)来安全地交换一个强大的、廉价的、通常是短暂的(单次使用)对称密钥(如AES)。因此,昂贵的RSA操作只需执行一次(两端),其余的操作可以使用对称算法完成,这种算法不仅在软件上速度更快,而且常常可以被现代硬件加速。
如何比较RSA加密的安全性(非常小) 32字节( AES密钥)文件和更大的Zip文件?
32字节(256位)听起来可能很短,但这么多纯粹的熵(随机性)就足以保证从现在到宇宙的热死这段时间,一个ZIP文件的长度是安全的,即使你把所有的地球都变成CPU,并以某种方式为它们供电那么长时间。2^256 --这种键的可能值的数目--是一个非常大的数字;您可能只需使用256位就可以为可观测宇宙中的每个原子分配一个唯一的值。
几乎任何RSA密钥实际上都会比它弱得多。与AES密钥不同,RSA密钥绝不接近100%熵;大多数给定长度的数字都不是有效密钥。一个有效的RSA密钥需要是两个非常大的素数的乘积。大多数大的数字都有两个以上的素因子(而且比例越大越糟),因此要获得两倍的熵(可能的有效密钥数量是可能的有效密钥的两倍),您需要使RSA密钥的长度大大超过原来的两倍。要获得与256位AES密钥相同的熵,您需要大约17000位的RSA密钥。
https://security.stackexchange.com/questions/92670
复制相似问题