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.0.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.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: selfpowerdecomposer-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 fefb1b4473a64d9e7764fcc6ea260ffda864ed8c05310f75e698719132605e76
MD5 d5d57ba76a2d1692bc13b871aad5caf3
BLAKE2b-256 5aae2bf4ebab7c757643599a2331855fe608ff048e33fefe6547397cf18afa28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for selfpowerdecomposer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8797386df3527f856eaec3457401de5cfb22f2788c50e1a8853d4d1766233d6
MD5 fdd6da900c1558a6c0f7343463cd05ba
BLAKE2b-256 5ae76ecc55bb06f688fb4d1e07269bb957f6296775e784ec730f79ce66e97641

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