Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Irdorath, statixx, Teh Wizard of Aiz


 Thema: pOT-lnformatik, Mathematik, Physik XXI ( X-Ray-Edition )
« vorherige 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 nächste »
erste ungelesene Seite | letzter Beitrag 
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Wir verschlüsseln die Daten für unser Buildsystem mit 128bit AES, genau aus dem gleichen Grund. Datenbanken, Keys etc die halt im Netzwerk (nicht Internet) hängen und prinzipiell halt nicht von jedem gelesen werden sollen, aber dabei auch nicht besonders kritisch sind. Ich denke das ist bei euch ein ähnlicher Usecase. Hintergrund dabei ist unter anderem auch, dass das gute alte Zettelbackup nicht völlig absurd wird.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 31.10.2017 12:24]
31.10.2017 12:23:48  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rootsquash

Arctic
Moin. Wie biege ich sowas, was urprünglich für einen Arduino gebaut wurde:

 
Code:
typedef enum {
	NO_ERROR = 0,
	TIMEOUT_ERROR = -100,

	WIRE_I2C_DATA_TOO_LOG = -10,
	WIRE_I2C_RECEIVED_NACK_ON_ADDRESS = -20,
	WIRE_I2C_RECEIVED_NACK_ON_DATA = -30,
	WIRE_I2C_UNKNOW_ERROR = -40
} OPT3002_ErrorCode;

void printError(String text, OPT3002_ErrorCode error) {
    Serial.print(text);
    Serial.print(": [ERROR] Code #");
    Serial.println(error);
}


so um, dass es ohne die Arduino-Serial.print-Funktion auskommt? Geht das in C++ mit diesen Streams irgendwie auto-magisch oder mache ich daraus sowas wie
printf("%s",text);
printf(": [ERROR] Code #");
printf("%?",error);
?

Das sieht nach überflüssiger Arbeit aus und ich habe keine Ahnung, welchen Typ ich für "error" angeben müsste.
31.10.2017 12:33:36  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Noise ist explizit dafür designed schnell und einfach zu sein, weil es modern ist. Bei dem X-Pattern was ich oben vorschlug ist das Verschlüsseln einer Nachricht (iirc, ist lange her, dass ich das implementiert habe): 32 random bytes erzeugen, 1x 25519 DH (macht ein x86 Kern ~40000 mal pro Sekunde), paar bytes mit AES-GCM verschlüsseln, nochmal DH, Payload mit AES-GCM verschlüsseln. Das ist alles richtig fix, solange du da nicht >10k Jobs/Sekunde und Kern umsetzen musst, wirst du keinen Unterschied merken.

(Das X-Pattern ist explizit auch nicht-interaktiv und hat keine Forward-Secrecy, also funktionieren Backups, wenn man die Schlüssel hat)


Bei Crypto denke ich mir halt, relativ grundsätzlich, dass man natürlich immer was hinpfuschen kann und sich dann fragt und mit anderen rumdiskutiert, ob der Pfusch denn so ausreichend ist. Das dauert am Ende länger als $etabliertesProtokoll ausm Regal zu nehmen und letzteres ist dann auch sicher (auf seine dokumentierte Weise).
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 31.10.2017 12:41]
31.10.2017 12:38:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Klar, das wird für Oli auch die bessere Lösung sein. Für uns halt eher nicht so, alleine wegen "Open source implementations exist in C, Java, Go, Haskell, and Rust". Breites Grinsen
31.10.2017 12:41:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
 
Zitat von SwissBushIndian

Mit AES ist deine Keylänge 16 und den Vektor schickst du einfach mit. Das reicht für dich um den Kram nicht lesen zu können. Die Frage ist, ob 16 Zeichen für den User zumutbar sind oder nicht.

¤: Du schränkst dabei natürlich eine Entropie auf die verwendeten Buchstaben ein wenn die 16 Zeichen für ein "schönes" Password benutzt werden, aber um Leute daran zu hinderen mitzulesen reicht das völlig uas.

¤: Der letzte Link macht genau das was ich meine, einfach sehr sicher. Für deinen Zweck reichen 128bit völlig aus.


