首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化向量在文件加密与认证(FEA)中的应用

初始化向量在文件加密与认证(FEA)中的应用
EN

Security用户
提问于 2015-03-13 22:14:07
回答 1查看 239关注 0票数 2

我看到了使用RSA和AES实现FEA的原理图:

假设PKB是Bob的公钥,PKA是Alice的公钥,SKB是Bob的私钥,SKA是Alice的私钥,Ks是AES使用的会话密钥,IV是iniitialization向量,F是明文。

假设爱丽丝要给鲍勃发个口信:

代码语言:javascript
复制
C = E_{PKB}(Ks||IV) || E_{Ks}(F) || Sig_{SKA} (E_PKB(Ks||IV) || E_Ks(F))

本密文由三个部分组成:

代码语言:javascript
复制
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时提出的原理图。可能根本不需要第四节。

EN

回答 1

Security用户

回答已采纳

发布于 2015-03-13 22:28:49

假设AES用于除欧洲央行以外的任何模式,则IV用于AES加密(实际加密是E_{Ks,IV}(F),而不仅仅是E_{Ks}(F))。除了欧洲央行模式之外,我所知道的AES的每一种操作模式都需要一个初始化向量,它根据模式的不同用于不同的事情(在CTR中,它用于生成密钥流;在CBC中,它是带有第一个明文的XORed,等等)。现在,IV不需要是秘密的,所以您可以将它连接到整个消息;我不知道为什么它是用RSA加密的,而不是

代码语言:javascript
复制
C = E_{PKB}(Ks) || IV || E_{Ks,IV}(F) || Sig_{SKA} (E_PKB(Ks) || IV || E_{Ks,IV}(F))

但这就是为什么它首先存在的原因。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/83736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档