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

Metadata

Release files for selfpowerdecomposer 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for selfpowerdecomposer 0.1.2
File Size Uploaded
selfpowerdecomposer-0.1.2.tar.gz 13.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for selfpowerdecomposer 0.1.2
File Interpreter ABI Platform
selfpowerdecomposer-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 28.7 kB

Release files / selfpowerdecomposer-0.1.2.tar.gz

Download URL selfpowerdecomposer-0.1.2.tar.gz
Size 13.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e0179409892cb8c020a581b3b1ec6fa4a18fd42beab389780b60b6a71398186c
BLAKE2b-256 checksum
How to use checksums
ba00fd9c0b34c503f2ce9e2eacf16aaa729b05801c6e33b0c9210cf80b3d6640
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / selfpowerdecomposer-0.1.2-py3-none-any.whl

Download URL selfpowerdecomposer-0.1.2-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d339a3f045891a47e9c18d0f1acf8eb092f824cae768bef476b64f2d3ecf040f
BLAKE2b-256 checksum
How to use checksums
29be35f16bf7c768bea4e332bdf6027f60ebbcb8d00dfccfc4071a5463ebb141
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page