Inwiefern ist CBC besser als ECB, wenn ich den IV auch in der DB speichere?

 
Zitat von SwissBushIndian

Klar, das wird für Oli auch die bessere Lösung sein. Für uns halt eher nicht so, alleine wegen "Open source implementations exist in C, Java, Go, Haskell, and Rust". Breites Grinsen


Ich will, dass es einfach und stabil ist. DIeses Github Projekt da mit 6 stars würde ich glaube ich erstmalb nicht nutzen. PyCrypto, meinetwegen.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 31.10.2017 12:43]
31.10.2017 12:42:02  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
statixx

AUP statixx 14.11.2023
 
Zitat von Rootsquash

Moin. Wie biege ich sowas, was urprünglich für einen Arduino gebaut wurde:

 
Code:
typedef enum {
	NO_ERROR = 0,
	TIMEOUT_ERROR = -100,

	WIRE_I2C_DATA_TOO_LOG = -10,
	WIRE_I2C_RECEIVED_NACK_ON_ADDRESS = -20,
	WIRE_I2C_RECEIVED_NACK_ON_DATA = -30,
	WIRE_I2C_UNKNOW_ERROR = -40
} OPT3002_ErrorCode;

void printError(String text, OPT3002_ErrorCode error) {
    Serial.print(text);
    Serial.print(": [ERROR] Code #");
    Serial.println(error);
}


so um, dass es ohne die Arduino-Serial.print-Funktion auskommt? Geht das in C++ mit diesen Streams irgendwie auto-magisch oder mache ich daraus sowas wie
printf("%s",text);
printf(": [ERROR] Code #");
printf("%?",error);
?

Das sieht nach überflüssiger Arbeit aus und ich habe keine Ahnung, welchen Typ ich für "error" angeben müsste.



Komplett magisch gehts nicht, aber mit nem kleinen Stub und templates geht viel von selbst:

 
Code:
#include <iostream>

struct SerialWrapper {
	template <typename T>
	void print(T output) {
		std::cout << output;
	};

	template <typename T>
	void println(T output) {
		std::cout << output << std::endl;
	};
};

SerialWrapper Serial;

int main() {
	Serial.print("foo");
	Serial.println("bar");

	return 0;
}
31.10.2017 12:47:27  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
 
Zitat von Oli

Inwiefern ist CBC besser als ECB, wenn ich den IV auch in der DB speichere?



Bei CBC hast du weniger Information der ursprünglichen Nachricht in deiner verschlüsselten. ECB behält die Struktur der Daten bei und verschlüsselt in Blöcken, CBC nicht. Du hast also auch mit dem IV weniger Möglichkeit zu entschlüsseln. Der einzige Vorteil von ECB ist eigentlich, dass man parallel verschlüsseln könnte. Das bringt dir aber gar nichts bei kleinen Messages.
31.10.2017 12:48:05  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Okay. Also einfach IV random generieren und mit dem payload verschicken.

/e: Ich nehme an, wenn der IV verloren geht, kann man die Daten wegwerfen?
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 31.10.2017 12:50]
31.10.2017 12:50:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Der IV erweitert effektiv den Schlüssel. Ohne IV keine Entschlüsselung.

ECB ist kein sonderlich guter Modus:



CBC ist natürlich langsam (der "Chaining"-Teil verhindert parallelisierung bereits auf Instruktionsebene), aber das wird hier keine Rolle spielen.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 31.10.2017 12:51]
31.10.2017 12:50:33  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
RichterSkala

AUP RichterSkala 31.12.2010
(siehe statixxs Post)
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von RichterSkala am 31.10.2017 12:52]
31.10.2017 12:50:49  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
 
Zitat von Oli

Okay. Also einfach IV random generieren und mit dem payload verschicken.

/e: Ich nehme an, wenn der IV verloren geht, kann man die Daten wegwerfen?



Jau.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 31.10.2017 12:51]
31.10.2017 12:51:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Also, bei CBC nutzt er ja den ciphertext 1 als IV für die zweite Encryption und so weiter. Muss ich dann nicht in einer bestimmten Reihenfolge decrypten?

