v0.1.9 (Android versionCode 37)
Cypher Box 0.1.9 (Android versionCode 37, iOS build 20).
Vault seed generation
Dice entropy
- Dice rolls are now hashed together with the device CSPRNG before they become a
seed. The optional dice screen previously built the recovery phrase from the
taps alone. That screen counts bits pushed rather than randomness, and a face
maps to the same value every time, so repeatedly tapping one face satisfied the
128-bit gate with zero entropy and produced a publicly known BIP39 test vector.
Tapping one face was also the fastest way to fill the counter. - Safe if either source is sound, rather than only if the dice are. An attacker
who fully controlled the device RNG still could not predict a seed without the
rolls. - If you tapped only one face over and over, or just alternated between two,
Save is refused. A real die does not land like that. - The screen now says what a real roll is, and that the phone's randomness is
always added as well.
Verifiable dice
- Collected dice entropy now reproduces byte for byte in Ian Coleman's BIP39
tool. The bit scheme was already his; only the face labelling differed, since
he treats die 6 as base-6 digit 0 and we used the 0-based index. - Rolls past the target are refused, so the total cannot drift out of the range
where his 32-bit rounding and our 8-bit rounding select the same bits. - After rolling, the screen shows the rolls, the device randomness, and the
result, so the whole derivation can be checked by hand. - The guidance says to check with practice rolls, on a separate computer that is
offline. Typing real rolls into a website would give away one of the two
sources protecting that key.
Bark Vault (Ark)
- The exit panel reports per-transaction progress during broadcasting, so a
phase that legitimately sits still for an hour is no longer indistinguishable
from a wedged one. Every tree level must confirm before the next can be
relayed, so slow is normal there. - Android: a notice during an exit that battery must be set to Unrestricted. The
exit drive is foreground-only, so on a device that is not battery-exempt the
OS suspends the app when the screen goes off and the exit stops rather than
slows. Samsung's "never sleeping apps" list is a different list and does not
help.
Installing outside Google Play
cypherbox-0.1.9-vc37.apk is for users who do not use Google Play. It is a
universal APK, arm64-v8a, signed with our upload key.
The Play build is re-signed by Google under Play App Signing, so the two carry
different signatures. This APK therefore cannot be installed over an
existing Play install, and moving between them means uninstalling first, which
on a wallet means restoring from your backup. Pick one and stay on it.
- APK SHA-256:
b26cce5fe2a6aa135b137826f21a36840bac05ab9498284471837189b435dd0d - Signer certificate SHA-256:
F0:85:82:11:0E:05:7A:F7:CA:A1:80:5A:2F:47:0D:73:12:F3:AF:6D:62:3A:A2:6A:AD:28:6C:2E:23:CE:3F:46
Verify before installing:
shasum -a 256 cypherbox-0.1.9-vc37.apk
apksigner verify --print-certs cypherbox-0.1.9-vc37.apkVerification
- Source commit:
c3ef476414194069446c14eb57e2ea71a99da5f4 - Tag:
v0.1.9-vc37(GPG-signed) - Reproducible build verified across two independent CI runs: build-verify
(run 33449685399) and android-release (run 33472306370) each produced the
no-secrets AAB and the two are byte-identical
(0c0f3dc018a28ba6b9cb5d0e3c97cfab7bbe8a4d24b7dd211467e9a735646164). - Unsigned real-config AAB SHA-256:
f8942e2852875866937b798563fec2487c67ee0e9651049e50c13830eee3183a - CI-reference (no-secrets) AAB SHA-256:
0c0f3dc018a28ba6b9cb5d0e3c97cfab7bbe8a4d24b7dd211467e9a735646164 - The real-config and CI-reference builds were asserted to differ only in the
four config-injection entries. - Build instructions: see
BUILD.md. The Play binary is signed locally with a
hardware-protected key; the CI artifact is unsigned and never shipped.