Skip to main content

Large integer compression and secure encoding using self-power decomposition

Project description

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

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

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.

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