Hier scheint es keine Rolle zu spielen:

 
Code:
    from Crypto.Cipher import AES
    import binascii

    key = binascii.unhexlify('1F61ECB5ED5D6BAF8D7A7068B28DCC8E')
    IV = os.urandom(16)
    encryptor = AES.new(key, AES.MODE_CBC, IV=IV)
    ciphertext1 = encryptor.encrypt("ABC".rjust(32))
    ciphertext2 = encryptor.encrypt("cde".rjust(32))
    print(binascii.hexlify(ciphertext1), binascii.hexlify(ciphertext2))

    decryptor = AES.new(key, AES.MODE_CBC, IV=IV)
    print(decryptor.decrypt(ciphertext2))
    print(decryptor.decrypt(ciphertext1)) # geht auch anders herum
31.10.2017 12:54:49  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Nein, das [Cipher Block] Chaining wird von "Crypto.Cipher.AES" implementiert, nicht von dir. Du erstellst da zwei unabhängige Chiffrate mit dem gleichen Schlüssel und IV (CBC ist da etwas unempfindlicher als andere Modi, tun sollte man das dennoch nicht).

Deswegen brauchst du da auch kein Padding machen (32 Bytes = 256 bit, du paddest gerade eh auf zwei Blöcke), weil dafür Crypto.Cipher.AES zuständig ist.



(Und genau deswegen will man eigentlich eine API haben, wo man nur einen Schlüssel und einen Klotz Daten reinsteckt und man nix falsch machen kann - außer den falschen Schlüssel zu nehmen).
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von csde_rats am 31.10.2017 13:00]
31.10.2017 12:57:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rootsquash

Arctic
Oh, sehr gut, danke. Das ist sogar bequemer als ich gehofft habe.
Wenn ich die ganze Ausgabe einfach in diesen output-stream kippen könnte, ohne diese specifier beim printf anzugeben, wäre das schon alles was ich mir erhofft habe.

Jetzt mus sich aber scheinbar erstmal einen C++-Grundkurs durchklicken, ich scheitere gerade daran einen String zu deklarieren.

/edit:

#include <string>
int main() {
string test = "foobar";
return 0;
}

führt zu einer Fehlermeldung. Ich solle doch z.B. "std::__cxx11::string" nehmen.
Ich gehe davon aus, dass man das Problem los wird, wenn mein sein environment richtig einstellt oder gcc mit den richtigen Optionen aufruft?

/edit2: using namespace std; scheint zu helfen.
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Rootsquash am 31.10.2017 13:19]
31.10.2017 13:01:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
 
Zitat von csde_rats

Nein, das [Cipher Block] Chaining wird von "Crypto.Cipher.AES" implementiert, nicht von dir. Du erstellst da zwei unabhängige Chiffrate mit dem gleichen Schlüssel und IV (CBC ist da etwas unempfindlicher als andere Modi, tun sollte man das dennoch nicht).

Deswegen brauchst du da auch kein Padding machen (32 Bytes = 256 bit, du paddest gerade eh auf zwei Blöcke), weil dafür Crypto.Cipher.AES zuständig ist.



(Und genau deswegen will man eigentlich eine API haben, wo man nur einen Schlüssel und einen Klotz Daten reinsteckt und man nix falsch machen kann - außer den falschen Schlüssel zu nehmen).


Das heißt, für jeden verschlüsselten String nehme ich einen neuen IV und dann muss ich alle IVs mitschicken? Das nervt doch... Wie geht man damit um, wenn man Kram per REST Api hin und her schickt? Im JSON Objekt für jeden verschlüsselten STring direkt den IV daneben? Oder salt-like den IV irgendwie appenden?
31.10.2017 13:04:44  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
 
Zitat von csde_rats

(Und genau deswegen will man eigentlich eine API haben, wo man nur einen Schlüssel und einen Klotz Daten reinsteckt und man nix falsch machen kann - außer den falschen Schlüssel zu nehmen).



