Skip to main content

Encrypt like a dragon: new method for securing data

Project description

Dragon-E

What is it?

Dragon-E (or just Dragon) is a simple but powerful library to encode messages. It relies on the end-user having the decryption key.

What does it look like?

Encoded messages will look something like this: 154:221:169:238:253:184:108:204:179:230:206:254:185:220:241:251:179:135:226:169:116:183:139:180:240:245:178:192:254:170:236:195:237:189:148:168:241:166:218:242:86:200:197:139:189:250:243:106:188:232:168:238:189:236:174:150 In this case, the original message was Dragon Encryption is a lightweight, easy to use package. and was encoded using the passkey AV3ry57r0nGp4Ssw0Rd!?.

What makes it so amazing?

  1. Unlike some other encryption methods, the encoded message's length is not dependent on the passkey's length. This makes it more difficult to guess the passcode.
  2. Every part of the passkey is important, meaning that you can't solve it all at once.
  3. The longer the message and passkey, the more difficult it is to decode.
  4. As of its 2.0.0 update, Dragon offers Image Encryption! This essentially encrypts the message using stealthencrypt and then transfers it into an image.
    • The resulting image is of type PIL.Image and is always square.

How can I download it?

pip install dragon-e

EXAMPLE

Encrypting

import dragon_e as de

important_info = de.encrypt("Don't share this info with anybody!", "V3ry57r0ngS3cuR17yK3Y")
with open('secret_file.dragon', 'w') as f:
    f.write(important_info)
import dragon_e as de

important_info = de.stealthencrypt("Don't share this info with anybody!", "V3ry57r0ngS3cuR17yK3Y")
# Stealth Encryption just removes the delimiters and can be decoded the exact same way as with delimiters.
with open('secret_file.dragon', 'w') as f:
    f.write(important_info)
import dragon_e as de

im = de.imageencrypt("Don't share this info with anybody!", "V3ry57r0ngS3cuR17yK3Y")
im.show()

The above code would display this image: which could be decrypted with imagedecrypt.

Decrypting

import dragon_e as de
f = open('secret_file.dragon', 'r')
super_secret = f.read()
f.close()
decrypted = de.decrypt(super_secret, "V3ry57r0ngS3cuR17yK3Y")
print("Decoded information: "+decrypted)
import dragon_e as de
decrypted = de.imagedecrypt("path/to/image.png", "V3ry57r0ngS3cuR17yK3Y")
print("Decoded information: "+decrypted)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dragon_e-2.0.2.tar.gz (90.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dragon_e-2.0.2-py3-none-any.whl (89.7 kB view details)

Uploaded Python 3

File details

Details for the file dragon_e-2.0.2.tar.gz.

File metadata

  • Download URL: dragon_e-2.0.2.tar.gz
  • Upload date:
  • Size: 90.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.5

File hashes

Hashes for dragon_e-2.0.2.tar.gz
Algorithm Hash digest
SHA256 38de9d36efd20c9f015b049c1aab95eb550d3b978504582c89a7266a85a7461c
MD5 0f7f8e23415d79a4f95c46220a4b4edc
BLAKE2b-256 67f58a7cd408d33200344005c1d9c5e3217671fcfb518861e04cf530d7d707fb

See more details on using hashes here.

File details

Details for the file dragon_e-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: dragon_e-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 89.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.5

File hashes

Hashes for dragon_e-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 54a7512574562d1c4ea7bec20eeef4b383d4fe394c8fc8b4737144f96a9d688f
MD5 e7f047498d6716a42a7b742bef6cc07f
BLAKE2b-256 e67d3a0c6d474004bffa0407f19515a09736a31323cc56f8318beacc1c4ae0c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page