[Python] implementeren van encryptie

Pagina: 1
Acties:
  • 585 views

Acties:
  • 0 Henk 'm!

  • ONiel
  • Registratie: September 2015
  • Laatst online: 15-06 21:16
Hey

Ik heb dus op verschillende fora gevraagd en nergens een goed antwoord gekregen. Ik wil dus encryptie implementeren in mijn Python applicatie.

Werking:
- Ik heb een bepaalde string bijvoorbeeld "Geheim tekst voorbeeld"
- En ik heb een paswoord voor het encrypteren en decrypteren van die string bijvoorbeeld: "Paswoord123"
- Nu moet mijn Python applicatie die string aan de hand van het wachtwoord kunnen encrypteren en decrypteren

Pseudo-code:
code:
1
2
3
4
5
6
7
8
string = "Geheim tekst voorbeeld"
pass = "Paswoord123"

encrypt_result = encrypt(string, pass)
print encrypt_result

decrypt_result = decrypt(pass, string)
print decrypt_result


Output:
899c37ffe9eaaf1cd494770f298024aa

Geheim tekst voorbeeld
Het is voor Python 3.x en Windows.
Het gebruikte encryptie-algoritme moet sterk zijn, en dus niet als "zwak" verklaard.

Weet iemand een goede bibliotheek voor dit of zo?

Bedankt.

Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Had je al naar de suggestie (Brilsmurfffje in "Sterkste hash-type tegenwoordig") in je vorige topic gekeken

Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 09:29

killercow

eth0

Als je nog niet weet hoe dit met, en welke algorithmen 'zwak' zijn kan ik me voorstellen dat het verstandiger is dit aan iemand over te laten die weet wat hij doet.

Als dit een schoolopdracht is, dan zou ik gewoon de documentatie induiken

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • DiedX
  • Registratie: December 2000
  • Laatst online: 09:20
Indien schoolopdracht: veel succes.

Alles anders dan school: OpenSSL, maar ga onder géén beding zelf je encryptie schrijven of implementeren.

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


Acties:
  • 0 Henk 'm!

  • ONiel
  • Registratie: September 2015
  • Laatst online: 15-06 21:16
killercow schreef op dinsdag 03 november 2015 @ 14:24:
Als je nog niet weet hoe dit met, en welke algorithmen 'zwak' zijn kan ik me voorstellen dat het verstandiger is dit aan iemand over te laten die weet wat hij doet.

Als dit een schoolopdracht is, dan zou ik gewoon de documentatie induiken
Ik weet dat bepaalde algoritmes zoals MD5 zwak zijn omdat ze o.a kwetsbaar zijn voor 'collision' (twee maal zelfde output bij verschillende input). Maar ik weet ze niet allemaal uit m'n hoofd. Dit is geen schoolopdracht, maar een applicatie die ik voor mezelf schrijf (dus niet voor verkoop of gebruik voor anderen).

Ik ben dit script aan het schrijven juist omdat ik meer over cryptografie en het gebruik daarvan in applicaties wil leren, het zou dus niet echt leerrijk zijn het door iemand anders te laten programmeren.
Jawel, alleen krijg ik bij die bibliotheek de hele tijd foutmeldingen dat bepaalde dingen zoals bv 'winrandom' niet gevonden zijn. Toch is dat inderdaad hetzelfde als wat ik zoek.

Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Je wilt kunnen decrypten dus een hashing algoritme heb je niets aan (die zijn one-way).
Je zou AES kunnen gebruiken.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04 00:29
Alternatief, kijk eens naar pycrypto

Acties:
  • 0 Henk 'm!

  • ONiel
  • Registratie: September 2015
  • Laatst online: 15-06 21:16
Heb ik al gedaan, maar ik vindt er niks documentatie over terug.
https://www.dlitz.net/software/pycrypto/api/current/

Dat bijvoorbeeld zegt hoe encrypteren met AES, maar zegt niks over decrypteren.

En dit bijvoorbeeld:
http://www.codekoala.com/...on-python-using-pycrypto/
Komt in de buurt van wat ik wil, maar ik snap er veel dingen niet van.
Wat is bijvoorbeeld lambda? Naar mijn weten was dat een Griekse of Latijnse letter.

En padding en blocks? Waarom kan men zijn wachtwoord(lengte) niet zelf kiezen.
En ik deze code zie ik hem nergens 'cipher' kiezen. Hij kiest zijn wachtwoord dus niet zelf? Maar random gegenereerd? Hoe kan hij het later dan decrypteren?

Acties:
  • 0 Henk 'm!

  • ONiel
  • Registratie: September 2015
  • Laatst online: 15-06 21:16
Juup schreef op dinsdag 03 november 2015 @ 14:52:
Je wilt kunnen decrypten dus een hashing algoritme heb je niets aan (die zijn one-way).
Je zou AES kunnen gebruiken.
Ik denk dat ik die ga gebruiken ja.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:57

Creepy

Tactical Espionage Splatterer

ONiel schreef op dinsdag 03 november 2015 @ 15:13:
[...]


Heb ik al gedaan, maar ik vindt er niks documentatie over terug.
ttps://www.dlitz.net/software/pycrypto/api/current/

Dat bijvoorbeeld zegt hoe encrypteren met AES, maar zegt niks over decrypteren.

En dit bijvoorbeeld:
http://www.codekoala.com/...on-python-using-pycrypto/
Komt in de buurt van wat ik wil, maar ik snap er veel dingen niet van.
Wat is bijvoorbeeld lambda? Naar mijn weten was dat een Griekse of Latijnse letter.

En padding en blocks? Waarom kan men zijn wachtwoord(lengte) niet zelf kiezen.
En ik deze code zie ik hem nergens 'cipher' kiezen. Hij kiest zijn wachtwoord dus niet zelf? Maar random gegenereerd? Hoe kan hij het later dan decrypteren?
Die code is een kant en klaar werkend voorbeeld van encrypten en decrypten. De secret wordt daar random gegenereerd, maar die kan je uiteraard ook zelf kiezen. Het lijkt me dat je met dat volledig werkend voorbeeld en een klein beetje python kennis er echt wel zelf uit moet kunnen komen. En wat een lambda is? Google even op "python lamba", dan komt dat toch echt direct naar voren.

Je lijkt je niet echt zelf in de materie te willen verdiepen en een kant en klaar antwoord van ons te willen hebben. Maar dat is nu net niet de bedoeling hier. Ik ga je topic dan ook sluiten. Met uitleg die je zelf linked, een klein beetje python kennis en een klein beetje zelf studie, moet je hier echt wel zelf kunnen uitkomen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.