[Cryptography] Clutch cryptanalysis bar graphs: kurtosis or what?

Pierre Abbat phma at bezitopo.org
Mon Apr 15 03:39:25 EDT 2024


http://bezitopo.org/~phma/Crypto/WringTwistree/clutch.html
I've been running clutch cryptanalysis of Wring. So far the results look 
pretty good: the fraction of pairs of messages that rotate together for five 
rounds is less than a millionth, and messages that rotate the same total 
number of bits in the first two rounds, but a different number of bits in the 
first round, look no more similar than random bit strings.

I made violin plots of the matching of pairs of 2-round ciphertexts that 
rotated the same total bits in the first two rounds versus the difference 
between the number of bits they rotated in the first round. The violins in the 
middle look normal, while those at the ends look blebby, because they have few 
data. When making violin plots, I discarded any group that had less than three 
different data, because plotting them resulted in violins so thin they're 
invisible. (I'm guessing that Makie's violin function makes all the violins 
have equal area, and a violin with only one datum is just a horizontal line 
segment.)

Then I made a bar graph of the number of data in each violin. These graphs 
look vaguely like binomial density graphs with the middle bar missing. 
However, the middle four bars of the graph of key96_0 look quite different from 
the middle four bars of the graph of key30_0, and I'd like to quantify it. The 
first thing I thought of is the kurtosis, but then I thought that the kurtosis 
may not be meaningful with the middle bar missing. (The violin in the middle, 
which would represent those pairs that rotated together for both rounds, would 
be just under 40000, so I didn't bother computing it.) So I added some code to 
compute how tall the middle bar would be, and it would be taller than the rest 
of the bars combined. That would throw off the kurtosis even worse than not 
having the middle bar. Should I compute the kurtosis or something else?

Final results will take a few more weeks. Running cryptanalysis on one key and 
message size takes several hours and over 10 GB of RAM, I have eight more keys 
to run with 10 kB, and I'd like to do two other message sizes (I'm thinking 
8192 and 7776 bytes) to check whether the differences between keys depend on 
the message size.

Pierre
-- 
ro nu co'i cortu cu nu co'a certu





More information about the cryptography mailing list