首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pycrypto AES或其他算法解密中间数据块

使用pycrypto AES或其他算法解密中间数据块
EN

Stack Overflow用户
提问于 2011-11-25 03:05:57
回答 1查看 870关注 0票数 3

我正在寻找一种方法来使用pycrypto包中的加密算法,它允许我加密原始的大块数据,然后只解密这些数据的中间块。换句话说,从某个偏移量开始解密数据,而不是从偏移量0开始解密。

我已经尝试过AES,你可以在下面看到。但是,只有当我从解密数据的beg转到我真正需要解密的部分时,它才允许我正确地解密数据,而不是仅仅解密中间的数据块(当然是用正确的密钥),并跳过在这个中间块之前的解密部分。这对于节省时间和处理能力很重要。假设你有一个4 4GB的原始数据。在某个时间点,您只需要偏移量为3 3GB 3.5 3GB的数据。解密整个2 2GB的数据以获得所需的1 2GB数据块是浪费时间和资源……

这是所有加密/解密算法的本质吗?也许你可以推荐一些我想要的东西?它与密钥一起工作,并且非常安全。

代码语言:javascript
复制
    from Crypto.Cipher import AES

key = '0123456789abcdef' #16 chars
mode = AES.MODE_CBC

e = AES.new(key, mode)

orig = 'hellohowareyousuhellohowareyousu' #32 chars
print len(orig)

a = e.encrypt(orig)
print len(a)

d = AES.new(key, mode)

#works
print d.decrypt(a[:16]) #aes requires encrypt/decrypt 16 chars at a time
print d.decrypt(a[16:])

#doesn't work
print d.decrypt(a[16:])
EN

回答 1

Stack Overflow用户

发布于 2011-11-25 03:56:37

如果您使用CTR (counter)模式,则可以进行随机访问。

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

https://stackoverflow.com/questions/8261535

复制
相关文章

相似问题

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