Wie funktioniert Random?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Wie funktioniert Random?

Beitrag von Thorium »

8 stelliges Passwort = 64bit Schlüssel
Was dein Algorythmus damit macht ist für die Länge des Schlüssels irrelevant. Die "Bitzahl" entspricht der Länge des Schlüssels, der verwendet wird, ob der sich wärend der Verschlüsslung ändert spielt keine Rolle. Denn man braucht nur den anfänglich genutzten Schlüssel zum entschlüsseln, egal wieviel Random du verwendest.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Wie funktioniert Random?

Beitrag von Kaeru Gaman »

Thorium hat geschrieben:8 stelliges Passwort = 64bit Schlüssel
nicht ganz: er wird nicht alle 256 Zeichen verwenden können.
eher 128 davon, insofern ist 7*8 = 56bit realistischer.


aber grundsätzlich ist das sowieso nicht relevant,
zum Herumprobieren genügt auch ein 96-variationen-schlüssel wie bei CODY,
und für ernsthafte Verwendung sollte man professionelle Algorithmen benutzen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Wie funktioniert Random?

Beitrag von STARGÅTE »

Tach Sauer-RAM

Hier habe ich so eine verschlüsselungs-Procedure schon mal geschrieben:
Ist das Sicher ? - Einfache CodierungsProcedure
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

Re: Wie funktioniert Random?

Beitrag von Kevin »

hi,

ich hab auch eine string-verschlüsselung programmiert ...
vorteil: jedes zeichen wird unterstützt und es kommt fast immer
ein anderes ergebnis raus da der code random nutzt ..

Code: Alles auswählen

Procedure.s K_Encrypt(string$)
 re$=""

 yy=2
 For x=1 To Len(string$)

   yy*3 : If yy>255 : yy/7 :EndIf

   bufff = Random(9)
   buf$ = Str(((Asc(Mid(string$,x,1))+2)*2)+x+yy+(bufff*3))

    Select Len(buf$)
     Case 1
      buf$ = "00" + buf$
     Case 2
      buf$ = "0" + buf$
    EndSelect

   buf$ + Str(bufff)

   If bufff = 3 Or bufff = 6
     buf$ + Str(Random(9))
   EndIf

   re$+buf$
 Next

 ProcedureReturn re$
EndProcedure



Procedure.s K_Decrypt(string$)
 re$=""

 xx=0
 yy=2
 For x=1 To Len(string$) Step 4
   xx+1
   yy*3 : If yy>255 : yy/7 :EndIf

   buf$ = Mid(string$,x,3)

   If Left(buf$,1) = "0" : buf$ = Mid(buf$,2) : EndIf
   If Left(buf$,1) = "0" : buf$ = Mid(buf$,2) : EndIf

   bufff = Val( Mid(string$, x+3, 1) )
  
   buf = (Val(buf$)-xx-yy-bufff*3)/2

   If bufff = 3 Or bufff = 6 : x + 1 : EndIf

   re$ + Chr(buf-2)

 Next

 ProcedureReturn re$
EndProcedure


text$ = "test 123"

encode$ = K_Encrypt(text$)
decode$ = K_Decrypt(encode$)


buf$ + "text:   " + text$ + "   (len:"+Str(Len(text$))+")" + Chr(13)
buf$ + "encode:   " + encode$ + "   (len:"+Str(Len(encode$))+")" + Chr(13)
buf$ + "decode:   " + decode$ + "   (len:"+Str(Len(decode$))+")" + Chr(13)

MessageRequester("Info", buf$)
ich hoffe das mit dem code einrücken ist ok ...
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Re: Wie funktioniert Random?

Beitrag von Sauer-RAM »

Ja klar.. Je länger der Schlüssel umso sicherer... AAABER: Doch nur wenn man die Verschlüsselungsform kennt. Sowas ist doch eig nur bei nem Brute-Force angriff relevant, aber ohne Verschlüsselungsprozedure kein Brute-Force. Also kann ein 7 bit Schlüssel effektiver sein als ein 100bit Schlüssel, wenn man den Verschlüsselungsalgorithmus nicht kennt... Oder irre ich mich?
"Bildung kommt vom Bildschirm und nicht vom Buch, sonst hieße es ja Buchung."
Dieter Hildebrandt
"Bildung ist Das, was übrig bleibt, wenn man alles was man in der Schule gelernt hat, vergisst. "
Albert Einstein
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wie funktioniert Random?

Beitrag von NicTheQuick »

Und wo willst du dann deinen Verschlüsselungsalgorithmus verstecken?

Ein guter Algorithmus zeichnet sich auch dadurch aus, dass er eben öffentlich ist und es nur noch auf den Schlüssel ankommt.
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Re: Wie funktioniert Random?

Beitrag von Sauer-RAM »

ich will keinen guten Ruf, ich will ein sicheres Verschlüsselungsprogramm.. xD naja aber theoretisch hab ich recht...
"Bildung kommt vom Bildschirm und nicht vom Buch, sonst hieße es ja Buchung."
Dieter Hildebrandt
"Bildung ist Das, was übrig bleibt, wenn man alles was man in der Schule gelernt hat, vergisst. "
Albert Einstein
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Wie funktioniert Random?

Beitrag von ts-soft »

Verschleierung bringt keine höhere Sicherheit!
Das was NicTheQuick gesagt hat stimmt so und hat nichts mit dem Ruf zu tun :freak:

Die hier vorgestellten Codes sind alle nicht sicher, das meiste lässt sich bereits mit einer
Häufigkeitsanalyse innerhalb weniger Sekunden knacken.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wie funktioniert Random?

Beitrag von NicTheQuick »

Dein Verschlüsselungsalgorithmus ist nicht sicher, wenn er in deinem Programm steckt. Das kann jeder kleine Hacker disassemblieren und herausfinden, wie er funktioniert. Und wenn der Algorithmus auf kleine Schlüssel aufbaut, dann probiert man eben alle Schlüssel schnell mal durch.

Aber nicht schlimm. Ich hab' früher auch mal so gedacht wie du. :mrgreen:
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Re: Wie funktioniert Random?

Beitrag von Sauer-RAM »

Das mit dem Ruf war ja auch nicht so gemeint. Ich meine wenn ich ein Programm nur für mich oder auch noch einen anderen schreibe, das erstmal beliebig oft mit base46encoder codiert und dann noch ein paar mal mit dem von mir beschriebenen Randomverfahren, kann man doch keine Häufigkeitsanalyse mehr machen oder? weil sich der code ja nach jedem Buchstaben ändert. Solange niemand den Verschlüsselungsalgorithmus kennt, kann der Text auch nicht entschlüsselt werde. Höchstens durch jahrelange Analyse des Codes und viel rumprobieren... Aber nicht durch ein Programm... Oder man schaut sich einfach den Quellcode an...
"Bildung kommt vom Bildschirm und nicht vom Buch, sonst hieße es ja Buchung."
Dieter Hildebrandt
"Bildung ist Das, was übrig bleibt, wenn man alles was man in der Schule gelernt hat, vergisst. "
Albert Einstein
Antworten