Naja, mit java crypt sind das was, 5 Zeilen Code in jede Richtung? Ich habe jetzt mal naiverweise angenommen, dass Python das auch irgendwie kann.

 
Zitat von Oli

 
Zitat von csde_rats

Nein, das [Cipher Block] Chaining wird von "Crypto.Cipher.AES" implementiert, nicht von dir. Du erstellst da zwei unabhängige Chiffrate mit dem gleichen Schlüssel und IV (CBC ist da etwas unempfindlicher als andere Modi, tun sollte man das dennoch nicht).

Deswegen brauchst du da auch kein Padding machen (32 Bytes = 256 bit, du paddest gerade eh auf zwei Blöcke), weil dafür Crypto.Cipher.AES zuständig ist.



(Und genau deswegen will man eigentlich eine API haben, wo man nur einen Schlüssel und einen Klotz Daten reinsteckt und man nix falsch machen kann - außer den falschen Schlüssel zu nehmen).


Das heißt, für jeden verschlüsselten String nehme ich einen neuen IV und dann muss ich alle IVs mitschicken? Das nervt doch... Wie geht man damit um, wenn man Kram per REST Api hin und her schickt? Im JSON Objekt für jeden verschlüsselten STring direkt den IV daneben? Oder salt-like den IV irgendwie appenden?



"It depends". In der Regel aber einfach direkt zusammen und auch so in die DB. Ob der Server oder der Client das dann auseinanderfriemelt ist dir überlassen.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 31.10.2017 13:11]
31.10.2017 13:07:35  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
 
Zitat von Oli

 
Zitat von csde_rats

Nein, das [Cipher Block] Chaining wird von "Crypto.Cipher.AES" implementiert, nicht von dir. Du erstellst da zwei unabhängige Chiffrate mit dem gleichen Schlüssel und IV (CBC ist da etwas unempfindlicher als andere Modi, tun sollte man das dennoch nicht).

Deswegen brauchst du da auch kein Padding machen (32 Bytes = 256 bit, du paddest gerade eh auf zwei Blöcke), weil dafür Crypto.Cipher.AES zuständig ist.



(Und genau deswegen will man eigentlich eine API haben, wo man nur einen Schlüssel und einen Klotz Daten reinsteckt und man nix falsch machen kann - außer den falschen Schlüssel zu nehmen).


Das heißt, für jeden verschlüsselten String nehme ich einen neuen IV und dann muss ich alle IVs mitschicken? Das nervt doch... Wie geht man damit um, wenn man Kram per REST Api hin und her schickt? Im JSON Objekt für jeden verschlüsselten STring direkt den IV daneben? Oder salt-like den IV irgendwie appenden?



Das heißt, für jeden verschlüsselten String nehme ich einen neuen IV und dann muss ich alle IVs mitschicken? Jede verschlüsselte Nachricht benötigt einen eigenen IV. IVs dürfen mit dem gleichen Schlüssel nicht mehrmals (für unterschiedliche Nachrichten) verwendet werden.

Üblicherweise hängt man den IV vor oder hinter die eigentliche Nachricht, oder tut ihn in das Framing der Nachricht

magic || iv || message
{"iv": "....", "message": "..."}
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 31.10.2017 13:12]
31.10.2017 13:10:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Okay, danke, dann nutze ich das mal so.
31.10.2017 13:18:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rootsquash

Arctic
Bei meiner Frage oben ging es um die Ansteuerung eines Helligkeits-Sensors. Ich habe einen OPT3001 und einen OPT3002 hier rumleigen und jetzt erstmal den OPT3002 ausprobiert.

Mein Plan den Code vom Arduino für wiringPi um zu schreiben ist nicht aufgegangen. WiringPi ist ganz anders aufgebaut als die wire.h. Ich habe jetzt einfach eine Routine gebaut die eine einmalige Messung auslöst und dann den Messwert ausliest.
Die Fehlerbehandlung muss ich dann wohl noch hinterherschieben, wenn ich es denn überhaupt stationär benutzen will. Eigentlich reicht es mir das als tragbares Gerät zu haben und ab und an mal zu benutzen.

