Skip to main content

A collection of common cryptography related functions but in B64 operation format

Reason this release was yanked:

conflict

Project description

Crypto Blocks is a simple package that consists of various fundamental functions for building cryptogaphic algorithms.

It provides:

  • Various general functions required for creating your own Cryptographic algorithm.
  • Functions are Classified into classes for ease of use.
  • instead of operating on a single bit this edition works in B64 style (instead of {0 or 1} its {0,....,63} values per element)
  • Provides easy encoding conversion,S&P Box generation,and many more functions

The Structure:

There are total 4 main classes which are:

  • Convert
  • Padding
  • Process
  • Generate

Convert:

consists of various datatype and encoding conversion functions

function description code example
string_to_b64 converts input string to URL-Safe Base64 encoded string. encoded_string = cb.convert.string_to_b64(string1)
b64_to_string converts only Base64 encoded string back UTF-8 encoded string. original_string = cb.convert.b64_to_string(encoded_string)
string_to_array converts base64 string to int array with value range 0-63. array = cb.convert.string_to_array(encoded_string)
array_to_string converts int array with value range 0-63 back to UTF-8 string. encoded_string = cb.convert.string_to_array(array)

Padding:

consists of array padding and removing function. works in PKCS style.

function description code example
pad padd's the array in PKCS standard to lenght specified by user. array_with_padding = cb.padding.pad(array_without_padding,block_size)
pad_REMOVE removes the padding from the array. array_without_padding = cb.padding.pad_REMOVE(array_with_padding)

Process:

consists of general cryptography related math functions.

function description code example
XOR_array performs XOR between two arrays of same length. XOR_of_arrays = cb.process.XOR_array(array1,array2)
ADD_array performs ADD between (array1,array2) of same lengh with (mod 64). ADD_of_arrays = cb.process.ADD_array(array1,array2)
shift performs shift operation on array in left or right direction by specified amount. shifted_array = cb.process.shift(array1,shiftamount,direction)
s_box performs substititution on the array with reference from sbox array. substituted_array = cb.process.s_box(array1,s_box)
p_box performs permutation on the array with reference from pbox array. permutated_array = cb.process.p_box(array1,p_box)
swap_half swaps the two half in the array (use shift if you want to swat at custom position). swapped_array = cb.process.swap_half(array1)

Gnerate:

consists of tools to generate string,arrays and S&P Box generators with cryptographically secure methods.

function description code example
box_generate generates an array of size mentioned with elements from {0,size-1} in random order and also returns its inverse. s_box,inv_s_box=cb.generate.box_generate(boxsize)
string_generate generates a string of mentiond size with random base64 characters random_string=cb.generate.string_generate(stringsize)
array_generate generates a numpy array of lenght (size) with value between {0,63}. random_array=cb.generate.array_generate(arraysize)

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

cryptoblocks64-0.0.2.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

cryptoblocks64-0.0.2-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file cryptoblocks64-0.0.2.tar.gz.

File metadata

  • Download URL: cryptoblocks64-0.0.2.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for cryptoblocks64-0.0.2.tar.gz
Algorithm Hash digest
SHA256 20deb4258e668bd95cfccf03c373a7f513e738d0864726e77b748d53c4127897
MD5 3dff01e8a7f1fff42b5df3df2f36e9ce
BLAKE2b-256 609ef8cde7c0c649527e626120b41b093d83f5200f1fa22fe4424038fbe53b13

See more details on using hashes here.

File details

Details for the file cryptoblocks64-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: cryptoblocks64-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for cryptoblocks64-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d6eb9eebfcddfa247cfad246f8f6bb6cf841ce6ad8a62e9444142687238e0d02
MD5 fbb7a8b6690a92b0ec7fa1a6a6a4492d
BLAKE2b-256 c132a568b99692671c1d4bfd8c00857bc0bc752c432abe546eb25a07b5a490f0

See more details on using hashes here.

Supported by

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