You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: