<div dir="ltr"><div dir="ltr"><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 19, 2017 at 4:20 PM Omar Herrera Reyna <<a href="mailto:0h3rr3r4@gmail.com">0h3rr3r4@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">To those interested, <div><br></div><div>I'm including the code of a little scheme for key exchange similar to a DH Key exchange process. Under this scheme, where Alice and Bob exchange some numbers that are produced and then recombined by an iterative function that is based on simple bit-wise operations, Eve has to figure out a way to find ant test efficiently pairs of inputs to the core function of this scheme (different combinations of inputs result can produce the same result but you require the same inputs to perform the final combination that provide Alice and Bob with the same key at the end of the process.</div><div><br></div><div>I'm not making any claims regarding the security of this system, but I believe it can be interesting to spark some discussion about alternatives to current key exchange schemes and their associated mathematical problems.</div><div><br></div><div>More details and demo source code (in C) is available here: <a href="https://github.com/Caume/HerraduraKEx" target="_blank">https://github.com/Caume/HerraduraKEx</a></div><div><br></div><div>A sample of the output of the demo source code (which should compile without modification in any Linux system) is provided here:</div><div><br></div><div>-----</div><div><br></div><div><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">ALICE:</span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">15076425430454950481 A [Secret 1]</span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">5065174741009230133 B [Secret 2]</span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">6616145336279823145 D [FSCX_REVOLVE(A,B,16)] -></span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">                   BOB:</span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">                   A2 5640910407791789943 [Secret 3]</span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">                   B2 2734548036544947114 [Secret 4]</span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">                <- D2 7953994751009905686 [FSCX_REVOLVE(A2,B2,16)]</span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small;background-color:rgb(255,255,0)">11220837854338859672</span><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"> FA [FSCX_REVOLVE(D2,B,48) xor A] </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">                 FA = FA2 </span><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small;background-color:rgb(255,255,0)">11220837854338859672</span><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"> [</span><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">FSCX_REVOLVE(D,B2,48) xor A2] </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">EVE: NOT (D xor D2)= 14577306244540485824 </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">EVE: D xor D2= 3869437829169065791 </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">EVE: FSCX(D,D2)= 14126811020873148126 </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">EVE: FSCX(D2,D)= 14126811020873148126 </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">EVE: FSCX(D,D2) xor D= 11519582121138542071 </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">EVE: FSCX(D2,D) xor D= 11519582121138542071 </span><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><br>   ...<br><br style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small">EVE: FSCX_REVOLVE_PRINT(D,D2,64)= 6616145336279823145</span><br></div><div><span style="color:rgb(80,0,80);font-family:monospace,monospace;font-size:x-small"><br></span></div><div>   ...</div><div>-----</div><div><br></div></div></blockquote><div><br></div><div>Update: Added an encryption protocol (HAEN) and code, based on HKEX and the FSCX function  </div></div></div>