Trotzdem nochmal Danke an statixx
31.10.2017 18:24:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
statixx

AUP statixx 14.11.2023
Kein Ding.
31.10.2017 18:27:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
PutzFrau

Phoenix Female
 
Zitat von Rootsquash

/edit2: using namespace std; scheint zu helfen.



Hinweis: Nutze
 
Code:
using namespace <namespace>;

wenn überhaupt nur innerhalb von main und niemals innerhalb einer header Datei, um Konflikte zu vermeiden. Aus Stylegründe würde ich generell davon abraten.
In deinem Fall müsstest du eben
 
Code:
std::string

Falls namespaces zu lange Namen haben, kannst du sowas nutzen (allerdings auch wieder nur im lokalen scope!):
 
Code:
namespace io = boost::filesystem;

schreiben.

Natürlich auch auf stackoverflow zu finden:
https://stackoverflow.com/a/1452738

31.10.2017 18:38:21  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
horscht(i)

AUP horscht(i) 14.09.2014
 
Zitat von Oli

Ich bin unsicher, wie gut die Verschlüsslung sein soll.

Es geht um folgendes: Auf HPC clustern ist es im Moment so, dass man eine Mail bekommt, wenn Jobs starten, aborten oder completen. Außerdem kann den Status seiner Jobs immer irgendwie auf den Clustern checken. Das ist sowohl umständlich als auch nervig, wenn man viele Jobs in der Queue hat. Ich habe die letzten Tage jeden Morgen 20+ mails gelöscht.

Ich würde das gerne schöner machen, mit einer Android App. Also rufe ich den Status von Jobs per cron minütlich ab, und sende die Infos an meinen Server, der wiederum (falls ein Event passiert ist) auf die Android Clients pushed.

Da sind eigentlich keine persönlichen Daten dabei, und ich kann auch von jedem anderen Nutzer die Queue angucken. Aber dennoch will ich nicht unbedingt eine Datenbank am Netz haben, wo eine history aller Jobs der NUtzer irgendwie gespeichert ist. Deshalb würde ich die Daten teilweise verschlüsseln wollen (also zumindest Job ID, name, user, binary path, etc.)

Es scheint mir ein bisschen übertrieben, da jetzt so wahnsinnig sichere Verfahren anzuwenden. Außerdem muss die Verschlüsslung schnell gehen.

Eigentlich wollte ihc auch vermeiden, Dependencies zu haben. Ich hatte gehofft, sowas geht mit der stdlib von Python.


Ohne Krypto-Experte zu sein: Würde man in einem solchen Szenario nicht die Daten symmetrisch verschlüsseln, z.B. AES, und dann die Schlüssel per asymmetrischer Verschlüsselung austauschen?
01.11.2017 0:31:33  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Dann erfindest du aber halt TLS neu.
01.11.2017 11:29:38  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
horscht(i)

AUP horscht(i) 14.09.2014
 
Zitat von SwissBushIndian

Dann erfindest du aber halt TLS neu.


War eine Verständnisfrage. Muss mich beruflich damit etwas auseinandersetzen.

fakeedit:
In der Tat...gerade gesehen, dass dies in vielen Verbindungsprotokollen schon drin ist.
01.11.2017 12:40:00  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Der Grund ist, dass asymmetrische Kryptosysteme entweder nicht praktikabel oder gleich unsicher sind für größere Nachrichtenlängen. Alternativ unterstützen sie gar keine Verschlüsselung wie z.B. elliptische Kurven.

Deswegen ist asymmetrische Verschlüsselung obda immer hybrid implementiert.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 01.11.2017 13:00]
01.11.2017 13:00:24  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wraith of Seth

wraith_of_seth
unglaeubig gucken
 
PROBLEM 60: RUZIEWICZ
Can one, for every ε > 0, represent the surface of a sphere as a sum of a finite number of regions which are smaller in diameter than ε , closed, connected, congruent, and have no interior point in common? We assume that the boundaries of these sets are: (a) polygons, (b) curves of finite length, (c) sets of measure zero.



