Thread Verschlüsselung (41 answers)
Opened by bianca at 2013-10-04 19:03

bianca
 2013-10-05 12:08
#170971 #170971
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
CPAN:Crypt::CBC scheint gut zu funktionieren und hat zur angenehmen Abwechslung sogar eine verständliche Doku:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
use Crypt::CBC 2.30;

my $text = <<PLAIN
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
PLAIN
;
my $cipher_sender = Crypt::CBC->new(
    -key    => 'schluessel',
    -cipher => 'Blowfish',
);
my $verschl = $cipher_sender->encrypt($text);
print "Salat: '$verschl'\n";
my $cipher_empfaenger = Crypt::CBC->new(
    -key    => 'schluessel',
    -cipher => 'Blowfish',
);
my $klar = $cipher_empfaenger->decrypt($verschl);
print 'Klappt'.($klar ne $text ? ' NICHT' : '')."!\n";

Frage 1: Kann bei diesem Verfahren wirklich sichergestellt werden, dass jemand nicht allein aufgrund des verschluesselten Binärcodes auf den Schlüssel kommen kann?

Frage 2: Das Ergebnis wird später mit der Methode POST() von CPAN:HTTP::Request::Common zu einem Request für CPAN:LWP::UserAgent verwurstet. Ich vermute, dass an der Stelle aus dem Binärstring Base64 werden wird. Ist das so OK oder sollte ich schon bei der Verschlüsselung eine andere Methode verwenden, damit nichts binäres raus kommt?

Frage 3: Der Parameter -cipher ist mir nicht ganz klar. In der Doku steht u.a. You may use any compatible block encryption algorithm that you have installed.. Habe ich eine Chance herauszufinden, was ich alles installiert habe? Oder bezieht sich das darauf, welche der nachfolgend erwähnten Module installiert sind?
Angenommen, davon wäre keines installiert, welche Wahlmöglichkeiten habe ich dann? Ist Blowfish die einzige?
Würde gern sicherstellen, dass das Verfahren verwendet wird, was den größten "Knackschutz" bei vertretbarem Rechenaufwand bietet.

Edit:
Frage 4: Wenn jemand während der Übertragung die Datei austauscht und mein Empfänger entschlüsselt die Datei mit dem selben Schlüssel wie der Absender, dann kommt ja trotzdem etwas raus. Das entspricht natürlich nicht mehr dem, was abgesendet wurde aber wie kann der Empfänger das feststellen?
Last edited: 2013-10-05 12:36:34 +0200 (CEST)
10 print "Hallo"
20 goto 10

View full thread Verschlüsselung