我看到了使用RSA和AES实现FEA的原理图:
假设PKB是Bob的公钥,PKA是Alice的公钥,SKB是Bob的私钥,SKA是Alice的私钥,Ks是AES使用的会话密钥,IV是iniitialization向量,F是明文。
假设爱丽丝要给鲍勃发个口信:
C = E_{PKB}(Ks||IV) || E_{Ks}(F) || Sig_{SKA} (E_PKB(Ks||IV) || E_Ks(F))本密文由三个部分组成:
E_{PKB}(Ks||IV) - the RSA encrypted AES session key along with IV
E_{Ks}(F) - The AES encrypted plaintext file
Sig_{SKA} (E_PKB(Ks||IV) || E_Ks(F)) - The RSA signature当Bob收到消息时,他将验证并解密密文。
这是非常有意义的,除了IV。我不知道在这种情况下IV是用来做什么的。看来,IV只是与会话密钥连接在一起。这如何有用,以及Bob在解密会话密钥时如何处理IV?这能提供什么额外的安全保障?这就是我的教授在谈论RSA时提出的原理图。可能根本不需要第四节。
发布于 2015-03-13 22:28:49
假设AES用于除欧洲央行以外的任何模式,则IV用于AES加密(实际加密是E_{Ks,IV}(F),而不仅仅是E_{Ks}(F))。除了欧洲央行模式之外,我所知道的AES的每一种操作模式都需要一个初始化向量,它根据模式的不同用于不同的事情(在CTR中,它用于生成密钥流;在CBC中,它是带有第一个明文的XORed,等等)。现在,IV不需要是秘密的,所以您可以将它连接到整个消息;我不知道为什么它是用RSA加密的,而不是
C = E_{PKB}(Ks) || IV || E_{Ks,IV}(F) || Sig_{SKA} (E_PKB(Ks) || IV || E_{Ks,IV}(F))但这就是为什么它首先存在的原因。
https://security.stackexchange.com/questions/83736
复制相似问题