tkluck / GaloisFields.jl

Finite fields for Julia
Other
47 stars 6 forks source link

Usage report / open discussions tab? #18

Closed infogulch closed 3 years ago

infogulch commented 3 years ago

Hi! I finished (enough) of my use-case for the GaloisFields.jl package that I thought I'd share as thanks for your time and trouble answering my vague, peculiar questions. I hope you might even find it interesting. 😄

I published as a Pluto.jl notebook on my blog: List hash as matrices over finite fields, which explores the idea of defining the hash of a list of elements with the key feature that the hash is composable with other list hashes. The definition goes something like: hash each entry of the list, interpret each hash digest as a matrix with GF(256) elements (rejecting and retrying singular matrices), define the hash of the whole list to be reduction by matrix multiplication of the matrix hashes of all the elements.

I reference a previous post where I try to do the same thing over the ring of integers mod 256, but that doesn't work because it's very likely that random matrices over such a ring are singular, and after multiplying enough of them the list hash degenerates into the zero matrix. A patient soul on crypto stackoverflow corrected me and suggested GF(256) as an alternative, which is how I found myself here (after deciding for some reason to switch from python to Julia which I'd never used before).

As far as analyzing the security of such a construction I'm quite out of my depth. That said, I'm not aware of any prior cryptographic primitive that features associativity, which I think could open up many use cases for cryptographic security of mutable lists that have thus far been under-served.

If you so choose I'd gladly welcome any feedback or criticism, but in any case thanks for the great library and for all your help.


This post might be more appropriate as a discussion, you might consider enabling the Discussions feature on the repo here on github. Anyways, since this isn't really an issue, feel free to close whenever you like.

tkluck commented 3 years ago

Congrats on the blog post, it looks like very nice work!