|
You last visited: Today at 09:05
Advertisement
Text Verschlüsselung mittels eigen entwickeltem Alghoritmus
Discussion on Text Verschlüsselung mittels eigen entwickeltem Alghoritmus within the Coding Releases forum part of the Coders Den category.
09/12/2013, 23:52
|
#46
|
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
|
Nagut, ein letzer Versuch
Seh ich welche ? Nein
Sind da welche ? Ja
Heute Zufallsgeneratoren sind sehr sehr gut darin Psydozufällige Zahlen zu generiern.
Das Problem ist das was ich vorhin versucht hab zu erklären.
Du kannst zurückrechnen. Dort oben stehen ein Haufen Buchstaben die dein Zufallsgenerator errechnet hat. Ich kann damit 2 Sachen machen.
Ich kann schauen ob der Algo bei meinem geratenen Seed(a) das selbe ausspuckt,
Und schlimmer, ich kann ausschliesen das der Algo bei Seed(b) das richtige ausspuckt.
Wie handelt dein Algo eigentlich bei Leerzeichen ?
Edit: Nein, lass auf jedenfall die Finger von nem eigenen es ist mehr als unwahrscheinlich das du in absehbarer Zeit einen baust der besser ist , die einzige Option echten Zufall zu erhalten ist von Externen Quellen.
|
|
|
09/13/2013, 00:07
|
#47
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Um nochmal kurz was zum echten Random zu sagen. Hier wäre eine Möglichkeit:
Abgesehen davon bietet Intel afaik seit Sandy Bridge Instruktionen um hardwaremäßig echten Zufall zu erzeugen an. Sollte in den Datenblättern zu finden sein.
|
|
|
09/13/2013, 00:09
|
#48
|
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
|
leicht ot:
Das ist mir neu, muss ich mir mal ansehn.
Danke für die Info.
|
|
|
09/13/2013, 01:12
|
#49
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Hab mal einen kleinen quick&dirty test gemacht, der funktionierte:
Code:
#include <iostream>
#include <cstdint>
uint32_t random()
{
uint32_t rand = 0;
_asm {
and ecx, 0x00
rdrand eax
adc ecx, 0x00
jecxz exit_
mov rand, eax
exit_:
}
return rand;
}
int main()
{
std::cout << random() << std::endl;
}
|
|
|
09/13/2013, 11:58
|
#50
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
Quote:
Originally Posted by dready
Nagut, ein letzer Versuch
Seh ich welche ? Nein
Sind da welche ? Ja
Heute Zufallsgeneratoren sind sehr sehr gut darin Psydozufällige Zahlen zu generiern.
Das Problem ist das was ich vorhin versucht hab zu erklären.
Du kannst zurückrechnen. Dort oben stehen ein Haufen Buchstaben die dein Zufallsgenerator errechnet hat. Ich kann damit 2 Sachen machen.
Ich kann schauen ob der Algo bei meinem geratenen Seed(a) das selbe ausspuckt,
Und schlimmer, ich kann ausschliesen das der Algo bei Seed(b) das richtige ausspuckt.
Wie handelt dein Algo eigentlich bei Leerzeichen ?
Edit: Nein, lass auf jedenfall die Finger von nem eigenen es ist mehr als unwahrscheinlich das du in absehbarer Zeit einen baust der besser ist , die einzige Option echten Zufall zu erhalten ist von Externen Quellen.
|
Das heisst bei jeder zufallsgenerationskette ist ein rhytmus der immer gleich bliebt? Denn wenn er sich unabhängig von vorher generierten zahlenketten ändert bringt das auch nichts.
|
|
|
09/13/2013, 13:10
|
#51
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
Quote:
Originally Posted by DeinMud
Das heisst bei jeder zufallsgenerationskette ist ein rhytmus der immer gleich bliebt? Denn wenn er sich unabhängig von vorher generierten zahlenketten ändert bringt das auch nichts.
|
ja ein computer kann sich keine zahlen ausdenken, da es keine formel, keinen algorythmus gibt welche bei gleichem input verschiedene ergebnisse erzeugen könnten
der ganze umfang des RNG problems ist aber zu groß um den hier oder sonst wo einfach mal auszubreiten, deswegen
geh in die bücherei und frag nach dem buch welches ich gestern gepostet habe dort ist das alles wunderbar erklärt
|
|
|
09/13/2013, 13:54
|
#52
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
Mich würde interessieren wie man genau die Zufallszahlen jetzt "zurückverfolgen" und herausfinden kann.
Hast mir ja statische Analyse genannt, wie funktioniert das den genau?
|
|
|
09/13/2013, 14:42
|
#53
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
das sind alles themen die kann man nicht einfach so überblicken und kurz darstellen, wenn du dich dafür interessierst, mach nen informatik studium, wenn du dafür keine zeit hast muss google wohl reichen, erster informationspunkt, wie fast immer wikipedia: Kryptoanalyse ? Wikipedia
|
|
|
09/22/2013, 18:14
|
#54
|
elite*gold: 16
Join Date: Dec 2010
Posts: 20,683
Received Thanks: 7,521
|
Danke fürs Sharen!
|
|
|
09/22/2013, 19:20
|
#55
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Ein weiteres Problem hast du selbst schon genannt:
Der Schlüssel ist genauso groß wie das Geheimnis. Wie also den Schlüssel schützen? Du hast praktisch nichts gewonnen.
Außerdem hast du deine Random Klasse noch nicht mal mit einem Seed gefüttert. In diesem Fall wird der Algo mit initialisiert. Man könnte jetzt anhand des Erstelldatum feststellen, in welchem Bereich sich der Seed befindet. Dazu kann man eine Datei mit der selben größe "verschlüsseln" und dabei die Zeit messen, tada.
|
|
|
09/25/2013, 00:30
|
#56
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Quote:
Originally Posted by DeinMud
Warum nicht? Push sind im 1 Tages Rhytmus erlaubt.
|
Nein, nur dort, wo es explizit erlaubt ist.
Zum Thema:
Zum Einen wurde AES in einem weltweiten, offenen Wettbewerb entwickelt und nicht wie DES von einer Organisation. Insofern ist es schonmal albern, da Hintertüren für die NSA zu vermuten. Wenn überhaupt, dann haben sie schon die Rechenkapazität, AES zu knacken, aber auch das halte ich für unwahrscheinlich.
Den nächsten Punkt hat Lawliet schon angesprochen: Ein OTP ist wertlos. Es bringt dir rein gar nichts, wenn du am Ende einen Key hast, der genau so lang wie die Nachricht ist. Da hättest du auch gleich einen völligen Zufallstext derselben Länge generieren lassen und die Nachricht damit ersetzen können. Aus dem "verschlüsselten" Text könnte man nur die Nachricht erhalten, wenn man den genau so langen Key hat (und in meinem Beispiel wäre das schlichtweg die Nachricht selbst). Das ist absolut unpraktikabel; da kann man sich das Ganze auch gleich sparen.
Die Herausforderung beim Entwickeln von Algorithmen ist es ja gerade, effiziente und ressourcenschonende Techniken zu entwicklen, die gleichzeitig mit einem möglichst kurzen, aber dennoch sicheren Key auskommen (aktuell wären das wohl zwischen 128 und 2048bit Länge, je nach Verfahren).
Ja und der letzte Punkt wurde dir ja schon ausführlich erklärt: Es gibt aktuell keine echten Zufallszahlengeneratoren ohne Externe Quelle. Der PC kann nur auf Basis eines Seeds möglichst komplizierte Berechnungen durchführen, in denen ein Mensch keinen Zusammenhang mehr sieht - er ist aber dennoch da. Mit genügend Daten kann der Angreifer bei bekanntem Zufallsalgorithmus (und da du sicherlich einen vom .NET Framework verwendest, ist er bekannt) auf den Seed schließen und die ganze (ohnehin schon recht nutzlose) Verschlüsselung wird zur reinen Platzverschwendung.
|
|
|
09/25/2013, 04:13
|
#57
|
elite*gold: 11
Join Date: May 2007
Posts: 62,452
Received Thanks: 29,520
|
Zum Thema NSA und Verschlüsselungen:
|
|
|
09/28/2013, 08:37
|
#58
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
Quote:
Originally Posted by MrSm!th
Nein, nur dort, wo es explizit erlaubt ist.
Zum Thema:
Zum Einen wurde AES in einem weltweiten, offenen Wettbewerb entwickelt und nicht wie DES von einer Organisation. Insofern ist es schonmal albern, da Hintertüren für die NSA zu vermuten. Wenn überhaupt, dann haben sie schon die Rechenkapazität, AES zu knacken, aber auch das halte ich für unwahrscheinlich.
Den nächsten Punkt hat Lawliet schon angesprochen: Ein OTP ist wertlos. Es bringt dir rein gar nichts, wenn du am Ende einen Key hast, der genau so lang wie die Nachricht ist. Da hättest du auch gleich einen völligen Zufallstext derselben Länge generieren lassen und die Nachricht damit ersetzen können. Aus dem "verschlüsselten" Text könnte man nur die Nachricht erhalten, wenn man den genau so langen Key hat (und in meinem Beispiel wäre das schlichtweg die Nachricht selbst). Das ist absolut unpraktikabel; da kann man sich das Ganze auch gleich sparen.
Die Herausforderung beim Entwickeln von Algorithmen ist es ja gerade, effiziente und ressourcenschonende Techniken zu entwicklen, die gleichzeitig mit einem möglichst kurzen, aber dennoch sicheren Key auskommen (aktuell wären das wohl zwischen 128 und 2048bit Länge, je nach Verfahren).
Ja und der letzte Punkt wurde dir ja schon ausführlich erklärt: Es gibt aktuell keine echten Zufallszahlengeneratoren ohne Externe Quelle. Der PC kann nur auf Basis eines Seeds möglichst komplizierte Berechnungen durchführen, in denen ein Mensch keinen Zusammenhang mehr sieht - er ist aber dennoch da. Mit genügend Daten kann der Angreifer bei bekanntem Zufallsalgorithmus (und da du sicherlich einen vom .NET Framework verwendest, ist er bekannt) auf den Seed schließen und die ganze (ohnehin schon recht nutzlose) Verschlüsselung wird zur reinen Platzverschwendung.
|
1. Ich vermute sowas nicht, aber es wird von vielen vermutet (Quelle Google)
2. Nein könnte man nicht. Der Key darf keine Rückschlüsse auf den Inhalt des Original Textes wiedergeben, sodass der Key ohne Datei genauso nutzlos wie die Verschlüsselte Datei ohne Key ist.
Wenn man irgendeinen Zufallstext generieren liesse müsste man den Original Text im Key speichern
und Ja das mit dem Zufall ist vermutlich nicht 100% sicher.
3. Ein OTP muss min. einen Key haben der genausolang wie die Original Nachricht ist, weil bestimmte Merkmale des verschlüsselten Inhalts dadrin gespeichert werden.
Naja gut war halt nen Versuch, war aber klar das bei einem komplizierten Thema wie Kryptographie und ohne Vorerfahrung sowas rauskommt
|
|
|
09/29/2013, 21:12
|
#59
|
elite*gold: 10
Join Date: Mar 2013
Posts: 852
Received Thanks: 68
|
Danke für das Tool
|
|
|
09/30/2013, 00:28
|
#60
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Quote:
2. Nein könnte man nicht. Der Key darf keine Rückschlüsse auf den Inhalt des Original Textes wiedergeben, sodass der Key ohne Datei genauso nutzlos wie die Verschlüsselte Datei ohne Key ist.
|
Theoretisch könnte der zufällig generierte Key exakt die Nachricht sein. Da der Key rein zufällig ist, kann man sich nicht sicher sein, dass er der originalen Nachricht gleicht und damit kann man so nicht auf die Nachricht schließen.
|
|
|
All times are GMT +2. The time now is 09:05.
|
|