- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在基于AES构建文件加密,必须能够在随机访问模式下工作(访问文件的任何部分)。例如,可以使用Counter中的AES,但众所周知,我们需要一个从未使用过两次的唯一序列。
在这种情况下,可以使用简化的Fortuna PRNG(使用针对特定文件的随机选择的唯一 key 对计数器进行加密)吗?这种方法是否有弱点?
所以加密/解密看起来像这样
偏移处的块加密:
rndsubseq = AESEnc(Offset, FileUniqueKey)
xoredplaintext = plaintext xor rndsubseq
ciphertext = AESEnc(xoredplaintext, PasswordBasedKey)
rndsubseq = AESEnc(Offset, FileUniqueKey)
xoredplaintext = AESDec(ciphertext, PasswordBasedKey)
plaintext = xoredplaintext xor rndsubseq
最佳答案
我认为您可能想查看“可调整的分组密码”的工作原理,并看看如何解决光盘加密问题:Disk encryption theory。加密整个磁盘与您的问题类似:每个扇区的加密必须独立进行(您希望以不同的偏移量对数据进行独立加密),但是整个过程必须是安全的。在这方面有很多工作要做。维基百科似乎提供了很好的概述。
编辑添加:
重新编辑:是的,您正在尝试通过对明文与明文进行XOR来从AES中做出明文。更具体地说,您具有Enc(T,K,M)= AES(K,f(T)xor M),其中AES(K,...)表示使用 key K进行AES加密,而f(T)是调整(在您的情况下,我猜是Fortuna)。我简要介绍了您提到的论文,据我所知,有可能表明该方法不会产生安全的可调整分组密码。
这个想法(基于Liskov,Rivest,Wagner论文第2节的定义)如下。我们可以访问加密oracle或随机排列,我们想告诉我们正在与哪个交互。我们可以设置调整T和明文M,然后获取相应的密文,但我们不知道所使用的 key 。这是如何确定我们是否使用构造AES(K,f(T)xor M)的方法。
选择任意两个不同的值T,T',计算f(T),f(T')。选择任意一条消息M,然后计算第二条消息为M'= M xor f(T)xor f(T')。现在,要求加密预言家使用调整T加密M,并使用调整T'加密M'。如果我们考虑考虑的结构,输出将是相同的。如果我们处理随机排列,则输出几乎可以肯定(概率为1-2 ^ -128)是不同的。那是因为AES加密的两个输入将是相同的,因此密文也将是相同的。当我们使用随机置换时,情况并非如此,因为两个输出相同的概率为2 ^ -128。最重要的是,对输入进行微调可能不是安全的方法。
本文提供了一些示例,说明它们可以证明是安全的构造。最简单的一个似乎是Enc(T,K,M)= AES(K,T x或AES(K,M))。每个块需要两个加密,但是它们证明了此构造的安全性。他们还提到了更快的变体,但是它们需要附加的原语(几乎是xor通用的函数族)。
关于security - 使用Fortuna PRNG :在计数器模式下使用AES进行随机访问加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1459360/
本文整理了Java中net.fortuna.ical4j.model.ZoneOffsetAdapter类的一些代码示例,展示了ZoneOffsetAdapter类的具体用法。这些代码示例主要来源于G
本文整理了Java中net.fortuna.ical4j.model.component.XComponent类的一些代码示例,展示了XComponent类的具体用法。这些代码示例主要来源于Githu
本文整理了Java中net.fortuna.ical4j.model.ZoneOffsetAdapter.from()方法的一些代码示例,展示了ZoneOffsetAdapter.from()的具体用
本文整理了Java中net.fortuna.ical4j.model.ZoneOffsetAdapter.getOffset()方法的一些代码示例,展示了ZoneOffsetAdapter.getOf
本文整理了Java中net.fortuna.ical4j.model.ZoneOffsetAdapter.toString()方法的一些代码示例,展示了ZoneOffsetAdapter.toStri
本文整理了Java中net.fortuna.ical4j.model.component.XComponent.()方法的一些代码示例,展示了XComponent.()的具体用法。这些代码示例主要来源
本文整理了Java中net.fortuna.ical4j.model.component.XComponent.getName()方法的一些代码示例,展示了XComponent.getName()的具
本文整理了Java中net.fortuna.ical4j.model.component.XComponent.validateProperties()方法的一些代码示例,展示了XComponent.
我正在使用 iCal4J 向 MS Outlook 发送约会,效果很好,约会正在进行中。但是我的控制台显示以下内容: Oct 24, 2013 9:53:57 AM net.fortuna.ical4
我们通过 maven 使用ical4j。浏览时 mvnrepository ,我发现 org.mnode.ical4j 作为 Maven 中央存储库中最常用的 ical4j 库,并且它有最新版本。尽管
我是一名优秀的程序员,十分优秀!