■ 🕑 2. tripex 1.1 │ version 1.1, cryptography patch. │ i forgot to audit the cryptography; i made a huge boneheaded mistake │ with the key filter (thing that turns pure random bytes into printable │ ascii) where it was skewing a lot. now it uses an 85 character subset │ (256 % 85 = 1) which has a very tiny amount of skew but doesn't lose │ as much entropy as an unskewed 64 character subset of ascii would. │ the default key length is also increased to 10, so that it would be │ ~64 shannons of entropy total (a tripcode has 60 shannons.) │ │ here is the patch file, apply it to the original as follows: │ patch tripex.c tripex-1.1.patch │ │ then recompile the program as follows: │ gcc tripex.c -o tripex -O3 -lcrypt │ │ -----BEGIN FILE tripex-1.1.patch----- │ 36c36 │ < size_t key_len = 8; │ --- │ > size_t key_len = 10; │ 67c67 │ < printf("tripex 1.0 by taocana\n"); │ --- │ > printf("tripex 1.1 by taocana\n"); │ 167a168,175 │ > /* we must get printable ascii from a random byte, │ > * but 256 % 94 = 68 which leaves too much skew. │ > * quantizing into 64 chars won't skew at all, but │ > * it only has 6 shannons of entropy per character. │ > * an 85 character quantization only skews by a │ > * remainder of one, which is miniscule enough and │ > * we average 6.41 shannons per character. │ > */ │ 169,176c177,192 │ < "{dDOFByx8Jdo=C.{hFw:'p%m+]E-*}~4" │ < "O)YiM99y?%A)tldRIN4!fat`J|(iI+}h" │ < "]59P#T_Qx#h0q8w+F,$}Vo5Gq;<rw]Y~" │ < "k6>O~Ge,.DW9`hqhaSf#A.vrnhy`[2Ct" │ < "Bb6|7Mr+iJZG5.&7>?K@{D~6*Vs'H_*>" │ < "$Mh3R-F$Sp^.E5R-W1DnQzXC@Tf']xxt" │ < "o`GLO'Ui`S/v,aegU2HkE3Y6y!WZm%?k" │ < "aD/H=yH4vQg7dC*(Gx$vV[<vV?jw8s^d"; │ --- │ > "!#$%&'()*+,-./012" │ > "3456789:;<=>?@ABC" │ > "DEFGHIJKLMNOPQRST" │ > "UVWXYZ^abcdefghij" │ > "klmnopqrstuvwxyz~" │ > "!#$%&'()*+,-./012" │ > "3456789:;<=>?@ABC" │ > "DEFGHIJKLMNOPQRST" │ > "UVWXYZ^abcdefghij" │ > "klmnopqrstuvwxyz~" │ > "!#$%&'()*+,-./012" │ > "3456789:;<=>?@ABC" │ > "DEFGHIJKLMNOPQRST" │ > "UVWXYZ^abcdefghij" │ > "klmnopqrstuvwxyz~" │ > "~"; │ │ └─■ 🕑 3. tripex 1.2 tripex 1.2 release notes + -f flag to read a list of expressions from a file * -s flag now takes an argument for when to begin/end stacking. negative values mean to stop stacking after the absolute value of the index.
apply the patch as follows (make sure to apply the previous patch first:) patch tripex.c tripex-1.2.patch
then recompile the software as follows: gcc tripex.c -o tripex -O3 -lcrypt
here's an example of the new features combined for efficient dictionary searches. because expressions from argv are parsed after files, we have to put our first expression in it's own file :(. '-s -1' means to stop stacking after the first expression, so it will first check if it is even possible to match with any of the dictionary expressions.