CLEVIS-ENCRYPT-SSS(1)
π CLEVIS-ENCRYPT-SSS π
okay so bestie, welcome to clevis-encrypt-sss(1) β the manual page for clevis-encrypt-sss, aka the Shamir's Secret Sharing girlie. this one is genuinely iconic, like she's the friend who organizes the whole group chat. let's get into it π«Ά
β¨ NAME β¨
clevis-encrypt-sss β encrypts using a Shamir's Secret Sharing policy
like. that's her whole thing. she encrypts stuff, but with β¨mathβ¨ and β¨trustβ¨ instead of just one key.
πΈ SYNOPSIS πΈ
clevis encrypt sss CONFIG [-y] < PT > JWE
read it, love it, memorize it. CONFIG goes in, ciphertext comes out, it's giving pipeline core π
π¦ OVERVIEW π¦
so the clevis encrypt sss command does the encryption using a Shamir's Secret Sharing policy. its only argument is that JSON configuration object. that's it. one arg. she's low maintenance actually.
now let me tell you about Shamir's Secret Sharing (SSS) because it's genuinely so cool. SSS is the way you mix pins together to build sophisticated unlocking policies and high-availability setups. no cap.
SSS is a thresholding scheme. here's the vibe: it creates a key and divides it into a bunch of pieces. each piece gets encrypted using another pin β and yes, that pin could literally be SSS again, recursively, it's giving inception π. on top of all that, you define the threshold t. and if at least t pieces can be decrypted, then the encryption key can be recovered and decryption succeeds. periodt.
for example, bestie, let's cook up a high-availability setup using Tang:
$ cfg='{"t":1,"pins":{"tang":[{"url":...},{"url":...}]}}'
$ clevis encrypt sss "$cfg" < PT > JWE
so in this policy we're declaring a threshold of 1, but there are multiple key fragments encrypted using different Tang servers. and since our threshold is 1? as long as any of those Tang servers is available, decryption will succeed. main character availability energy honestly π
and as always, decryption is simply:
$ clevis decrypt < JWE > PT
π CONFIG π
this command uses the following configuration properties:
t(integer) β number of pins required for decryption (REQUIRED)pins(object) β pins used for encrypting fragments (REQUIRED)
yeah both of them are required, no skipping, not optional, don't even try it π
the format of the pins property is as follows:
{PIN:CFG,...} OR {PIN:[CFG,CFG,...],...}
and here's the tea: when you use the list version of that format, multiple pins of that type will receive key fragments. so one pin type, many fragments, she's generous π
π OPTIONS π
-yβ automatically answer yes for all questions. for thetangpin, it will skip the advertisement trust check, which can be useful in automated deployments:
$ cfg='{"t":1,"pins":{"tang":[{"url":...},{"url":...}]}}'
$ clevis encrypt sss "$cfg" -y < PT > JWE
just so we're clear bestie:-y= auto-yes, and fortangthat means skipping the advertisement trust check. great for automation, but you're literally saying "yes" on autopilot, so know what you're doing π
π SEE ALSO π
go read those too, they're the rest of the friend group π§
and that's the whole page!! this was the CLEVIS-ENCRYPT-SSS(1) manual, version dated 10/16/2026 β thanks for reading, you ate that, no crumbs πβ¨π
π¦ where this page comes from
- fedora 44: clevis 24-1.fc44 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms