Skip to content

pspssh 0.3.0 — a random source

Choose a tag to compare

@cobanov cobanov released this 31 Jul 00:31
· 42 commits to main since this release
7abbed0

Sessions now have something to be built from.

On hardware every connection died with wolfSSH session could not be created. Asking the RNG directly named it: wc_InitRng gave RNG_FAILURE_E (-199). A PSP has no /dev/urandom and no hardware random number generator, so wolfSSL had nothing to seed from and no session could be created at all.

src/psp/entropy.c harvests timing jitter — a small unpredictable amount of work measured against the microsecond clock, hundreds of times, hashed into a SHA-256 pool with per-boot values, output ratcheted forward.

It is deliberately not called a random number generator, and it refuses rather than guesses: it counts how often the timing actually changed and fails if the clock does not jitter. A pool seeded with nothing still produces bytes that look fine, and those would be a guessable session key.

wolfSSL also warned that timing resistance was off, so both builds now use --enable-harden.

Same install as before — EBOOT.PBP into ef0:/PSP/GAME/pspssh/. Your pspssh.cfg is not overwritten.