|
|
|
|
See Also
Russian copulation, another technique to prevent cribs
Da hatte jemand Spaß
---
Oh, es gibt ein Verschlüsselungs-Modul für ZODB. Ist das denn auch gute Crypto? Hmm, ne, sieht irgendwie nicht so aus...
Ich bin mir da nur so 80 % sicher, weil das eher unübersichtlicher Code ist. Aber für mich sieht es so aus, als würden sie da nicht nur AES-CBC + PKCS#7 Padding ohne EtM (oder überhaupt irgendeine Authentifizierung) fahren, was an sich schon sehr kritisch ist. Zusätzlich scheint der IV fix zu sein, während der Schlüssel ebenfalls fix ist.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 25.12.2016 3:08]
|
|
|
|
|
|
| Zitat von csde_rats
Also the combination of first zlib'ing the contents and then encrypting them might be problematic
| |
que?
|
|
|
|
|
|
|
|
|
|
|
| Zitat von kRush*
| Zitat von csde_rats
Also the combination of first zlib'ing the contents and then encrypting them might be problematic
| |
que?
| |
Es gibt da ne ganze Klasse von Angriffen (ala CRIME, BREACH). Die Idee geht eigentlich immer so, dass der Angreifer irgendwie in der Lage ist, Zeugs in den Plaintext reinzutun, und versucht Teile vom restlichen Plaintext rauszufinden. Dann wird der gesamte Plaintext vom Orakel komprimiert und verschlüsselt. Jetzt kann ich als Angreifer einfach ein paar Werte durchprobieren, und schauen, wann der Ciphertext kleiner wird (weil er besser komprimiert wurde). In dem Fall komprimiert also $RestVomPlaintext mit $MeinenInjeziertenDaten, also muss $RestVomPlaintext meinen Daten irgendwie ähnlich sein -> bewm.
Das geht nicht immer, die Art von Orakel hat nunmal nicht jede Software. Aber wenn man einen generischen DB-Verschlüsselungs-Layer hat, dann halte ich das durchaus für wahrscheinlich. Beispiel: Irgendwelche Formulardaten werden im gleichen Objekt gespeichert wie etwas, was der Nutzer/Requestor nicht wissen soll ($diverseBeispiele, sagen wir mal seinen $SecretsocialScore). Das Orakel wäre hier, dass man sich die verschlüsselten Daten anschauen kann (direkt oder Traffic oder whatever) und seine Daten über das Formular injezieren kann.
(Nen ganz anderer Punkt wäre, dass zlib heutzutage einfach nervig langsam ist ... )
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 25.12.2016 12:19]
|
|
|
|
|
|
I've never heard of keas.kmi being audited by a crypto specialist, so I wouldn't be surprised to find it's completely unsafe.
|
|
|
|
|
|
|
|
|
|
|
Oh. Man, waere das schoen
|
|
|
|
|
|
|
So, bin auf dem Kongress zu finden.
Wenn GSM wieder geht kann man mich auch mit 2572 anrufen.
|
|
|
|
|
|
|
Sitze auch auf dem Congress bei der C4 Assembly rum. Wer ist denn alles da?
|
|
|
|
|
|
|
*meld*
Schau mir gleich den Woolim talk an.
Dann noch "Nicht öffentlich" dann feierabend für heute.
Dect 5871. Morgen ab 10 beim bewachen der rauchertür im heaven zu finden.
Acid
|
|
|
|
|
|
|
sshguard sperrt mich aktiv von meinem Server aus.
Long story short, $hoster kann den Reverse DNS-Eintrag nicht auflösen. Und ich dreh schon am Rad, warum der Host von außen "tot" ist für mich, die VMs aber fehlerfrei laufen. UseDNS no schafft immerhin Abhilfe.
|
|
|
|
|
|
|
|
|
|
|
Ein Kumpel hat mir ne ITT Dialogtastatur 2140 in die Hand gedrückt.
Das Ding ist für BTX...
Was zur Hölle mache ich damit? Komm ich noch irgendwie da rein? Oder ist das komplett abgeschaltet worden?
|
|
|
|
|
|
|
Datenübertragung per I2C selbstmachen? Nimm doch ab besten einen Arduino als Gegenstelle, das ist doch viel einfach als noch einen weiteren ATMega zu flashen und auf ein Board zu packen und...
*.ino
|
Code: |
#include "my_i2c_modules.h"
void setup(void) {
wtf();
}
void loop (void) {
} |
|
my_i2c_modules.h
|
Code: |
#ifndef INC_MY_I2C_MODULES_H
#define INC_MY_I2C_MODULES_H
#include <avr/io.h>
uint8_t wtf(void);
#endif /*INC_I2C_MODULES_H*/ |
|
my_i2c_modules.c
|
Code: |
#include "my_i2c_modules.h"
uint8_t wtf(void)
{
return 0;
} |
|
|
/tmp/cc8CrBVV.ltrans0.ltrans.o: In function `setup':
/home/luda/Arduino/NTP/NTP.ino:4: undefined reference to `wtf()'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino/Genuino Uno.
| |
Kann mir jemand sagen was daran falsch ist?
|
|
|
|
|
|
|
Spoiler - markieren, um zu lesen:
Arduino
SCNR. :(
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 30.12.2016 19:46]
|
|
|
|
|
|
Wenn du mir sagst, wie du es kompiliert hast? Offenbar findet er die Implementierung der Funktion beim Linken nicht.
|
|
|
|
|
|
|
Ich dücke in der Arduino-IDE (1.8.0) auf den grünen Haken.
Die Dateien liegen im gleichen Ordner wie die *.ino.
Ich habe die auch schon in ~/Arduino/libraries und sonstwohin geschoben, aber der linker/compiler bleibst stur.
Ich kann auch nen 2 MHz Oszillator ausm Keller holen und das "diskret" aufbauen. Aber um "mal kurz" was zu testen sind die Arduinos ja eigentlich vorteilhaft. Wenn die Scheiße denn funktionieren würde...
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Rootsquash am 30.12.2016 20:01]
|
|
|
|
|
|
Nicht dass ich mich mit der Arduino-IDE großartig auskennen würde, aber sofern du die .c nicht irgendwie dem Projekt hihnzufügst, wird die wohl einfach nicht kompiliert. Es scheint ein Tabs-Feature zu geben um seinen Code über mehrere Files verteilen zu können, schau mal hier: http://forum.arduino.cc/index.php?topic=165678.0
|
|
|
|
|
|
|
Das ist für Leute gedacht die nicht programmieren können. Also noch weniger als ich. Eine neue Datei die zum Projekt gehört, zum Beispiel weil sie im gleichen Ordner liegt, wird automatisch in einem Tab geöffnet. Man kann auch keine Tabs schließen, man kann nur die Datei löschen. Da er die Tabs für die my_i2c_modules.h und my_i2c_modules.c automatisch mit öffnet, scheint er zu wissen dass sie zum Projekt gehören und sollte sie entsprechen auch mit kompilieren.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Rootsquash am 30.12.2016 21:11]
|
|
|
|
|
|
kompiliert denn die i2c.c?
|
|
|
|
|
|
|
Ich denke schon, er meckert ja nicht darüber. Wenn ich da Unfug reinschreibe wirft er eine Fehlermeldung.
|
|
|
|
|
|
|
Ohne selbst jemals etwas mit Arduino gemacht zu haben, probier doch mal:
my_i2c_modules.h
|
Code: |
#ifndef INC_MY_I2C_MODULES_H
#define INC_MY_I2C_MODULES_H
#include <avr/io.h>
#ifdef __cplusplus
extern "C"{
#endif
uint8_t wtf(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif /*INC_I2C_MODULES_H*/ |
|
|
|
|
|
|
|
|
Guter Punkt, Arduino-Code läuft normalerweise durch nen g++.
|
|
|
|
|
|
|
TIL
Jede Sphinx-Doku ist automatisch Inter-Sphinx-fähig.
Das heißt: Jede Doku auf ReadTheDocs oder PythonHosted kann direkt in die eigene Doku eingebunden werden. Mit wortwörtlich 1 Zeile Konfiguration.
|
|
|
|
|
|
|
Das geht.
Was passiert da? Ich dachte das wäre so ganz simples Standard-Zeug, kann der g++ das nicht?
|
|
|
|
|
|
|
C++ hat "Name-Mangling", die Typen der Parameter und des Rückgabewertes werden in den eigentlichen Funktionsnamen kodiert. Dadurch wird Overloading ermöglicht.
Im C++-Modus versucht der Compiler also C++ wtf() zu finden, was intern z.B. uint8_tXXwtfXXvoid heißt. Das gibt es dann aber nicht. Mit "extern C" sagt man dem C++-Compiler, dass dieses Symbol ein C-Symbol ist, der Name also einfach so, ohne Fleischwolf, verwendet werden soll.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 30.12.2016 23:31]
|
|
|
|
|
|
Ah, gut zu wissen. Ich dachte das wäre ganz stumpf abwärtskompatibel.
Vielen Dank
|
|
|
|
|
|
|
|
|
|
|
Frohes Neues
Ich finde die Leistung beeindruckend. Und ihren Googletreffer hab ich echt gefeiert.
|
|
|
|
|
|
|
naja "*BSD is dying" würd ich als linux linux only user so nicht unterschreiben und mir vorallem auch auf keinen fall "wünschen"...
|
|
|
|
|
|
Thema: Der Linux-Thread 100 // 0x23 ( const int MAX_POST = 30 * 100; // 0x23 ) |