Seite 3 von 3

Verfasst: 10.08.2006 15:00
von Deeem2031
Was aber nicht heißt, dass automatisch Algorhytmen schlecht sind, die nicht bekannt sind ;)

Verfasst: 10.08.2006 16:51
von AND51
Wo wir schon so weit sind: Wie sieht es eigentlich mit der AES-Verschlüsselung aus? Gibt es da eine Lib oder API-Befehle oder so? AES-256 soll ja (lt. Wikipedia) der derzeit beste Verschlüsselungsalgorythmus sein, oder?
Tschuldigung, wenn ich nicht aufgepasst habe und es dahingehend schon einen Thread gibt.

Verfasst: 10.08.2006 17:28
von 125

Verfasst: 10.08.2006 18:51
von PMTheQuick
Ich hab nen Tipp für dich und andere: www.hackerboard.de
Die dort haben das schnell raus...

Gruss
PMTheQuick ;)

Für alle Schlaumeier die jetzt sagen "Ich zeig dich an...", diese Seite ist legal... Dort kannst du dein CrackMe/PasswortMe/SerialMe/HackMe reinstellen, und die dort versuchen es zu hacken mit Debugger, und und und... Allerdings solltest du bei programmen logischerweise nur die überprüfung mit ok reinstellen, und nicht das ganzr programm... :mrgreen: Und illegale Sachen werden dort gar nicht geduldet und führt zur Accountsperre...

Verfasst: 10.08.2006 19:49
von Frogger
Ich hab nen Tipp für dich und andere: www.hackerboard.de
Die dort haben das schnell raus...
Danke genau sowas brauch ich.

Ich glaube meine Verschlüsselung ist zu unsicher für mein Vorhaben.
Deswegen gebe ich den Code und die Lösung frei.
Für private Anwendungen ist es bestimmt sicher genug aber nicht für Netzwerktools.

Code: Alles auswählen

Procedure.s LS_CodeText(Text.s, Passwort.s) ; Codiert einen Text  
  Len_Text.l = Len(Text.s)
  Len_Passwort.l = Len(Passwort.s) 
  FingerPrint.l = 0
  For i = 1 To Len_Passwort
    FingerPrint + Asc(Mid(Passwort, i, 1))
  Next 
  RandomSeed(FingerPrint)
  text_out.s = ""
  str_counter.l = 1
  For i=1 To Len_Text
    For n=1 To Len_Passwort
      If str_counter > Len_Passwort
        str_counter = 1
      EndIf 
      zeichen.b = Random(Asc(Mid(Passwort, str_counter, 1)))
      str_counter + 1
      Byte.b = Asc(Mid(Text.s, i, 1)) 
      Byte.b + zeichen.b
    Next
    text_out.s = text_out.s + Chr(Byte.b) 
  Next
  ProcedureReturn text_out.s
EndProcedure

Procedure.s LS_DeCodeText(Text.s, Passwort.s) ; DeCodiert einen Text
  Len_Text.l = Len(Text.s)
  Len_Passwort.l = Len(Passwort.s) 
  For i = 1 To Len_Passwort
    FingerPrint + Asc(Mid(Passwort, i, 1))
  Next 
  RandomSeed(FingerPrint)
  text_out.s = ""
  str_counter.l = 1
  For i=1 To Len_Text
    For n=1 To Len_Passwort
      If str_counter > Len_Passwort
        str_counter = 1
      EndIf 
      zeichen.b = Random(Asc(Mid(Passwort, str_counter, 1)))
      str_counter + 1
      Byte.b = Asc(Mid(Text.s, i, 1)) 
      Byte.b - zeichen.b
    Next
    text_out.s = text_out.s + Chr(Byte.b) 
  Next
  ProcedureReturn text_out.s
EndProcedure



Text.s = "PureBasic FOREVER :)"
PW.s   = "PB4"

codiert.s   = LS_CodeText(Text.s, PW.s)
decodiert.s = LS_DeCodeText(codiert.s, PW.s)


Debug codiert
Debug decodiert
Ihr könnt ja damit ein paar Speed-Tests machen wenn ihr euch langweilt :wink:

Verfasst: 10.08.2006 21:30
von Xenos
So schlechtb ist der Ansatz doch gar nicht. Chiffrier doch einfach mit dem ENIGMA Algorithmus, das ist auch heutzutage nicht ohne weiteres zu knacken, schon gatr nicht mit Brute-Force. Eventuell musst du ihn noch modifizieren, das wird nur umso härter.

eine generelle Beschreibung, wie eine Enigma arbeitet findest du unter
http://de.wikipedia.org/wiki/Enigma_%28Maschine%29
ab Kapitel 3...

viel Spaß damit!