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.1.tar.gz (13.2 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.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file selfpowerdecomposer-0.1.1.tar.gz.

File metadata

  • Download URL: selfpowerdecomposer-0.1.1.tar.gz
  • Upload date:
  • Size: 13.2 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.1.tar.gz
Algorithm Hash digest
SHA256 6184081b8badbcf4010a21126a301eb0c4ef7e4aea73f4aa6bdbfd13816b0511
MD5 e6a2e01bd562ad0cd9bfb827554bf1d1
BLAKE2b-256 c17a64ee3e189049dcbde8b22d50ce2bee4f67ac7898d29d32b0b6b3010900a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for selfpowerdecomposer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a202aee7411e700f4704ad67c72ed8f239d62a6865cd28429e8a32f3bf4ead22
MD5 2dde4748f0a953aff92afb2a6a4b93b5
BLAKE2b-256 79de8842e129d2bc130bf38dc514ecd2b2796f0b04996d0f1014d972f4f3563c

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