Sujet : [Solution] The lost key (Chris, do not read! :-) (was: The lost key)
De : 333200007110-0201 (at) *nospam* ybtra.de (Marcel Logen)
Groupes : sci.cryptDate : 01. Jun 2025, 07:26:59
Autres entêtes
Organisation : Bureau Logen
Message-ID : <87jz5wm23p.fsf@pc-731.ybtra.de>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
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
| 2848946260538157918367000863848772571624155941440309147181104105973715236751171631344619365840571789679960410281613417934986777121883758077560638903472467639058855049200348722101154699044086248542415920664015225727415899850657037735752534925855988988353704308168166863736592675374332918563267446593496370465749720916683750171432485759516454914993922696517880445639301838174305259484964231962391422203389205533519311439222811085530388606270980794008927920197026957965757301408456000582523271531688939279895920555612097719886773783452558708547
|
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
| A353230322F332F373220686A722E2E2E0A0A2E2E2E656E6F64206C6C65570A0A3F7468676972202C676E696874656D6F732073277461687420747562202E2E2E656772656D6520747865747265687069632065687420676E69656573206D6F72662074656720756F79206E6F6974636166736974617320666F20676E696C6565662065687420796C6E6F207369202C73616C61202C657A6972702072756F59202E74786574726568706963206568742064657470797263656420796C6C756673736563637573206576616820756F592021534E4F4954414C55544152474E4F43
|
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-73187 jz5w m23pLines: 76