Skip to main content

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)

Uploaded Source

Built Distribution

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

selfpowerdecomposer-0.1.2-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

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

Hashes for selfpowerdecomposer-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e0179409892cb8c020a581b3b1ec6fa4a18fd42beab389780b60b6a71398186c
MD5 e8c644cd1e230d8d53d2596e178db588
BLAKE2b-256 ba00fd9c0b34c503f2ce9e2eacf16aaa729b05801c6e33b0c9210cf80b3d6640

See more details on using hashes here.

File details

Details for the file selfpowerdecomposer-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for selfpowerdecomposer-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d339a3f045891a47e9c18d0f1acf8eb092f824cae768bef476b64f2d3ecf040f
MD5 cf37e675d85e01155bb030f60d3029b3
BLAKE2b-256 29be35f16bf7c768bea4e332bdf6027f60ebbcb8d00dfccfc4071a5463ebb141

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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