Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #93229

Re: Pure Python Data Mangling or Encrypting

From Peter Otten <__peter__@web.de>
Subject Re: Pure Python Data Mangling or Encrypting
Date 2015-06-27 10:29 +0200
Organization None
References <mmcagn$aa5$1@ger.gmane.org>
Newsgroups comp.lang.python
Message-ID <mailman.129.1435393759.3674.python-list@python.org> (permalink)

Show all headers | View raw


Randall Smith wrote:

> Chunks of data (about 2MB) are to be stored on machines using a
> peer-to-peer protocol.  The recipient of these chunks can't assume that
> the payload is benign.  While the data senders are supposed to encrypt
> data, that's not guaranteed, and I'd like to protect the recipient
> against exposure to nefarious data by mangling or encrypting the data
> before it is written to disk.
> 
> My original idea was for the recipient to encrypt using AES.  But I want
> to keep this software pure Python "batteries included" and not require
> installation of other platform-dependent software.  Pure Python AES and
> even DES are just way too slow.  I don't know that I really need
> encryption here, but some type of fast mangling algorithm where a bad
> actor sending a payload can't guess the output ahead of time.
> 
> Any ideas are appreciated.  Thanks.

Would it be sufficient to prepend the chunk with one block, say, of random 
data? To unmangle you'd just strip off that block.

BLOCK = os.urandom(BLOCKSIZE)

def mangle(source, dest):
    dest.write(BLOCK)
    shutil.copyfileobj(source, dest)

def unmangle(source, dest):
    source.read(BLOCKSIZE)
    shutil.copyfileobj(source, dest)

Disclaimer: I did not follow the ongoing discussion.

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Pure Python Data Mangling or Encrypting Peter Otten <__peter__@web.de> - 2015-06-27 10:29 +0200

csiph-web