---
name: "libkeccak_spec_cshake"
section: "3"
platform: "linux"
package: "libkeccak"
version: "1.4.3-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libkeccak_spec_cshake"
---

# libkeccak\_spec\_cshake(3)

Configure cSHAKE hashing parameters

## NAME

libkeccak\_spec\_cshake - Configure cSHAKE hashing parameters

## SYNOPSIS

```
#include <libkeccak.h>
void libkeccak_spec_cshake(struct libkeccak_spec *spec, long int x, long int d);
```

Link with *-lkeccak*.

## DESCRIPTION

The **libkeccak\_spec\_cshake**() function sets *\*spec* to specify the Keccak parameters used for cSHAKE hashing with the semicapacity specified, in bits, via the *x* parameter, and the output size specified, in bits, via the *d* parameter.

## RETURN VALUES

The **libkeccak\_spec\_cshake**() function does not return any value.

## ERRORS

The **libkeccak\_spec\_cshake**() function cannot fail.

## EXAMPLE

This example configure a **struct libkeccak\_spec** to specify the Keccak parameters used for cSHAKE256(, 512):

```
struct libkeccak_spec spec;
libkeccak_spec_cshake(&spec, 256, 512);
```

## SEE ALSO

[**libkeccak\_spec\_sha3**(3)](/libkeccak_spec_sha3/3.md), [**libkeccak\_spec\_shake**(3)](/libkeccak_spec_shake/3.md), [**libkeccak\_spec\_rawshake**(3)](/libkeccak_spec_rawshake/3.md), [**libkeccak\_spec\_check**(3)](/libkeccak_spec_check/3.md), [**libkeccak\_generalised\_spec\_initialise**(3)](/libkeccak_generalised_spec_initialise/3.md), [**libkeccak\_state\_initialise**(3)](/libkeccak_state_initialise/3.md), [**libkeccak\_hmac\_initialise**(3)](/libkeccak_hmac_initialise/3.md)
