Guten Abend,
unter ubuntu komme ich mit ezPyCrpto
http://www.freenet.org.nz/ezPyCrypto/
gut zurecht, aber unter win XP bekomme ich es nicht
installiert. Wer benutzt das auch, hat es installiert bekommen
bzw. weis wie man den Autor kontaktieren kann?
Danke
joh
ezPycrypto
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
joh# hat geschrieben:bzw. weis wie man den Autor kontaktieren kann?
Achja, die Seite sagt auch, dass ezPyCrypto durch SSLCrypto, vom selben Autor, ersetzt wurde.freenet.org.nz hat geschrieben:david at freenet dot org dot nz
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Den gibts wohl (dort) nicht mehr:Leonidas hat geschrieben:joh# hat geschrieben:bzw. weis wie man den Autor kontaktieren kann?freenet.org.nz hat geschrieben:david at freenet dot org dot nz
Code: Alles auswählen
The following address(es) failed:
d#v#d@fr##n#t.#rg.nz
SMTP error from remote mail server after RCPT TO:<d#v#d@fr##n#t.#rg.nz>:
host freenet.org.nz [74.220.202.14]: 550 No Such User Here"
[/quote]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich hab jetzt bischen nachgeforscht, der Autor ist nicht mehr sonderlich aktiv. ich würde dir einfach vorschlagen eine andere Lib zu verwenden und gut is.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
welche empfielt denn die community?Leonidas hat geschrieben:. . . andere Lib zu verwenden und gut is.
Einfache Handhabung (Installation und API) würde mir in diesem Fall
vor Geschwindigkeit und evtl auch vor Sicherheit gehen.
Gruß
joh
-
- User
- Beiträge: 424
- Registriert: Montag 28. Juli 2003, 16:19
- Wohnort: /dev/reality
I'm not getting paid for being Mr. Nice Guy!
danke, pypi kannte ich noch nicht :0querdenker hat geschrieben:Suche im pypi
... ok jetzt bin ich also bei yawPyCrypto-0.1.1 gelandet, funkt. unter linux auch problemlosLeonidas hat geschrieben:Ich hab jetzt bischen nachgeforscht, der Autor ist nicht mehr sonderlich aktiv. ich würde dir einfach vorschlagen eine andere Lib zu verwenden und gut is.
bei WinXP/py2.6/pycrypto2.3 (binaerpacket installiert) klemmt erneut die Säge:
Code: Alles auswählen
AttributeError: RandomPool instance has no attribute 'save'
und
AttributeError: 'module' object has no attribute 'PersistentRandomPool'
(file yawPyCrypto-0.1.1\yawPyCrypto\_Randpool.py", line 46)
Gruß
joh
ja gerne, zumal es nur darum geht, einfach "einen String mit einem PasswortLeonidas hat geschrieben:Warum nicht einfach PyCrypto nutzen?
zu ver/entschlüsseln". Um es zwischen lin und winXP hin und her zu kopieren.
Nur ergaben die Suche danach wenig Beispiele (daran lerne ich am liebsten)
Und die Tatsache daß schon Heerscharen dafür einen wrapper geschrieben
haben, lässt es für mich ein wenig schwierig erscheinen.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hier ist ein Beispielcode. Das schwierige ist ist wohl das korrekte Padding (und ich habe so meine Zweifel ob mit '{' padden eine gute Idee ist), aber du kannst auch überlegen einen Modus wie Cipher-Feedback (CFB), Output-Feedback (OFB) oder Counter (CTR) zu setzen, die nicht erfordern, dass die Daten gepadded werden. Oder einen Stream-Cipher nutzen (wobei CTR dem dann ziemlich nahe kommt).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo joh#,
das Padding könnte man etwa so machen (ungetestet):
An den Stellen encrypt_here und decrypt_here musst du deine Verschlüsselung/Entschlüsselung durchführen.
Gruß
Whitie
das Padding könnte man etwa so machen (ungetestet):
Code: Alles auswählen
def add_pad_bytes(data, block_size):
pad_bytes = block_size - len(data) % block_size
if pad_bytes == 1:
data += chr(1)
elif pad_bytes > 1:
data += os.urandom(pad_bytes - 1) + chr(pad_bytes)
else:
# pad_bytes = 0
data += os.urandom(block_size - 1) + chr(block_size)
crypted = encrypt_here(data)
return crypted
def remove_pad_bytes(data):
plain = decrypt_here(data)
pad_length = ord(plain[-1])
return plain[:-pad_length]
Gruß
Whitie
Hallo,
wenn es nur um Strings geht (nicht zu lang) könntest du auch eine reine Python Variante nutzen. Geschwindigkeit ist dann nicht so wichtig und die Installation ist ganz einfach (eine Datei). Guck mal hier.
Gruß
Whitie
wenn es nur um Strings geht (nicht zu lang) könntest du auch eine reine Python Variante nutzen. Geschwindigkeit ist dann nicht so wichtig und die Installation ist ganz einfach (eine Datei). Guck mal hier.
Gruß
Whitie
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Problem: Sicherheit ungewiss, da es nicht ganz trivial ist, Verschlüsselung korrekt zu implementieren. Deswegen setzt man da gerne auf auditierten Code. Übrigens auch der Grund warum GPGME existiert - die GPG-Autoren trauen den Leuten nicht zu, GPG als Shared Lib richtig, sicher zu nutzen, daher bieten sie ein Binding an, dass auf Subprozessen basiert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Das ist sicher richtig. Es kommt auf den Einsatzzweck an. Zumindest das Padding kann man mit PyCrypto nutzen. Um ein paar "Strings" auszutauschen würde ich die Pythonvariante privat auch nutzen. Für alles Andere sind getestete "offizielle" Verschlüsselungsprogramme natürlich pflicht.
Gruß
Whitie
Gruß
Whitie
eine Sache noch....:
Wie erkenne ich denn, ob der richtige Key beim decrypten benutzt wurde:
auch wenn key falsch ist, wird anstandslos decrypted, nur das als Ergebnis
eben nur Müll herauskommt. Eine der beiden Zeilen muß es doch merken....?
Wie erkenne ich denn, ob der richtige Key beim decrypten benutzt wurde:
Code: Alles auswählen
a = AES.new(key, AES.MODE_CBC, iv)
decrypted = a.decrypt(enc_data)
eben nur Müll herauskommt. Eine der beiden Zeilen muß es doch merken....?
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Wie sollen es die Zeilen denn merken? Bits sind Bits, Bytes sind Bytes.
Ohne den Klartext zu kennen kann man nicht sagen, ob der Schlüssel korrekt war. Wenn du an Software denkst die erkennt ob der Schlüssel korrekt war: Die kennen zumindest ein Teil des Klartexts. D.h. am Anfang des Klartexts steht sowas wie "Wenn du das siehst, stimmte der Schlüssel"
Ohne den Klartext zu kennen kann man nicht sagen, ob der Schlüssel korrekt war. Wenn du an Software denkst die erkennt ob der Schlüssel korrekt war: Die kennen zumindest ein Teil des Klartexts. D.h. am Anfang des Klartexts steht sowas wie "Wenn du das siehst, stimmte der Schlüssel"
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte