NAME
rskeygen - generate private key pairs for TI graphing calculators
SYNOPSIS
rskeygen [ --secure ] [ --ti ] [ --length nbytes ]
DESCRIPTION
rskeygen generates application and OS signing keys for the Texas
Instruments TI-73, TI-83 Plus, TI-84 Plus, TI-89, and TI-92 Plus
graphing calculators. These keys consist of two prime numbers p and q
as well as their product n. Current calculator models impose a limit
of 512 bits (64 bytes) on the size of n, so p and q are generally about
256 bits each. As of this writing this means factoring n is beyond the
reach of most people, though this will undoubtedly change in the
future.
The keys generated by rskeygen are not very useful at the moment,
because in order for an application or OS to be accepted by the
calculator, the key used to sign it must itself be signed using the
calculator’s own (possibly unique) private key, which is only known to
TI. Nevertheless, rskeygen is provided in the hope that it can be
useful, both for testing and for devising new signature schemes based
on TI’s.
OPTIONS
--secure
Attempt to generate a ‘‘secure’’ key using the system’s entropy
pool, /dev/random (see random(4).) The actual security is thus
dependent on your system’s implementation of /dev/random.
Without --secure, the keys are generated based on the current
time and process ID, which is not secure in the slightest.
--ti Generate keys which are palatable to TI’s official app signing
programs. This forces p to be congruent to 3 and q to 7 modulo
8. This option is not necessary when using rabbitsign(1), nor
is it necessary for the calculator to validate signatures
properly.
--length nbytes
Specify the length in bytes of the modulus n; p and q are each
calculated to be approximately half this length. This should
not be greater than 64 for current calculators, and must be less
than 256 in any event due to a limitation of the key file
format.
SEE ALSO
rabbitsign(1), packxxk(1)
AUTHOR
Benjamin Moody <floppusmaximus@users.sf.net>