Skip to content

smileboywtu/SEF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SEF

lisence language dialect

a symmetry encryption algorithm based on fountain code.

Feature

  • PKCS7 padding and depadding
  • symmetry
  • support key bits from 8 to - that's times of 8

Algorithm Design

this algorithm just use the bitwise xor to encrypt the message, but it cycle the key, and use a mask to cover the key, so it's really difficute to guess the start encrypt data block without know the key.

for a block data of 64 bits, the encrypt process start with the source block data on the first turn, but the second turn will base on the previous result. so if one want to decrypt the source data, he or she need to inverse key sequence used in encryption. start from the last turn, use all the inverse key.

for fast encrypting and decrypting data, the main algorithm use the static c types.

Encryption

encrypt process for a block of data with 8 bit key

Alt Text

Decryption

decrypt process for a block cliper with 8 bit key

Alt Text

Install

	python setup.py build_ext
	python setup.py install
	

Tester

requirements:

  • PyCrypto
  • gnuplot
  • matplotlib
  • cython
  • scipy

current tester:

  • key bits length tester
  • message length tester
  • common symmetric data encryption
  • binary tester, images, voice, video
  • encrypted data compress test(gzip)
  • snow breakdown test
./tester --help

Author

smileboywtu@gmail.com

About

a symmetry data encryption based on fountain code

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published