On Tue, Jun 10, 2003 at 05:22:25PM +0200, Christian Lackas wrote:
> * Harold Gutch <logix(at)foobar.franken.de> [030610 17:01]:
>
> Hallo Harold,
>
> > > du kannst aus jedem Cipher[1] einen MessageDigest[2] und aus jedem
> > > MessageDigest einen Cipher machen.
> > Fehlt da i.A. nicht im ersten Fall die Pseudoinjektivitaet und im
> > zweiten die Injektivitaet?
>
> nein, du benutzt die Algorithmen halt nur etwas anders. Zum Beispiel
> kannst du einen Hash-Algorithmus z.B. mit einer Art CipherBlockChaining
> wie einen Pseudo-OneTimePad verwenden, und damit dann verschl?sseln:
>
> Beispiel (ganz einfache Variante): Klartext c, Nachricht m
>
> m[0] = c[0] XOR hash(key)
> for (i=1; i<size; ++i)
> m[i] = c[i-1] XOR hash(m[i-1])
Ok, stimmt, das ist injektiv. Ich dachte naiverweise nur an ein
hash(concat(key, c)).
> Und genauso gibt es Varianten, die eine Block-Chiffre in einen
> SecureHash-Algorithmus verwandeln (siehe crypt-blowfish).
Mit gewissen Voraussetzungen an die urspruengliche Abbildung (die
sicherlich im Falle von Blowfish gegeben sind) - ansonsten
muesste man jegliche Struktur, die diese hinterlassen koennte, in
dem generischen Algorithmus zerstoeren, und dann koennte man auch
gleich direkt einen "richtigen" Hash benutzen. Der generische
Algorithmus muesste naemlich dann ja auch auf die triviale
Verschluesselung (Identitaet - oder von mir aus auch Caesar,
damit wirklich ein Schluessel verwendet wird) anwendbar sein.
Oder uebersehe ich (wie schon oben) etwas?
bye,
Harold
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 10 Jun 2003 - 18:23:50 CEST