Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - 1cook

Pages: [1]
1
TI 68K / Re: Authenticator App
« on: March 09, 2021, 06:43:54 pm »
Hi. I posted to ticalc because everyone said that I should.
https://www.ticalc.org/archives/files/fileinfo/476/47602.html

I know that I misspelled the title of the post. I can update it when I send the new release.

2
TI 68K / Re: Authenticator App
« on: February 24, 2021, 09:15:01 pm »
Are you planning to publish on ticalc?
No, sorry. They only have static file uploads and not any links to files. I would like to use github as a single place to upload source an binaries, so that I can make changes in a single place.

3
TI 68K / Re: Authenticator App
« on: February 24, 2021, 08:43:11 pm »
Ohhh, that's a really clever use of a calculator (unfortunately not a model I have). I'd love to pull out my TI-84 for 2fa; maybe that'll be a fun project for me :)

How large does the binary come out to be?

EDIT: I see the 18 KB release now.

I'm not very familiar with programming on the z80 calculators, but I can say some things about this.
You would need to be able to do these on the calculator:
- Take the SHA1 hash for binary data as large as 64 bytes.
- Get the current time
- Read in secret keys from user input
- Store small secret keys in RAM or flash (likely as a variable)
- Display codes on the screen

I imagine that that first one will be the most difficult. You would need to use assembly language (I don't think that there is a C compiler for the Ti84 Plus, and basic is far too slow, although there is a C compiler for the color calculators). I also can't find any implementations of SHA1 in z80 assembly, so you may have to make one on your own.

From what I can remember, the Ti84 has a built in clock, the Ti83 does not. You would need to figure out if there is a particular ROM call that you can use to get the time. If not, maybe it is stored at some memory address.

If after considering all of this, you are still confident that you can write this, then you should read these specifications so you know exactly what it is that you are implementing:
- RFC 2104 HMAC: Keyed-Hashing for Message Authentication
- RFC 4226 HOTP: An HMAC-Based One-Time Password Algorithm
- RFC 6228 TOTP: Time-Based One-Time Password Algorithm
- RFC 4648 The Base16, Base32, and Base64 Data Encodings (Base32 is used to convert user input into binary secret keys)
You could also read the code that I have written, or that of some smartphone authenticator app.

4
TI 68K / Authenticator App
« on: February 24, 2021, 04:47:36 am »
This is a Ti 89 program that provides 2-Factor authentication codes. It is compatible with google-authenticator.

How to get:
Download the binary (89z) on this page: https://github.com/1cook/ti89_authenticator/releases
This single binary works on the Ti-89 Titanium and the Voyage 200.

Follow the instructions in README.md: https://github.com/1cook/ti89_authenticator

Some parts of the code taken from outside sources:
Time conversion: http://howardhinnant.github.io/date_algorithms.html
SHA1: https://github.com/clibs/sha1
Base32: https://github.com/calzakk/CyoEncode

5
TI 68K / 2048 Clone, Ti 89, C
« on: March 01, 2016, 10:43:04 pm »
Features:
  • Tile Move Animations
  • Save Games
  • High Scores

Here is the file that you send to your calculator, https://github.com/1cook/t2048/raw/master/t2048.89z
Source code, https://github.com/1cook/t2048/blob/master/t2048.c

Pages: [1]