• [Solution] The lost key (Chris, do not read! :-) (was: The lost key)

    From Marcel Logen@21:1/5 to All on Sun Jun 1 08:26:59 2025
    Chris M. Thomasson in sci.crypt:

    Na. I am actually busy with other work, no joke. Perhaps you can put in
    a note, Chris, do not read. A little flag? thanks. :^)

    OK, here we go:

    We had played around with this kind of 'encryption' in
    de.test (IIRC) a few months ago, and after some other attempts
    on Richard's task I thought: just give it a try. And lo and
    behold, it worked! :-)

    The ciphertext is a decimal number which has to be transformed
    (as Richard wrote here, too, some weeks ago, IIRC) to a 16-bit
    or 256-bit coded plaintext.

    First, I tried it with the Linux tool "bc" (an "arbitrary precision calculator") as follows:

    - save the number in a file named "one":

    | cl@pc-731:/tmp$ cat one
    | 28489 46260 53815 79183 67000 86384 87725 71624 15594 14403
    | 09147 18110 41059 73715 23675 11716 31344 61936 58405 71789
    | 67996 04102 81613 41793 49867 77121 88375 80775 60638 90347
    | 24676 39058 85504 92003 48722 10115 46990 44086 24854 24159
    | 20664 01522 57274 15899 85065 70377 35752 53492 58559 88988
    | 35370 43081 68166 86373 65926 75374 33291 85632 67446 59349
    | 63704 65749 72091 66837 50171 43248 57595 16454 91499 39226
    | 96517 88044 56393 01838 17430 52594 84964 23196 23914 22203
    | 38920 55335 19311 43922 28110 85530 38860 62709 80794 00892
    | 79201 97026 95796 57573 01408 45600 05825 23271 53168 89392
    | 79895 92055 56120 97719 88677 37834 52558 70854 7
    | cl@pc-731:/tmp$

    - then remove the blanks and CR and LF:

    | cl@pc-731:/tmp$ tr -d ' \015\012' < one > two
    | cl@pc-731:/tmp$ cat two && echo
    | 2848946260538157918367000863848772571624155941440309147181104105973715236751171631344619365840571789679960410281613417934986777121883758077560638903472467639058855049200348722101154699044086248542415920664015225727415899850657037735752534925855988988353
    704308168166863736592675374332918563267446593496370465749720916683750171432485759516454914993922696517880445639301838174305259484964231962391422203389205533519311439222811085530388606270980794008927920197026957965757301408456000582523271531688939279895920
    555612097719886773783452558708547
    | cl@pc-731:/tmp$

    You obtain the long decimal number.

    - subsequently use "bc" for transformation to 16-bit:

    | cl@pc-731:/tmp$ echo "obase=16;$(cat two)" | BC_LINE_LENGTH=0 bc
    | A353230322F332F373220686A722E2E2E0A0A2E2E2E656E6F64206C6C65570A0A3F7468676972202C676E696874656D6F732073277461687420747562202E2E2E656772656D6520747865747265687069632065687420676E69656573206D6F72662074656720756F79206E6F6974636166736974617320666F20676E696C
    6565662065687420796C6E6F207369202C73616C61202C657A6972702072756F59202E74786574726568706963206568742064657470797263656420796C6C756673736563637573206576616820756F592021534E4F4954414C55544152474E4F43
    | cl@pc-731:/tmp$

    This data has an odd number of hex digits, so prepend a "0";
    then you can use the Linux tool "xxd" for transformation to
    readable text:

    | cl@pc-731:/tmp$ { echo -n '0' && { echo "obase=16;$(cat two)" | BC_LINE_LENGTH=0 bc ; } ; } | xxd -r -p && echo
    |
    | 5202/3/72 hjr...
    |
    | ...enod lleW
    |
    | ?thgir ,gnihtemos s'taht tub ...egreme txetrehpic eht gniees morf teg uoy noitcafsitas fo gnileef eht ylno si ,sala ,ezirp ruoY .txetrehpic eht detpyrced yllufsseccus evah uoY !SNOITALUTARGNOC
    | cl@pc-731:/tmp$

    - the text then has only to be reversed

    In my next posting I will present a solution with the Linux
    tool "dc" (a desk calculator, too) for transforming to 256-bit
    text and a Python3 one-liner for reversing and calculating the
    MD5 sum.

    Marcel
    --
    Sun Jun 1 08:26:59 2025 CEST (1748759219)
    pc-731
    87 jz5w m23p
    Lines: 76

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)