HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jtsylve
spice-crypt
HISTORICAL RECORD2026–2026
jtsylve / spice-crypt · Not publicly available

spice-crypt

Discover this repository through its Hacker News conversations.

3Distinct people
4Mentions
0Explicit recommenders
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day4 dated mentions

Observed mentions: 2026-03-15 07:11:32 UTC to 2026-03-23 20:30:18 UTC.

0122026-03-15 00:00:00 UTC to 2026-03-16 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsMar 152026-03-16 00:00:00 UTC to 2026-03-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-17 00:00:00 UTC to 2026-03-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-18 00:00:00 UTC to 2026-03-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-19 00:00:00 UTC to 2026-03-20 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsMar 192026-03-20 00:00:00 UTC to 2026-03-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-21 00:00:00 UTC to 2026-03-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-22 00:00:00 UTC to 2026-03-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-23 00:00:00 UTC to 2026-03-24 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMar 23

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Mar 152026-03-15 00:00:00 UTC2026-03-16 00:00:00 UTC110
Mar 162026-03-16 00:00:00 UTC2026-03-17 00:00:00 UTC000
Mar 172026-03-17 00:00:00 UTC2026-03-18 00:00:00 UTC000
Mar 182026-03-18 00:00:00 UTC2026-03-19 00:00:00 UTC000
Mar 192026-03-19 00:00:00 UTC2026-03-20 00:00:00 UTC202
Mar 202026-03-20 00:00:00 UTC2026-03-21 00:00:00 UTC000
Mar 212026-03-21 00:00:00 UTC2026-03-22 00:00:00 UTC000
Mar 222026-03-22 00:00:00 UTC2026-03-23 00:00:00 UTC000
Mar 232026-03-23 00:00:00 UTC2026-03-24 00:00:00 UTC101

What Hacker News says

4 sources
It's even worse than the key derivation. from the poster's Github repo, https://github.com/jtsylve/spice-crypt/blob/v2.0.1/SPECIFICA...: Modes 0–2 use a custom DES variant that retains the standard 16-round Feistel network structure but differs from FIPS 46-3 in its permutation tables, S-boxes, and key rotation direction. Why would you need a custom DES variant? Did Cadence have a cryptographer on staff? Or did they license this DES-variant? Or was a three-letter US government agency involved? Looks like the DES-related modes were developed back before crypto code export restrictions were relaxed.
In A Copy-Paste Bug That Broke PSpice AES-256 Encryption
I posted SpiceCrypt (https://github.com/jtsylve/spice-crypt) a few days ago for decrypting LTspice models. It now supports all six PSpice encryption modes as well. PSpice is Cadence's SPICE simulator. Vendors encrypt component models with it, which locks them to PSpice and prevents use in NGSpice, Xyce, etc. Modes 0-3 and 5 derive keys entirely from constants in the binary, so those are straightforward once you extract them. Mode 4 is the interesting one. It's the only mode with user-supplied key material and uses AES-256 in ECB mode. The key derivation has two base keys: a 4-byte short key (originally for DES) and a 27-byte extended key (intended for AES). The code passes only the short key to the AES engine -- it looks like a copy-paste from the DES path that was never corrected. The short key gets null-terminated and zero-padded to 32
Read the rest
bytes, so 28 of 32 AES key bytes are known. Effective keyspace is 2^32, brute-forceable in seconds with AES-NI. The first encrypted block after every marker is a metadata header with a known plaintext prefix, which gives you a crib for validation. Once you recover the 4-byte short key, the full user key is also recoverable from the decrypted header. This has likely been shipping since PSpice 16.6 in 2014. Fixing it would break every encrypted model created in the last twelve years. The blog post linked above walks through the full details. The repo also has specifications documenting all the encryption schemes: https://github.com/jtsylve/spice-crypt/tree/v2.0.1/SPECIFICA...
In A Copy-Paste Bug That Broke PSpice AES-256 Encryption

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.