QSC Post Quantum Cryptographic Library 1.0.0.6c (A6)
A post quantum secure library written in Ansi C
 
Loading...
Searching...
No Matches
transpose.h File Reference

String and array transposition functions. More...

#include "common.h"
#include "intutils.h"

Go to the source code of this file.

Functions

QSC_EXPORT_API void qsc_transpose_bytes_to_native (uint32_t *output, const uint8_t *input, size_t length)
 Convert 32-bit integers in big-endian format to 8-bit integers.
 
QSC_EXPORT_API void qsc_transpose_hex_to_bin (uint8_t *output, const char *input, size_t length)
 Convert a hexadecimal string to a decimal 8-bit array.
 
QSC_EXPORT_API void qsc_transpose_native_to_bytes (uint8_t *output, const uint32_t *input, size_t length)
 Convert 8-bit integers to 32-bit integers in big-endian format.
 
QSC_EXPORT_API void qsc_transpose_string_to_scalar (uint32_t *output, const char *input, size_t length)
 Convert a 8-bit character array to zero padded 32-bit scalar integers.
 

Detailed Description

String and array transposition functions.

This header provides functions to convert between different representations of integer arrays and strings. It includes functions for converting:

  • 32-bit integers in big-endian format to native 32-bit integers.
  • Hexadecimal strings to binary arrays.
  • Native 32-bit integers to byte arrays in big-endian format.
  • 8-bit character arrays to zero-padded 32-bit scalar integers.
// Example: Convert a hexadecimal string to a binary array.
const char* hex_str = "1a2b3c4d";
uint8_t binary[4];
qsc_transpose_hex_to_bin(binary, hex_str, 8);
QSC_EXPORT_API void qsc_transpose_hex_to_bin(uint8_t *output, const char *input, size_t length)
Convert a hexadecimal string to a decimal 8-bit array.
Definition transpose.c:21

Reference Links:

\keywords transpose, conversion, big-endian, hexadecimal, string, integer, utility

Function Documentation

◆ qsc_transpose_bytes_to_native()

QSC_EXPORT_API void qsc_transpose_bytes_to_native ( uint32_t * output,
const uint8_t * input,
size_t length )

Convert 32-bit integers in big-endian format to 8-bit integers.

Parameters
output[uint32_t*] Pointer to the output 8-bit integer array
input[const uint8_t*] Pointer to the input 8-bit character array
length[size_t] The number of 8-bit integers to convert

◆ qsc_transpose_hex_to_bin()

QSC_EXPORT_API void qsc_transpose_hex_to_bin ( uint8_t * output,
const char * input,
size_t length )

Convert a hexadecimal string to a decimal 8-bit array.

Parameters
output[uint8_t*] Pointer to the output 8-bit integer array
input[const char*] Pointer to the input 8-bit character array
length[size_t] The number of hex characters to convert

◆ qsc_transpose_native_to_bytes()

QSC_EXPORT_API void qsc_transpose_native_to_bytes ( uint8_t * output,
const uint32_t * input,
size_t length )

Convert 8-bit integers to 32-bit integers in big-endian format.

Parameters
output[uint8_t*] Pointer to the output 8-bit integer array
input[const uint32_t*] Pointer to the input 8-bit character array
length[size_t] The number of 8-bit integers to convert

◆ qsc_transpose_string_to_scalar()

QSC_EXPORT_API void qsc_transpose_string_to_scalar ( uint32_t * output,
const char * input,
size_t length )

Convert a 8-bit character array to zero padded 32-bit scalar integers.

Parameters
output[uint32_t*] Pointer to the output 32-bit integer array
input[const char*] Pointer to the input 8-bit character array
length[size_t] The number of 8-bit integers to convert