dragon-cipher C-Quelle (vollständig)...

  • Thread starter Helmut Schellong
  • Start date
H

Helmut Schellong

Guest
http://www.schellong.de/htm/dragon.c.html

Die Beschreibung ist deutlich weniger genau als die von Rabbit.
Hinsichtlich Text und der Pseudo-Programmiersprache.
Das hatte Folgen.
https://www.ecrypt.eu.org/stream/p3ciphers/dragon/dragon_p3.pdf

Der Algorithmus funktioniert.
Allerdings sind die Test-Ausgaben meiner Implementation
nicht gleich mit den Referenz-Ausgaben.
Es ist mir auch in mehreren Tagen nicht gelungen, das erfolgreich zu ändern.
Das ist wegen meiner Verwendungsart jedoch egal.
Meine Testausgaben sind in den Zeilen 275..349.

Die Testausgaben zeigen ein gutes random-Verhalten.
Änderungen von einzelnen Key-Bits ändern den Keystream jeweils total.
Die verschlüsselte Textdatei dragon.c ist vom Überblick her einwandfrei verschlüsselt:

dragon.c\':
11b+272 e0 d4 29 4c ee c6 4d a7 67 2d 68 be f4 b3 14 7c ..)L..M.g-h....|
11b+288 84 07 11 73 a4 25 86 3c 4b bb 08 1b f7 de dd 3a ...s.%.<K......:
11b+304 db d7 c4 9e 22 3f a2 72 61 41 fa 0a ab da 0d 82 ....\"?.raA......
11b+320 f2 d3 e7 15 ba 21 d4 e7 b2 0f a4 34 cf 78 69 e6 .....!.....4.xi.
11b+336 c7 aa 95 04 f4 b3 9d ee f7 c4 07 6d d5 b8 f1 df ...........m....
11b+352 24 a9 e7 a5 65 7d 8d 41 3f e4 76 b3 a5 ff a4 74 $...e}.A?.v....t
11b+368 b1 2a 47 7f 77 b3 e1 8e fe a1 5d 0d 4f 09 cf 09 .*G.w.....].O...
11b+384 46 58 44 1e f5 92 1a 2e b5 d5 9c c0 c0 c2 ef 75 FXD............u
11b+400 08 ee 38 b0 4c 58 d1 7e 96 08 26 7a 60 23 b6 a3 ..8.LX.~..&z`#..
11b+416 c7 a6 7f 18 54 d9 07 e9 2e 4d 8d 8b 58 00 0a 49 ....T....M..X..I
11b+432 55 8c 6e 8f 46 79 02 6d f1 3f dc 69 0a 99 0f b8 U.n.Fy.m.?.i....
11b+448 6f 5f 87 89 5a f7 c4 99 c5 fe a4 00 f4 a4 53 8f o_..Z.........S.
11b+464 8b ad ff 69 23 10 a7 ed 00 5b 14 1f f6 b5 99 ac ...i#....[......
11b+480 90 5f eb 72 27 31 96 eb ac 18 57 c2 2a 1a b9 b5 ._.r\'1....W.*...
11b+496 89 a7 57 c9 e2 67 e3 f0 7f 6c 6d b1 37 dc 65 da ..W..g...lm.7.e.
12b+000 a1 33 96 5d 3b 7c 35 fb 4e 05 59 cb 45 08 f2 33 .3.];|5.N.Y.E..3
12b+016 82 9c a9 47 b8 dc 87 af 01 20 83 50 ab 1e 1b 1d ...G..... .P....
12b+032 11 22 bf 86 2c c1 47 10 97 1f 30 73 e7 c6 a5 7f .\"..,.G...0s....
12b+048 9e ea 43 80 ef 83 19 1b b3 48 46 89 19 a4 53 43 ..C......HF...SC
12b+064 6c 8e bd b7 fa 3e 89 36 a0 a2 c3 89 65 ee cc c5 l....>.6....e...
12b+080 3a 81 f0 2d 87 dd c3 92 1e 94 7d ce 81 f3 ab 17 :..-......}.....
12b+096 b3 2f 04 3b 83 96 84 32 6d 2e 46 8a cb f9 ad 84 ./.;...2m.F.....
12b+112 94 60 33 b4 63 45 eb ce 02 19 50 02 93 b7 e4 80 .`3.cE....P.....
12b+128 a7 20 fe 3e 9f 34 ce e7 e7 b3 c7 9f 6a 0d 33 e3 . .>.4......j.3.
12b+144 28 f4 ec b7 53 82 0f bd f4 4a 3a bb fe a1 08 38 (...S....J:....8
12b+160 0c b4 30 ea 24 ef 54 cd e5 99 cf 79 67 45 7c 8e ..0.$.T....ygE|.
12b+176 d2 e0 a7 51 d2 fb b2 5b 76 b2 c2 5f ae 19 18 64 ...Q...[v.._...d
12b+192 c1 5c 24 02 44 1a 47 c2 52 9c 5f 47 d6 85 32 d9 .\\$.D.G.R._G..2.
12b+208 87 a8 f8 0a 42 df 99 a5 5b b1 0d 09 1e 69 d6 02 ....B...[....i..
12b+224 73 3a a0 da ba 98 69 6b 14 03 37 07 73 ad 6a b5 s:....ik..7.s.j.
12b+240 39 77 3c f8 4d 6d 89 8b fd 30 ce 10 29 45 4c 1b 9w<.Mm...0..)EL.
12b+256 35 6d de e5 83 b0 b1 e4 32 3d d7 49 d5 bc e5 86 5m......2=.I....
12b+272 1d 00 0e 6b d6 58 c9 02 72 d0 e2 2a e0 3b 15 08 ...k.X..r..*.;..
12b+288 82 fe 53 44 31 49 a8 3d 43 11 12 bb f4 05 0d 01 ..SD1I.=C.......
12b+304 61 7e 40 21 ac a6 12 2f 4f ac db ca 54 f1 53 3f a~@!.../O...T.S?
12b+320 3f 21 f7 16 1e 34 ff f5 d8 6a 4b 63 2c 06 05 62 ?!...4...jKc,..b


--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
http://www.schellong.de/c.htm http://www.schellong.de/c2x.htm http://www.schellong.de/c_padding_bits.htm
http://www.schellong.de/htm/bishmnk.htm http://www.schellong.de/htm/rpar.bish.html http://www.schellong.de/htm/sieger.bish.html
http://www.schellong.de/htm/audio_proj.htm http://www.schellong.de/htm/audio_unsinn.htm http://www.schellong.de/htm/tuner.htm
http://www.schellong.de/htm/string.htm http://www.schellong.de/htm/string.c.html http://www.schellong.de/htm/deutsche_bahn.htm
http://www.schellong.de/htm/schaltungen.htm http://www.schellong.de/htm/rand.htm http://www.schellong.de/htm/bsd.htm
 
Helmut Schellong <rip@schellong.biz> wrote:
Die Beschreibung ist deutlich weniger genau als die von Rabbit.
Hinsichtlich Text und der Pseudo-Programmiersprache.
Das hatte Folgen.
https://www.ecrypt.eu.org/stream/p3ciphers/dragon/dragon_p3.pdf

Ich denke, in dem Paper sind bei der Initialisierung und
Stromgenerierung die Schiebeoperationen und die Neuzuweisungen an die
Schieberegisterelemente ungünstig beschrieben.

Ich gebe aber zu, dass meine Implementierung auch noch nicht
funktioniert.

Gruß,
Enrik
 
On 04/09/2022 13:41, Enrik Berkhan wrote:
Helmut Schellong <rip@schellong.biz> wrote:
Die Beschreibung ist deutlich weniger genau als die von Rabbit.
Hinsichtlich Text und der Pseudo-Programmiersprache.
Das hatte Folgen.
https://www.ecrypt.eu.org/stream/p3ciphers/dragon/dragon_p3.pdf

Ich denke, in dem Paper sind bei der Initialisierung und
Stromgenerierung die Schiebeoperationen und die Neuzuweisungen an die
Schieberegisterelemente ungünstig beschrieben.

Ich gebe aber zu, dass meine Implementierung auch noch nicht
funktioniert.
Meine funktioniert ja offenbar einwandfrei - nur eben nicht mit Ausgabe-Übereinstimmung.
Die kryptographische Qualität scheint ungebrochen.

Es fängt mit der F-Funktion an (Table 1, Fig 1):
Es wird von input-words a b c d e f und output-words a\' b\' c\' d\' e\' f\' geschrieben.
Also 2 x 6 Variablen, was allerdings nach einiger Überlegung unlogisch wirkt.
x\' wird später als geSWAPter Inhalt beschrieben: x\' = x>>16 | x<<16
Auch dieses wirkt jedenfalls für a\'..f\' unlogisch.
Logisch ist, daß b d f verändert werden und nachfolgend bei c e a verwendet werden.
Und zwar jeweils in allen drei Gruppen in gleicher Weise (1.2.|3.4.|5.6.).
Das sieht man in meiner Quelle.

Der Verkettungsoperator || ist komplett unbeschrieben.
In Rabbit ist in X = a || b das \'a\' (links) stets der hochwertige Teil.
Also habe ich auch in dragon das so getan.
Bei x = x0||x1||x2||x3 ist x0 das höchstwertige Byte, etc.
In Code-Schnipseln aus dem Netz hat sich das bestätigt:
u32 a, b, c, d;
u32 e = 0x00004472;
u32 f = 0x61676F6E;
(M= 0x0000447261676F6E, M= e||f; etc.)
In Table 2-1. weiß man nicht sicher, wie genau zugewiesen werden soll.
Sicher ist nur 1024 bit = 4 x 256 bit.
Ich habe gleichsinnig zugewiesen.

In Table 2-7 endet die Operation mit W1 = W0 (shifting).
Danach haben W1 und W0 den gleichen Wert.
Beim realen Shiften werden aber 0-bits nachgezogen.

In Table 3-5 müßte es logisch
for (i=31; i>1; --i) B= B[i-2];
lauten.
Also abwärts, wie in Table 2-7.


Die fehlende Übereinstimmung kann mir aber egal sein, weil ich bei der Anwendung
niemals mit einer _anderen_ Implementation (auf einem Server) zusammenarbeite, sondern
nur auf lokaler Festplatte.
Andernfalls müßten sogar die Formate von Key und Ausgabe in den write()-Puffer
(k --> buf[]) geklärt werden.



--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
http://www.schellong.de/c.htm http://www.schellong.de/c2x.htm http://www.schellong.de/c_padding_bits.htm
http://www.schellong.de/htm/bishmnk.htm http://www.schellong.de/htm/rpar.bish.html http://www.schellong.de/htm/sieger.bish.html
http://www.schellong.de/htm/audio_proj.htm http://www.schellong.de/htm/audio_unsinn.htm http://www.schellong.de/htm/tuner.htm
http://www.schellong.de/htm/string.htm http://www.schellong.de/htm/string.c.html http://www.schellong.de/htm/deutsche_bahn.htm
http://www.schellong.de/htm/schaltungen.htm http://www.schellong.de/htm/rand.htm http://www.schellong.de/htm/bsd.htm
 
On 04/09/2022 15:55, Helmut Schellong wrote:
On 04/09/2022 13:41, Enrik Berkhan wrote:
Helmut Schellong <rip@schellong.biz> wrote:
Die Beschreibung ist deutlich weniger genau als die von Rabbit.
Hinsichtlich Text und der Pseudo-Programmiersprache.
[...]

The Dragon Is Alive and Well
----------------------------
Dragon-128 is immune to the distinguishing attack proposed by Englund
and Maximov, as is Dragon-256 as specified for ECRYPT.
That is, if the designers’ restriction on the maximum keystream length permitted
before rekeying is respected.
Thus, although of some theoretical interest, we don’t believe the
keystream bias noted by Englund and Maximov represents a significant weakness
in the Dragon cipher, nor can that bias be exploited in a key recovery attack.
We do not believe that the distinguishing attack endangers the security
of the Dragon cipher and consequently we are happy for Dragon to remain in ECRYPT.

Der betreffende Parameter ist für dragon zu 2^64 Bits angegeben.
Das sind 2^61 Byte und ~10^18,362 Byte > 1000000 TeraByte > 1 ExaByte.
Rabbit hat hier 2^68 Byte ~10^20,47 Byte.


--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
http://www.schellong.de/c.htm http://www.schellong.de/c2x.htm http://www.schellong.de/c_padding_bits.htm
http://www.schellong.de/htm/bishmnk.htm http://www.schellong.de/htm/rpar.bish.html http://www.schellong.de/htm/sieger.bish.html
http://www.schellong.de/htm/audio_proj.htm http://www.schellong.de/htm/audio_unsinn.htm http://www.schellong.de/htm/tuner.htm
http://www.schellong.de/htm/string.htm http://www.schellong.de/htm/string.c.html http://www.schellong.de/htm/deutsche_bahn.htm
http://www.schellong.de/htm/schaltungen.htm http://www.schellong.de/htm/rand.htm http://www.schellong.de/htm/bsd.htm
 
On 04/09/2022 02:40, Helmut Schellong wrote:
http://www.schellong.de/htm/dragon.c.html

[... ...]
http://www.schellong.de/htm/dragon.c.html#beweis

http://www.schellong.de/htm/dragon.c.html#analyse


--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
 
On 04/29/2022 01:27, Helmut Schellong wrote:
On 04/09/2022 02:40, Helmut Schellong wrote:

http://www.schellong.de/htm/dragon.c.html

[... ...]
http://www.schellong.de/htm/dragon.c.html#beweis

http://www.schellong.de/htm/dragon.c.html#analyse

http://www.schellong.de/htm/dragon.c.html#analyse



--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
 
Helmut Schellong schrieb:
http://www.schellong.de/htm/dragon.c.html

Bist du sicher, dass du dies in dse posten wolltest und nicht
in einer NG für C oder so?

--
mfg Rolf Bombach
 
[x\'p/f\'up, ist in de.sci.electronics OT.]

On Sat, 9 Apr 2022 02:40:51 +0200, Helmut Schellong wrote:
http://www.schellong.de/htm/dragon.c.html

Die Beschreibung ist deutlich weniger genau als die von Rabbit.
Hinsichtlich Text und der Pseudo-Programmiersprache.
Das hatte Folgen.
https://www.ecrypt.eu.org/stream/p3ciphers/dragon/dragon_p3.pdf

Der Algorithmus funktioniert.
Allerdings sind die Test-Ausgaben meiner Implementation
nicht gleich mit den Referenz-Ausgaben.
Es ist mir auch in mehreren Tagen nicht gelungen, das erfolgreich zu ändern.
Das ist wegen meiner Verwendungsart jedoch egal.
Meine Testausgaben sind in den Zeilen 275..349.

Die Testausgaben zeigen ein gutes random-Verhalten.
Änderungen von einzelnen Key-Bits ändern den Keystream jeweils total.
Die verschlüsselte Textdatei dragon.c ist vom Überblick her einwandfrei verschlüsselt:

dragon.c\':
11b+272 e0 d4 29 4c ee c6 4d a7 67 2d 68 be f4 b3 14 7c ..)L..M.g-h....|
11b+288 84 07 11 73 a4 25 86 3c 4b bb 08 1b f7 de dd 3a ...s.%.<K......:
11b+304 db d7 c4 9e 22 3f a2 72 61 41 fa 0a ab da 0d 82 ....\"?.raA......
11b+320 f2 d3 e7 15 ba 21 d4 e7 b2 0f a4 34 cf 78 69 e6 .....!.....4.xi.
11b+336 c7 aa 95 04 f4 b3 9d ee f7 c4 07 6d d5 b8 f1 df ...........m....
11b+352 24 a9 e7 a5 65 7d 8d 41 3f e4 76 b3 a5 ff a4 74 $...e}.A?.v....t
11b+368 b1 2a 47 7f 77 b3 e1 8e fe a1 5d 0d 4f 09 cf 09 .*G.w.....].O...
11b+384 46 58 44 1e f5 92 1a 2e b5 d5 9c c0 c0 c2 ef 75 FXD............u
11b+400 08 ee 38 b0 4c 58 d1 7e 96 08 26 7a 60 23 b6 a3 ..8.LX.~..&z`#..
11b+416 c7 a6 7f 18 54 d9 07 e9 2e 4d 8d 8b 58 00 0a 49 ....T....M..X..I
11b+432 55 8c 6e 8f 46 79 02 6d f1 3f dc 69 0a 99 0f b8 U.n.Fy.m.?.i....
11b+448 6f 5f 87 89 5a f7 c4 99 c5 fe a4 00 f4 a4 53 8f o_..Z.........S.
11b+464 8b ad ff 69 23 10 a7 ed 00 5b 14 1f f6 b5 99 ac ...i#....[......
11b+480 90 5f eb 72 27 31 96 eb ac 18 57 c2 2a 1a b9 b5 ._.r\'1....W.*...
11b+496 89 a7 57 c9 e2 67 e3 f0 7f 6c 6d b1 37 dc 65 da ..W..g...lm.7.e.
12b+000 a1 33 96 5d 3b 7c 35 fb 4e 05 59 cb 45 08 f2 33 .3.];|5.N.Y.E..3
12b+016 82 9c a9 47 b8 dc 87 af 01 20 83 50 ab 1e 1b 1d ...G..... .P....
12b+032 11 22 bf 86 2c c1 47 10 97 1f 30 73 e7 c6 a5 7f .\"..,.G...0s....
12b+048 9e ea 43 80 ef 83 19 1b b3 48 46 89 19 a4 53 43 ..C......HF...SC
12b+064 6c 8e bd b7 fa 3e 89 36 a0 a2 c3 89 65 ee cc c5 l....>.6....e...
12b+080 3a 81 f0 2d 87 dd c3 92 1e 94 7d ce 81 f3 ab 17 :..-......}.....
12b+096 b3 2f 04 3b 83 96 84 32 6d 2e 46 8a cb f9 ad 84 ./.;...2m.F.....
12b+112 94 60 33 b4 63 45 eb ce 02 19 50 02 93 b7 e4 80 .`3.cE....P.....
12b+128 a7 20 fe 3e 9f 34 ce e7 e7 b3 c7 9f 6a 0d 33 e3 . .>.4......j.3.
12b+144 28 f4 ec b7 53 82 0f bd f4 4a 3a bb fe a1 08 38 (...S....J:....8
12b+160 0c b4 30 ea 24 ef 54 cd e5 99 cf 79 67 45 7c 8e ..0.$.T....ygE|.
12b+176 d2 e0 a7 51 d2 fb b2 5b 76 b2 c2 5f ae 19 18 64 ...Q...[v.._...d
12b+192 c1 5c 24 02 44 1a 47 c2 52 9c 5f 47 d6 85 32 d9 .\\$.D.G.R._G..2.
12b+208 87 a8 f8 0a 42 df 99 a5 5b b1 0d 09 1e 69 d6 02 ....B...[....i..
12b+224 73 3a a0 da ba 98 69 6b 14 03 37 07 73 ad 6a b5 s:....ik..7.s.j.
12b+240 39 77 3c f8 4d 6d 89 8b fd 30 ce 10 29 45 4c 1b 9w<.Mm...0..)EL.
12b+256 35 6d de e5 83 b0 b1 e4 32 3d d7 49 d5 bc e5 86 5m......2=.I....
12b+272 1d 00 0e 6b d6 58 c9 02 72 d0 e2 2a e0 3b 15 08 ...k.X..r..*.;..
12b+288 82 fe 53 44 31 49 a8 3d 43 11 12 bb f4 05 0d 01 ..SD1I.=C.......
12b+304 61 7e 40 21 ac a6 12 2f 4f ac db ca 54 f1 53 3f a~@!.../O...T.S?
12b+320 3f 21 f7 16 1e 34 ff f5 d8 6a 4b 63 2c 06 05 62 ?!...4...jKc,..b
 
On 05/19/2022 23:28, Rolf Bombach wrote:
Helmut Schellong schrieb:

http://www.schellong.de/htm/dragon.c.html

Bist du sicher, dass du dies in dse posten wolltest und nicht
in einer NG für C oder so?

Das ist eine Folgehandlung.

Denn dieses Thema war schon mehrmals divers hier aufgeschlagen.
Zuerst war Rabbit da ..., später folgte Dragon (mit Enrik Berkhan), nach Ankündigung.
Ich selbst habe das Thema zu dclc umgelenkt.
Enrik Berkhan folgte dorthin.
Dort ging es konkret eingehend um den C-Code.


--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
http://www.schellong.de/c.htm http://www.schellong.de/c2x.htm http://www.schellong.de/c_padding_bits.htm
http://www.schellong.de/htm/bishmnk.htm http://www.schellong.de/htm/rpar.bish.html http://www.schellong.de/htm/sieger.bish.html
http://www.schellong.de/htm/audio_proj.htm http://www.schellong.de/htm/audio_unsinn.htm http://www.schellong.de/htm/tuner.htm
http://www.schellong.de/htm/string.htm http://www.schellong.de/htm/string.c.html http://www.schellong.de/htm/deutsche_bahn.htm
http://www.schellong.de/htm/schaltungen.htm http://www.schellong.de/htm/rand.htm http://www.schellong.de/htm/dragon.c.html
 
On 05/20/2022 11:28, Volker Bartheld wrote:
[x\'p/f\'up, ist in de.sci.electronics OT.]
Ich schätze, es gibt hier eventuell mindestens das 50-fache an
anderem OFFtopic auch mit höherem OFFtopic-Grad - nämlich bis zu 100%.

Politik, Gesellschaft, Soziales, Verschwörungstheorien, DDR, Geo, Banales Geplapper, u.v.a.m.

Die Posting-Frequenz explodiert geradezu, je hochgradiger etwas OFFtopic ist.


--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
http://www.schellong.de/c.htm http://www.schellong.de/c2x.htm http://www.schellong.de/c_padding_bits.htm
http://www.schellong.de/htm/bishmnk.htm http://www.schellong.de/htm/rpar.bish.html http://www.schellong.de/htm/sieger.bish.html
http://www.schellong.de/htm/audio_proj.htm http://www.schellong.de/htm/audio_unsinn.htm http://www.schellong.de/htm/tuner.htm
http://www.schellong.de/htm/string.htm http://www.schellong.de/htm/string.c.html http://www.schellong.de/htm/deutsche_bahn.htm
http://www.schellong.de/htm/schaltungen.htm http://www.schellong.de/htm/rand.htm http://www.schellong.de/htm/dragon.c.html
 

Welcome to EDABoard.com

Sponsor

Back
Top