SelfPowerDecomposer
A Python package for large integer compression and secure encoding using self-power decomposition.
Description
SelfPowerDecomposer provides tools for compressing large integers using a novel approach based on self-power decomposition. It offers both standard compression and secure encoding options.
Features
- Efficient compression of large integers
- Secure encoding with key-based protection
- Binary file I/O utilities
- Various encoding/decoding utilities (delta, RLE, zigzag, varint)
Installation
pip install selfpowerdecomposer
Usage
Basic Compression
import selfpowerdecomposer
# Compress a large number
large_number = 123456789012345678901234567890
encoded_data = selfpowerdecomposer.encode_number(large_number)
# Decompress back to the original number
decoded_number = selfpowerdecomposer.decode_number(encoded_data)
print(f"Original: {large_number}")
print(f"Encoded size: {len(encoded_data)} bytes")
print(f"Decoded: {decoded_number}")
print(f"Match: {large_number == decoded_number}")
Secure Encoding
import selfpowerdecomposer
import random
# Generate a large number
large_number = 123456789012345678901234567890
# Securely encode with removed values (no placeholders)
encoded_data, removed_info = selfpowerdecomposer.secure_encode_number_no_placeholder(
large_number,
removal_count=5
)
# Save the removed info (this would be your "key")
selfpowerdecomposer.save_removed_info_no_placeholder(removed_info, "key.bin")
# Later, to decode:
removed_info = selfpowerdecomposer.load_removed_info_no_placeholder("key.bin")
decoded_number = selfpowerdecomposer.secure_decode_number_no_placeholder(encoded_data, removed_info)
print(f"Original: {large_number}")
print(f"Decoded: {decoded_number}")
print(f"Match: {large_number == decoded_number}")
Requirements
- Python 3.6+
- gmpy2
- numpy
- matplotlib (optional, for visualization)
License
MIT License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
selfpowerdecomposer-0.1.2.tar.gz
(13.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file selfpowerdecomposer-0.1.2.tar.gz.
File metadata
- Download URL: selfpowerdecomposer-0.1.2.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0179409892cb8c020a581b3b1ec6fa4a18fd42beab389780b60b6a71398186c
|
|
| MD5 |
e8c644cd1e230d8d53d2596e178db588
|
|
| BLAKE2b-256 |
ba00fd9c0b34c503f2ce9e2eacf16aaa729b05801c6e33b0c9210cf80b3d6640
|
File details
Details for the file selfpowerdecomposer-0.1.2-py3-none-any.whl.
File metadata
- Download URL: selfpowerdecomposer-0.1.2-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d339a3f045891a47e9c18d0f1acf8eb092f824cae768bef476b64f2d3ecf040f
|
|
| MD5 |
cf37e675d85e01155bb030f60d3029b3
|
|
| BLAKE2b-256 |
29be35f16bf7c768bea4e332bdf6027f60ebbcb8d00dfccfc4071a5463ebb141
|