Das scheint ungelöst (Stand 2015) zu sein. Wat?!

Amen. Halleluja. Erdnussbutter.
02.11.2017 11:05:39  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Ich halte ja dieses Semester meine erste VOrlesung, Scientific Software development. Da geht es halt um so vom "1-file-Programm" zum parallelisierten, veröffentlichten, getesteten, versionierten, gebenchmarkten, dokumentierten Softwarepaket, mit Fokus auf wissenschaftlichem Code. Die Studis sollen ein Softwareprojekt implementieren mit allem drum und dran und dann nachher einen Vortrag drüber halten.

Hat jemand Projektideen? Es sollte physikalischen Bezug haben und nicht zu aufwändig sein (1-2 Studenten sollen es neben Unit Tests, Dokumentation, etc. bis Januar als normale Prüfungsleistung schaffen können). Bisher habe ich:

1. lattice Boltzmann Modell um Navier Stokes Gleichung zu simulieren
2. Molekulardynamik Simulation einer Lennard Jones Flüssigkeit
3. Propagation einer Wellenfunktion in irgendeinem vorgegebenen Potential
4. ???

Neuronale Netze oder genetische Algorithmen fände ich interessant, es sollte aber noch einen Bezug zur Physik haben.

/e: Level der Leute schwankt zwischen "Mal was mit Python gemacht" und "ordentliche C Kenntnisse". Physikalisch wohl alle irgendwie so Master Niveau.
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Oli am 02.11.2017 19:11]
02.11.2017 19:06:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
nobody

nobody
Wo muss ich mich als Gasthörer einschreiben? peinlich/erstaunt Ich code zwar seit hundert Jahren mehr oder minder hauptberuflich vor mich hin, aber mit meinem Programmierstil und meinem Workflow könnte ich den ganzen Thread hier mit Krebsaids anstecken.

Wenn's auch ein bisschen in Richtung Earth Science gehen darf: Ich durfte im Studium mal (in Mathematica ) eine Daisy world programmieren https://en.m.wikipedia.org/wiki/Daisyworld
Hat Spaß gemacht und war pädagogisch wertvoll. Glaube, wir haben das damals noch um Photosynthese + Treibhauseffekt erweitert. Dunno, ziemlich lange her. Kann aber bei interesse mal in meinen Archiven wühlen. /e: Hab mich geirrt, das Ding hier haben wir gebastelt. War ein Systemanalyse-Kurs. http://www.sciencedirect.com/science/article/pii/S0304380097001877 Vielleicht ein bisschen weit weg von der Physik.

Zum Thema genetische Algorithmen: Irgendein Optimierungsproblem mit Differential Evolution angreifen? DE ist superleicht zu programmieren.
[Dieser Beitrag wurde 5 mal editiert; zum letzten Mal von nobody am 02.11.2017 20:05]
02.11.2017 19:30:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Danke, gucke ich mir beides mal an.

Ein bisschen Dokumentation und Testing kannst du dir auch so anlesen. Ich habe das Gefühl, die Studis langweilen sich bisher. traurig
02.11.2017 20:43:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wraith of Seth

wraith_of_seth
Ich erinnere mich bei was ähnlichem (Kurs zu Monte-Carlo-Sims in Bonn, war aber nicht selbst dabei) unter anderem an das Simulieren von Sandhäufchen und wann die zusammenfallen... Klang so halb nach dem, was du suchst..

PS: Ich hatte das hoffentlich noch nicht hier gepostet: https://physics.stackexchange.com/questions/111006/how-does-light-bend-around-my-finger-tip

All the cherubims say, "You gotta!" - trust the man with the stigmata!
02.11.2017 23:45:25  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: pOT-lnformatik, Mathematik, Physik XXI ( X-Ray-Edition )
« vorherige 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 nächste »

mods.de - Forum » Public Offtopic » 

Hop to:  

Mod-Aktionen:
18.06.2018 07:25:48 Sharku hat diesen Thread geschlossen.
04.05.2017 21:55:58 Sharku hat diesem Thread das ModTag 'pimp' angehängt.

| tech | impressum