Skip to main content

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

Reason this release was yanked:

conflict issue

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.1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cryptoblocks64-0.0.1.tar.gz
  • Upload date:
  • Size: 4.3 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.1.tar.gz
Algorithm Hash digest
SHA256 bd0be55f361f91e2a283799884d5d0b0ed6b59b390287e87e96760cd07e409eb
MD5 c0e13cd941a36d3087de04c1b352eddf
BLAKE2b-256 6b598cb0edc1a92ea431917ef11f88db55008d45ac0b7ceb43114c7f14a3185f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cryptoblocks64-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 77a60a790ee742973ffb80b773506620ae5318db5dd9e95bffaca8bd319f9e18
MD5 9226c7657fbd4c2dbc164cb2141f3c73
BLAKE2b-256 4b6bac3dd37c2345936801f8fd6461d2e8c209245741959227424863465d36cb

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