Moin moin
da die Woche eine super Woche wird und endlich der Sommer kommt, denke
ich sind die Köpfe reif für eine praktische Erholung nach der
andauernden ESP Phase -
ich habe mir diese Woche viel Theorie (Lektüre ) vorgenommen dem ESP8266
die SD Card noch näher zu bringen und habe am Wochenschluss ein Ass im
Ärmel ( AES256 ) (lib ) , ich arbeite darauf hin, es hier wieder
kundzutun, sofern mir Espressif nicht zuvorkommt; denn die kennen das
Thema schon zwei Wochen uns sind 'hellwach' ;-) - aber
Mikrocontroller.net
hat Vorfahrt ;-)
Daher: hier schon mal die Lib dazu. Einfach ins lib Verzeichnis kopieren
und im Makefile mitaufführen 'aes256'
Das h file folgt mit dem Projekt und allen Beschreibungen der API*s und
Docu leider erst am Wochende. Am Montag Abend jedoch poste ich ein
kleines Projekt mit der header Datei vorab - damit sich einige damit
schon einspielen können - Das grosse Projekt bereite ich für das WE vor
für NOVM xtensa explorer, VM ubuntu ide sowie victors IDE und werde in
Youtube das ganze veranschaulichen.
Damit ist eine Kommunikation zwischen der Peripherie ( UART, SPI, I2S
usw ) nun verschlüsselt, auch der WEB Teil kann jetzt eigenmächtig
verschlüsselt werden, der Bootloader kennt jetzt AES256, und das
Firmware File / darf in Teilen komplett AES256 crypted sein und bleiben.
Für mich ist das jetzt ein spannender Moment - bin daran schon einige
Zeit.
Gerade in Hinsicht einer 'CryptoBox' ist es sehr spannend in dem Thema,
was der 1 Dollar Chip leisten kann wenn man ihn ausreizt.
Wer ist denn noch aktiv dabei und würde sich ein paar Dinge antun dieser
Woche, mein Anliegen ist es, verschiedene Beschaltungen und SD Cards zu
probieren und in einer Liste festzuhalten ( WIKI ) was geht und was
nicht.
Dabei spiele ich als erstes nur ein einfaches Bit Banging an, danach das
einfache SPI und dann in Kombination mit (H)SPI ( Flash, Oled, MCP23S17,
SD Card )
Der ESP8266 soll dann zum Schluss Teile von der SD Card als Bootcode
verwenden, die AES256 verschlüsselt sind und die Firmware 'etwas'
schützen.
Wer 'echte' Interesse?
Bin ab Mi/Do wieder online dabei - habe mir die nächsten zwei Tage
vorgenommen mehr über FAT und SD zu studieren und die Unterlagen schon
vorbereitet, mal sehen wie sich der Thread füllt oder ins Nirvada
schwindet ;-)
lg rudi ;-)
Meine Fragen (leider meine Schwachstellen) :
Hat jemand eine SD Card am ESP per
-> Bit Banging
-> SPI
Wie sind die Erfahrungen gewesen?
Würde jemand sein Projekt hier ( Hersteller, Volume, Beschaltung )
posten?
Mich wundert es nur, weil es dazu - wenn man danach sucht -
keine aktuellen Einträge gibt.
Das sollten wir schnellstens ändern und die ersten sein.
Mit AES256 sind wir es jetzt - die Lib im Anhang - meine eigene Lib!
"AES256 ESP8266 done!"
Marc S. schrieb:> Wird die lib open soure?> einer privaten closed source crypto lib würde ich meine daten nicht> anvertrauen.
Du weisst schon wie AES256 funtioniert, oder?
256 bit Schlüssel erstellst du selber, die Routinen sind alle open
source, sogar die Tabellen sind public. Denk mal drüber nach, ob das
zutreffen kann, was du geschrieben hast. Dass es eine Lib zu den
Routinen dazu gibt, liegt daran, es einfacher im Projekt zu handhaben:
1
uint8_t buffer[16] = "ESP goes AES256!";
2
uint8_t key[32] = ".............1f3a6e......";
3
4
uart0_sendStr(crypt(key,daten[16]));
Dir bleibt es aber selbst überlassen, aus den Routinen selber eine Lib
zu 'basteln'. AFAIK warum nur gibt es die nicht von dir?
Deine State erklärt mir das.
Läuft deine SD Card am ESP schon? Nein?
..
Dr AES256 schrieb:> Marc S. schrieb:> Wird die lib open soure?> einer privaten closed source crypto lib würde ich meine daten nicht> anvertrauen.>> Du weisst schon wie AES256 funtioniert, oder?> 256 bit Schlüssel erstellst du selber, die Routinen sind alle open> source, sogar die Tabellen sind public. Denk mal drüber nach, ob das> zutreffen kann, was du geschrieben hast. Dass es eine Lib zu den> Routinen dazu gibt, liegt daran, es einfacher im Projekt zu handhaben:
und woher weiß ich dass rudi die open sorce Routinen richtig
implementiert hat? nur weil irgendwo eine open source implementierug
existiert heißt das doch nicht das ich rudi vertrauen kann.
Alex W. schrieb:> Wieso postest du eine .a-Datei und keine .c-Datei?
Weil ich immer noch mündig bin und selbst entscheide
was ich poste und was nicht.
Der Hauptgrund ist aber, weil man in jedem Projekt dann die c. Datei
stehen hat und mit einer a. Datei im SDK Ordner unter den Libs steht
wo sie dann hingehört und das Projekt übersichtlich hält.
Es gibt auch
spibitbang.a i2cbitbang.a mcp23x.a vpn.a
und noch ein paar.. ich war nicht untätig das letzte dreiviertel Jahr
und spare mir das auf fürs Finale ;)
>> Hier kann man es laden:> http://www.literatecode.com/aes256
Das war auch nicht sonderlich schwer, steht ja alles in der lib drin :)
es gibt nur eine Implementation die es wert ist,
drüber zu sehen - und es ist die Beste.
Wenn ich mir behelfen kann dann können es andere noch viel besser:
Dann braucht keiner bis heute Abend warten wegen der header,
der kann direkt von der Quelle bezogen werden.
Auch den Download der Lib kann man sich sparen und
selber machen:
Einfach die c. Datei in den Projekt Ordner aufnehmen,
die Header anpassen für den ESP / SDK,
compilieren und man hat AES256 im Projekt.
Nebenbei ensteht dann die o. Datei
aus der macht man dann eine a. Datei
die man dann als a. Datei Archiv
in den Lib Ordner stellen kann
um sich das gefummle bei jedem Projekt mit der
c. Datei zu sparen.
Einfach dann im Makefile die a. Datei mit angeben, wenn es dann
gebraucht wird.
Dann gibit es kein Gerangle über Vertrauen und Misstrauen,
dann kann sich jeder selber am Besten vertrauen.
Nur frage ich mich nach soviel 'Gegenklugscheissen' gerade,
warum das bisher noch keiner gemacht hat?
Ist nicht böse gemeint, aber ich finde keinen anderen Ausdruck der
besser passt zu den drei Statements - sorry - nicht zu meinem :)
>> Wiki weiß auch was:> https://en.wikipedia.org/wiki/AES_implementations#C.2FASM_library
Es gibt x Seiten über AES256
>> Und das Labor hat auch geforscht:> http://www.das-labor.org/wiki/AVR-Crypto-Lib
ja ja - liest du das auch?
du solltest nicht stehen bleiben mit deinem wissen, wenn du meinst, du
weisst etwas..
"WICHTIG: Diese Seite ist inzwischen veraltet. Mittlerweile hat sich
eine Menge getan"
Du solltest verlinkte Seiten daher erst mal lesen ;-)
und - AVR hat nicht wirklich was mit dem ESP zu tun,
aber du sollst Recht behalten.
Dann kann ich mir die Vorstellerrei der Projekte hier wohl sparen für
euch beide? Beachtet es dann einfach nicht :) Die anderen Downloader
werden es vorgestellt bekommen und hoffe, dass sie sich genauso freuen
wie ich,
wie das reibungslos alles läuft.
Mein Hauptanliegen war eigentlich SD Support im ESP und da von Anfang an
mit dem ESP AES256 schon seit Oktober mache :
"also loop AES256 in Debug line and Bootline for fuses the Firmware "
http://www.esp8266.com/viewtopic.php?p=1447
und espressif mein flehen danach nicht nachkommt,
http://bbs.espressif.com/viewtopic.php?t=12&p=235#p133
und auch die Hardware decrypting im Maskrom offenzulegen wollte ich
lediglich denen einen Gefallen tun, die das auch so einsetzen wollen
aber nicht implementieren können.
Der interessante Teil wird der Bootloader Code, der protected code in
den iram lädt - gibt es sowas schon?.. denke nicht :)
Ausserdem kombiniere ich SD Card mit Firmware und protected Mode.
Das war mein Pferd auf das ich von Anfang an gesetzt habe und bis heute
nach fast einem Jahr keiner da ist, der das 'noch' machen kann .. ..dann
wartet mal das Wochenende ab, ich geniesse es die Woche, zuzusehen, wie
der Mund bei denen wassrig wird die 'Gegenklugscheissen' .... ;-) ;-)
;)
Ich setze das in einem Projekt für Industry 4.0 bereits in Preview
Release ein. Auch gibt es einige Windwos Apps, Android Apps und noch
andere Dinge, Aber na gut. Das bin ich mittlerweilen hier von ein paar
Jungs so gewohnt, so empfangen zu werden. Und die brauchen mich ja
nicht.
Neben AES256 sollte man sich dann auch die Arduino Geschichte ansehen,
das ist dann für jeden verständlich, wie der esp und eine andere mcu in
dem Fall dann der Arduino über Schnittstellen verschlüsselt übertragen.
..
dabei waren diese Sachen sehr anschaulich
loop AES
http://sourceforge.net/projects/loop-aes/http://loop-aes.sourceforge.net/aespipe/
others: ( arduino ect )
https://github.com/qistoph/ArduinoAES256
Aber ich habs dann lassen und mich auf das konzentriert:
http://www.literatecode.com/aes256
Ein Beispiel von mir hab ich mal in den Bildern wiedergegeben,
meine Bilder! Rufus ;) mein Text :)
Einen kurzen Abriss kann man auch in einem anderen Forum lesen,
wo ich das noch einsetze und umgeschrieben habe für AMR, AVR, PIC und
weitere.
http://www.matrixtsl.com/mmforums/viewtopic.php?f=58&t=16519
Und jetzt mache ich das public auch für den ESP8266.
Ich bleib mir in meiner Arbeit treu :)
Marc S. schrieb:> und woher weiß ich dass rudi die open sorce Routinen richtig> implementiert hat?
was gibt es da verkehrt zu machen?
1
uint8_tkey[32],buf[16],i;
2
3
// test key ...0001020304050607.....
4
for(i=0;i<sizeof(key);i++)key[i]=i;
5
6
aes256_context,ctx;
7
8
aes256_init(&ctx,key);
9
10
aes256_enctypt_exb(&ctx,buf);
11
12
// Crypted Byte'S sind jetzt im buf
13
14
aes256_done(&ctx);
> nur weil irgendwo eine open source implementierug> existiert
mhm.. irgendwo ist gut :) na ja .. lass das mal so stehen.
aber heist dass, dass du der osi nicht vertraust
> heißt das doch nicht das ich rudi vertrauen kann.
oder mir?
mir musst du nicht vertrauen.
deinem key ( siehe code ) must du vertrauen, dass er gut ist.
Die Routinen sind überall gleich.
Die Boxen sind überall gleich
Kein Wunder - wenn die anders wären oder sabotiert, dann würden
chipper/dechipper nichts mehr damit anfangen können.
So
nun viel Text, viel heisse Luft und .. viel zwinkerei
Dann freue ich mich von Euch beiden auf Gegenprojektion :)
lg rudi ;-)
take it easy!
peace Y
edit:
Zurück zum Thema:
SD Card am ESP8266 / FAT/FAT16/FAT32
Links zum einlesen
http://codeandlife.com/2012/04/02/simple-fat-and-sd-tutorial-part-1/http://www.compuphase.com/mbr_fat.htmhttp://www.tavi.co.uk/phobos/fat.html
Wer ist dabei? Bei wem läuft eine SD bereits?
Standardmodule!
ESP 01 -- ESP 12
edit2:
http://security.stackexchange.com/questions/61361/why-use-256-bit-symmetric-encryption-in-tls-when-2048-bit-rsa-doesnt-even-offer
edit3:
man muss nicht enc / dec als header nehmen wie in den drei bildern,
man kann es, und so sein eigenes 'id' protokoll aufbauen.
für FC dient es im Flussdiagramm als Stütze für das bessere Verständnis,
ohne mir dabei etwas zu denken;
in der peripherie kommunikation fällt das alles weg, und es werden
die blocks geschauffelt, später kommt eine polymer dazu,
da kann man dann rechnen was man will :)
..
txs hage!
edit5:
online tool
http://aes.online-domain-tools.com/
Ich brauche kein gegenprojekt rudi, es ging mir nur darum, dass eine lib
ohne den dahinter liegenden code zu kennen genau so gut die daten die
ich schützen will an den macher der lib versenden könnte.
Kryptografie ist ein heikles thema und wenn ich es für nötig halte sie
ein zu setzen sollte ich der quelle auch vertrauen können oder
nachprüfen können ob da alles mit rechten dingen zu geht. da du deine
quellen offen gelegt hast steht einem vertrauensvollen einsatz deiner
lib nichts im wege.
Marc S. schrieb:> Ich brauche kein gegenprojekt rudi, es ging mir nur darum, dass eine lib> ohne den dahinter liegenden code zu kennen genau so gut die daten die> ich schützen will an den macher der lib versenden könnte.>> Kryptografie ist ein heikles thema und wenn ich es für nötig halte sie> ein zu setzen sollte ich der quelle auch vertrauen können oder> nachprüfen können ob da alles mit rechten dingen zu geht. da du deine> quellen offen gelegt hast steht einem vertrauensvollen einsatz deiner> lib nichts im wege.
hi marc,
das hätte ich heute abend sowieso offengelegt, für FC ( Flowcode ICON )
habe ich das ja auch offengelegt und geschrieben auf was es aufbaut.
ich nehme z.B. die quelle für alles her, auch in Delphi, XE und MS
Studio , habe meine eigene DLL dazu gemacht, weil ich grad in dem thema
drin war und warm war und ;) weil ich bei solchen sachen auch gerne auf
eigene Sachen aufbaue, darum verstehe ich das statement sehr gut, ist ja
auch berechtigt.
mir hat die konstellation der mcu's spass gemacht die sich dann die
sachen geteilt haben, so enstand dann der AES256 explore..
auch für android gleich durchgezogen. ich poste das schon noch alles;
mir läuft wie immer die Zeit davon. rasen mähen muss ich auch wieder :)
familie hängt im nacken, auto muss zum tüv usw :)
mir geht ein schlussteil ab, und das ist das SD Card Kapitel und da
wollte ich mich halt mit einigen austauschen die eine SD Card daran
schon betreiben, denn es gibt lustigerweise dazu von mir kleine ansätze
(copyprotect bereiche auf der card) die für den ESP sehr nützlich sind
und sich eben mit der libaes256 wahnsinnig gut vertragen, wie aus dem
Bilderbuch. später mehr versprochen, muss das selber erst noch richtig
verstehen ob das future oder bug ist :)
hoffe das du mein state nicht pers. nimmst. wäre schön wenn wir hier ein
mircrocontroller.net sd card projekt stemmen würden, denn die
wettstreiter sind derzeit alle dabei, zu kontern.
und noch was:
das neue ESP-12E ist mit vorsicht zu geniessen, auch das WROOM
http://bbs.espressif.com/viewtopic.php?f=7&t=654&sid=8e2e8353ac8e7a0c6d8b592c3cb57b8c#p2406
wir sind und bleiben community!
lg rudi ;-)
aber das wissen ESP fans :)
uncut video preview , sorry für die qualität,
aber es sind meine ersten bandicam's, und unbearbeitet.
sitze an einem anderem rechner. am wochenende sieht alles anders aus
--------------------------------------------------------------------
Webserver mit AES256
http://youtu.be/2RqG_T-iinE
protected AT Version mit AES256
http://youtu.be/eVfmBTm5Isg
protected developer key im AT+GMR
und extended security tags
http://youtu.be/QjjikxtHoCI
header folgt.
lg
rudi ;-)
Super Arbeit,
So weit bin ich noch nicht, arbeite noch daran mir die
Entwicklungsumgebung aufzusetzen (komm leider aus der Windows Richtung)
Aber mein Ziel ist es den FT800 anzusprechen. Gameduino 2 hängt schon am
ESP-03.
Werde das hier auch weiter verfolgen.
erweiterter einfacher header
mit ein paar #defines -
für das spätere printen oder weiterreichen in
gepaartem hex format..
variablen dann nicht vergessen einzurichten
im c file.
file:
aes256.h
1
#ifndef uint8_t
2
#define uint8_t unsigned char
3
#endif
4
5
#ifdef __cplusplus
6
extern"C"{
7
#endif
8
9
typedefstruct{
10
uint8_tkey[32];
11
uint8_tenckey[32];
12
uint8_tdeckey[32];
13
}aes256_context;
14
15
16
17
18
19
#define dumpx(s, i, buf2, sz) { at_port_print(s); \
20
for (i = 0; i < (sizeof(buf2));i++) \
21
{ \
22
os_sprintf(dumpmsg,"%02x ", buf2[i]);\
23
at_port_print(dumpmsg); \
24
} \
25
at_port_print("\r\n"); }
26
27
28
#define dumpc(s, i, buf2, sz) { at_port_print(s); \
29
for (i = 0; i < (sizeof(buf2));i++) \
30
{ \
31
os_sprintf(dumpmsg,"%c ", buf2[i]);\
32
at_port_print(dumpmsg); \
33
} \
34
at_port_print("\r\n"); }
35
36
37
#define dumpxk(s, i, buf2, sz) { at_port_print(s); \
ein kleines anschauliches beispiel:
file..
je nachdem wo man es braucht
hier mal
eventuell in der user_main.c
eventuell unter der user_init()
hab das sio in das forum geschrieben
können schreibfehler drin sein
1
..
2
#include"aes256.h"
3
..
4
5
6
7
uint8_tkey[32],i;
8
uint8_tbuf[16]="rudi goes AES256";// ich spare mir das \0
9
uint8_tmsg[128]={0};
10
11
// AES256 Procedure
12
// standardkey test einrichten
13
// test key ...0001020304050607.....
14
for(i=0;i<sizeof(key);i++)key[i]=i;
15
16
// ..
17
aes256_contextctx;
18
19
// ..
20
aes256_init(&ctx,key);
21
22
// crypted nun den buf inhalt "rudi goes AES256"
23
aes256_encrypt_ecb(&ctx,buf);
24
25
// crypted Byte'S sind jetzt im buf
26
// und können weiterverarbeitet werden.
27
// uart ausgabe?
28
// daten weiterreichen?
29
// ..
30
31
32
// für den Fall dass hier jetzt schluss ein soll
33
// aes256_done(&ctx);
34
35
// wir wollen aber noch decrypten und nehmen gleich den buf als eingabe her
36
// der kann jetzt von einem UART kommen, oder SPI oder ...
37
// sollte die AES256 Prozedure geschlossen sein
38
// dann muss man eine Instanz wieder öffnen
39
// soll es ein andere Key sein, dann den key nehmen der
40
// erforderlich ist, um zu decrypten
41
// wenn es sich um den demo key handelt
42
// dann eben wieder 00010203....1F
43
44
// AES256 Procedure
45
// standardkey test einrichten
46
// test key ...0001020304050607.....
47
// brauchen wir jetzt aber nicht weil wir die gleiche
48
// Instanz verwenden daher auskommentiert
49
// for (i=0; i < sizeof(key) ; i++ ) key[i] = i;
50
51
// ..
52
// aes256_context ctx;
53
54
// ..
55
// aes256_init(&ctx, key);
56
57
58
// decrypted nun den crypted buf inhalt 0x1f ....
59
aes256_decrypt_ecb(&ctx,buf);
60
61
// decrypted Byte'S sind jetzt im buf
62
// und können weiterverarbeitet werden.
63
64
// jetzt schliessen wir mal das aes256 procedere ab
65
aes256_done(&ctx);
66
67
// wir sind fertig
die libaes256.a ins SDK lib verzeichnis
und im Makefile dann den eintrag der lib nicht vergessen
aes256
sollte bis zum weekend ausreichen.
jeder kann sich die aes256 routinen dann so verkapseln wie er sie
braucht,
z.b. als functionen einbauen..
1
// standardkey..
2
voidaes_set_standardkey(){
3
4
for(i=0;i<sizeof(key);i++)key[i]=i;
5
// dumpx("key:set ", i, key, sizeof(key));
6
}
7
8
// beispiel aus dem video
9
// anderer key
10
voidaes_set_kndkey(){
11
for(i=0;i<sizeof(key);i++)key[i]=i+3;
12
// dumpx("key:knd ", i, key, sizeof(key));
13
}
usw.
wer nicht klar kommt, bitte schreibt es.
lg
rudi ;-)
und bis zum wochenende dann :)
R. W. schrieb:> Alex W. schrieb:>> Wieso postest du eine .a-Datei und keine .c-Datei?>> Weil ich immer noch mündig bin und selbst entscheide> was ich poste und was nicht.
So etwas von unnötig und dann auch noch kein Source dabei...
Aber Hauptsache, es steht überall 'rudi'.
Warum sollte irgendjemand bei klarem Verstand mit ESP irgendetwas
verschlüsseln ?
Aber von wirklich nützlichen Sachen wie SD-Card routine Null Ahnung.
Und welche Firmware soll von wem geschützt werden ?
Ja, das ist der Alptraum aller Anfänger und möchtegern Programmierer
- alle wollen meinen Code klauen.
20 Prozent der Zeit für Code, 80 Prozent der Zeit um diesen
(meistens schlechten) Code zu schützen. Nur weiter so...
Hi,
wozu braucht man denn so etwas? Wenn der Boot-Code unverschlüsselt im
Flash liegt kann man doch alles was später ausgeführt wird reverse
engineeren, oder?
Würde das nicht nur Sinn machen wenn der real Boot Code im Esp (64K?)
beschreibbar wäre und nicht auslesbar wäre?
Marc V. schrieb:> So etwas von unnötig und dann auch noch kein Source dabei...> Aber Hauptsache, es steht überall 'rudi'.
Hast du gepostet ohne zu lesen?
Source:
aes256.c
http://www.literatecode.com/get/aes256.c
aes256.h
http://www.literatecode.com/get/aes256.h
Wie eine Lib davon gemacht wird kannst du in dem Thread von 'rudi'
entnehmen und wirst wohl auch noch hinbekommen
>> Warum sollte irgendjemand bei klarem Verstand mit ESP irgendetwas> verschlüsseln ?
Frag das mal AVR (XMEGA) oder Security Flash IC'S
und dann fällt mir noch ein:
P2P
VPN
SSL
..
>> Aber von wirklich nützlichen Sachen wie SD-Card routine Null Ahnung.
Dann lass dir das von 'rudi' erklären wenn 'du' Null Ahnung hast,
auch das hast du überlesen, der bootet seit Oktober 2014 von SD
Sonst noch was konstruktives von dir zum Thema?
Man sollte einfach klappe halten wenn man ausser nörgeln nix zum thema
weiss. Der Thread wird wie immer ins Nirvada gehen.
SpenZerX schrieb:> Hi,>> wozu braucht man denn so etwas? Wenn der Boot-Code unverschlüsselt im> Flash liegt kann man doch alles was später ausgeführt wird reverse> engineeren, oder?
Du hast irgendetwas nicht verstanden.
Der Boot Code liegt eben crypted vor und kann nicht reversed werden
Teile davon werden in den iram direct ausgetauscht
und die HW Routine zunutze gemacht,
kannst du den iram reversen, den irom?
Schauh dir die Zusammenhänge von irom und iram genau an.
Es geht nicht um das 'Neu Erfinden von AES256'
es geht darum, dass man es auf einfache Art und Weise
sich nützlich machen kann in einem überschaubaren
einfachen Source Code der zu einer LIB für den ESP hier steht,
die es nicht machen können.
Wer von dem ganzen keine Ahnung hat, wird es mit oder ohne LIB
nicht selber machen und auch kein Interesse haben
eine Firmware schützen zu wollen.
Wieso gibt es einen AVR Bootloader mit AES?
Damit man das FW Hex crypted auf den AVR bekommen kann
den der Bootloader dann in den geschützen Bereich des AVR
decrypted.
Hier sind aber beide Sachen vorhanden.
AES verschlüsselte Übertragung
AES verschlüsselete Übergabe an den ESP der ihn dann mit seiner eigenen
HW Routine weiterverarbeiten kann.
Der ESP hat im Gegensatz zu anderen mcu'S keinen Flash für Programmcode
in dem Sinne und ist auf einen externen Chip - den man auslesen kann -
ausgelagert.
Um das geht es hier!
> Würde das nicht nur Sinn machen wenn der real Boot Code im Esp (64K?)> beschreibbar wäre und nicht auslesbar wäre?
Schauh dir die HW Routinen zu AES an die der ESP von Haus aus mitbringt
z.B. für WPA und beachte die Tabelle die man bis zu 256bit im esp
füttern kann die im ESP liegen.
Wöfür die man wohl verwenden kann?
..
Dr AES256 schrieb:>>>> Warum sollte irgendjemand bei klarem Verstand mit ESP irgendetwas>> verschlüsseln ?>> Frag das mal AVR (XMEGA) oder Security Flash IC'S> und dann fällt mir noch ein:>> P2P> VPN> SSL> ..Marc V. schrieb:> Und welche Firmware soll von wem geschützt werden ?
Du weisst doch, dass der ESP eine Reichweite von gerademal 30m hat ?
Was genau soll da geschützt und verschlüsselt werden und warum gerade
mit ESP8266 auf diesen 30m ?
So einen Blödsinn habe ich seit langem nicht mehr gehört. Und dann
auch noch so tun als ob man die Relativitätstheorie neu erfunden hat...
Mit einer einfachen Tabelle mit 256Byt und einem eigenen Algorithmus
der z.B. Montags ab 90-ten Byte anfängt, Dienstags mit Byte 176
anfängt, Monatszahl dazuaddiert usw., hat man schon ein Verfahren,
welches praktisch unknackbar ist.
Da braucht man kein AES oder sonstwas. Und wenn man schon AES verwenden
will, dann aber ganz am Anfang, also am PC oder gleich die Library
benutzen, die du abgeschrieben hast.
> Sonst noch was konstruktives von dir zum Thema?>> Man sollte einfach klappe halten wenn man ausser nörgeln nix zum thema> weiss.
Sagen wir es mal so: ich habe zum Thema mehr vergessen, als du jemals
lernen wirst.
P.S.
Man sollte nicht unter 2 verschiedenen Namen posten.
Das ist nicht schön.
Marc V. schrieb:> Du weisst doch, dass der ESP eine Reichweite von gerademal 30m hat ?
??
hast du einen esp`? was machst du damit?
was meinst du damit?
inside?
outside?
pcb antenne, keramic antenne, extern antenne?
wenn du den esp8266 selbst meinst, ohne irgendetwas, dann wirst du
wahrscheinlich auf knapp unter 30 m kommen in der wildbahn soweit
strahlt der, denke ich.
mit einer pcb antenne liegst du schon bei knappen 70 m, praktisch
und mit einer keramic knappe 150 m, praktisch
mit einer yagi sieht es schon besser aus, knappe 1200 m, praktisch
und parabol die üblichen werte bei zweien die sichtverbindung haben,
praktisch.
es soll hier kein reichweiten wettbewerb werden marc,
wenn du das thema hier nicht brauchen kannst, worum es geht,
dann lass doch einfach das 'wozubrauchtmandas'
> Was genau soll da geschützt und verschlüsselt werden und warum gerade> mit ESP8266 auf diesen 30m ?
wenn du ideen suchst, was du mit dem esp mit der "von mir erfundenen
extended tag erweiterung" anstellen kannst, empfehle ich dir creativ
workshops, du kannst auch zu mir nach niederbayern kommen, nimm deine
gummistiefel mit, wir gehen hochgrassmähen, jetzt dann hansbierl sammeln
und nebenbei plaudern wir.
selbst leiterbahn verbindungen zu verschlüsseln zwischen peripherie
macht sinn. wenn du beispiele brauchst - xbox.
über das verfahren diskutiere ich nicht - interessiert mich auch nicht,
will damit sagen, es machen welche.
16 byte crypted wo hinsenden, die 'nicht knackbar' sind
solange aes256 sicher ist, wird das so sein.
welchen zweck das hat, meine sache - meine idee - meine creativität.
welchen sinn das hat, oder unsinn ist, entscheidet der, der es so macht.
für meine zwecke ist das sinnvoll. es ist sicher, uneinsehbar und macht
spass zuzusehen, wie anderen der "mund wassrig wird" und versuchen das
geheimnis zu lüften..
;-)
> So einen Blödsinn habe ich seit langem nicht mehr gehört.
..
> Und dann> auch noch so tun als ob man die Relativitätstheorie neu erfunden hat...
..
> Mit einer einfachen Tabelle mit 256Byt und einem eigenen Algorithmus
um gottes willen?!:"§ 256 byte? das sind 256 container für je 8 bit das
sind 2048 bit ( RSA )
du bist ja schlimmer wie mein ansatz,
bist du paranoid? oder meinst du 256 bit?
> der z.B. Montags ab 90-ten Byte anfängt, Dienstags mit Byte 176> anfängt, Monatszahl dazuaddiert usw., hat man schon ein Verfahren,> welches praktisch unknackbar ist.
jetzt grinse ich aber :).. du willst also aes neu erfinden :) lustig..
ich bleib bei 197 fips.. ;)
dann mach einen thread auf 'marc presente: mein neues unknackbare
verfahren' und suche deine diskussion dort -
( will dich nicht verjagen hier so ist das nicht gemeint! )
die polymere ist ein anderes thema marc und kommt später dazu.. -
hier versuche ich in drei schritten was darzulegen was es noch nicht
gibt für den esp und nutze dabei esp eigene hw routinen über sd später.
schritt eins: AES256 nahebringen, einfaches crypten/decrypten
schritt zwei: sd card implementieren
schritt drei: ... wirst du nicht mehr mitbekommen weil keiner da ist
der eine sd card am esp laufen hat, daher bleib ich solange allein mit
meiner praxis erfahrung. basta.
nicht mehr und nicht weniger
aber eben gefragt und neuland :)
> Da braucht man kein AES oder sonstwas. Und wenn man schon AES verwenden> will, dann aber ganz am Anfang, also am PC oder gleich die Library> benutzen, die du abgeschrieben hast.
was du meinen? was du nicht verstehen hier?
sorry - lies das mal weiter oben:
zitat: "ich nehme z.B. die quelle für alles her, auch in Delphi, XE und
MS
Studio , habe meine eigene DLL dazu gemacht,"..
und? was sagt dir das?
meinst du allen ernstes dass ich mir das aus jux ausdenke?
:)
> Sagen wir es mal so: ich habe zum Thema mehr vergessen,
was hattest du dann zuvor eigentlich gewusst, wenn du in diesem thread
sachen vergisst, die ein paar threads vorher stehen?
nein ich werde jetzt nicht altersbeleidigend daher reden, da ich
anständig erzogen worden bin, aber empfehle dir dann schon etwas
bewegung im freien und etwas kniffiges jeden tag um fit zu bleiben.
schade eigentlich - ist wie immer -
"rudi" kommt mit was daher das keiner versteht weil er sich nicht
ausdrücken kann und kauderwelsch schreibt und die schnabelspitzen
tackern hier ..
ist mir auch ehrlichgesagt egal -
im gegensatz vieler meinungen hier -
ich habe keine "mehrwisser" doku - kein espressif special vertrag oder
sonstiges -
mein wissen basiert auf praktiziern seit das esp fieber ausgebrochen ist
- und mir macht das riesen spass, im neuland zu stochern und auf die
schnauze zu fallen und wieder aufzustehen, meine erfahrung habe ich
dabei gemacht fürs leben -
was ich nicht mache ist, mein wissen zu teilen - in der form,
dass ich meinen "code" poste. dieses gelächer spare ich mir dann doch -
.. oder das weinen ..
würde ich das auch noch machen, glaubt mir keiner, dass ich Laie bin.
in diesem sinne..
ich weiss was ich kann und was ich will marc und was geht und was nicht.
wenn ich über c code stolpere der nicht geht, frage ich hier im forum
nach, karl heinz ist für mich der beste teacher sowie ein "klaus".
die sagen dir nicht die lösung, die beschreiben den weg dorthin, sodass
die sehnsucht nach der Lösung so gross wird, dass man sich auf den weg
macht, sich hinzusetzen und c zu lernen, von anfang an.
sowas fehlt einigen hier - und das obergetue von c machos kann ich
nichts mehr ab - ist ok - aber ich denke - die sind dann stehen
geblieben..
sonst gäbs ja schon alles..
..
aber dieses euphorische thema hatten wir hier schon oft und
charakerisiert den "mikrocontroller.net rudi"
und ganz ehrlich?
darauf bin ich stolz wie "harry hirsch"
mehr euphorie hier in dem thread lasse ich aussen vor,
einige haben sich schon gemeldet die den gleichen weg suchten wie ich,
hatten aber keinen ansatz, ich hatte den ansatz, konnte aber kein c für
solche experimente, um das umzusetzen.
heute sieht es anders aus, das meiste verdanke ich karl heinz hier aus
dem forum, und wer mich persönlich kennt, ist erstaunt, was daraus
geworden ist. soll nicht arrogant rüber kommen, aber es ist so.
ich weiss noch, wem ich zu danken habe, wenn man erfolg spürt, ob du es
glaubst oder nicht, espressif wollte das haben - da espressif aber
wieder "zu gemacht hat" und alles per libs "uns" gibt, bekommen sie das
know how dazu auch nur per lib.
http://bbs.espressif.com/viewtopic.php?f=15&t=665
zitat:
"
with an own bootloader i boot in an asap comming project
from sd card part of crypted bootcode (firmware) ( copy protected part )
and transfer it to iram... protected and run this mapped/direct
details for this only you give me gift, wifes, cars, (drugs-no this is
bad!) , rockn roll and other good things
fun! will ´think about this .. but just in time - only libs because
this is many month work in bootcode and more -
@stanza
ESP8266 goes AES256 now with own bootcode
done!
"
meine erfahrung ist zu wenig um darüber ökonom urteilen zu können, ob
das ein "boh äh" oder ein "buh oh" ist, in zeit und geld das
umzurechnen?..
das letzte dreiviertel jahr hab ich alles liegen lassen, familie,
freunde u.a. und mich nur dem ESP gewidmet. und behersch den heute..
ich wage zu behaupten - fast so gut wie espressif selbst -
denn würde ich sagen besser - klingt das arrogant.
die reaktion gibt mir recht, dass mein ansatz der richtige war, und
dieses pferd wird im finale einlaufen, auf das ich gesetzt und mich für
mich auf c eingelassen habe - , alles andere spare ich mir auf fürs
finale
http://www.esp8266.de
oder meinst du ich drehe hier däumlein?
..
lg
rudi ;-)
R. W. schrieb:> um gottes willen?!:"§ 256 byte? das sind 256 container für je 8 bit das> sind 2048 bit ( RSA )> du bist ja schlimmer wie mein ansatz,> bist du paranoid? oder meinst du 256 bit?
Nein, ich meine 256Byt für die Tabelle und vielleicht noch 500Byt
für code.
R. W. schrieb:> dann mach einen thread auf 'marc presente: mein neues unknackbare> verfahren' und suche deine diskussion dort -
Wozu ?
Um noch weiter uber unnütze Sachen zu diskuttieren ?
Ich bin raus.
Marc V. schrieb:> Ich bin raus.
Schade! Ich meine das ernst Marc!
Genau da fange ich dann an, aufzustehen, wenn mir welche so kommen
wie ich dir gegenüber.
Wer sagt "mir" denn, ob deine "Spinnerei" ( nicht ernst nehmen!!! )
nicht doch besser ist?
Hoffe du verstehst diesen Ansatz richtig!
Darum bin ich eigentlich froh für die vielen Ellenbogen Rempler hier im
Forum, in der Natur ist das nichts anderes.
Und wer den Weg sucht wird ihn gehen -
ob er den richtigen gefunden hat wird sich erst zeigen.
lg!
rudi
R. W. schrieb:>> Ich bin raus.>> Schade! Ich meine das ernst Marc!
Wenn Du das wirklich ernst meinst, dann schreibe mal ganze Sätze,
benutze die Shift-Taste und gruppiere Dein Gestammele in wohlgeordnete
Absätze.
Lies mal oben Deinen Beitrag von 15:57 Uhr heute durch. Schon nach dem
dritten Satz schwirrt einem der Kopf und man muss abbrechen, weil man
überhaupt nichts mehr versteht. Kein Satz wird zu Ende geführt, kein
Gedanke wird erläutert oder vertieft. Nur irgendwelche Worte
aneinandergereiht.
Sorry, du kannst das nicht ernst meinen! Denn Du zeigst noch nichtmals
Respekt vor Deinen Lesern. Sonst würdest Du Dir mehr Mühe geben.
Stattdessen rotzt Du einfach das, was Dir gerade im Kopf rumschwirrt, in
die Tastatur. Kotz!
Marc V. schrieb:> Nein, ich meine 256Byt für die Tabelle und vielleicht noch 500Byt> für code.>
1
uint8_tmsgC[1][1];
2
uint8_ttbl[8][8];// 64er table // würfelung nach zeitfenster
3
..
4
uint8_ttime....
5
..
6
7
8
/*
9
10
7 6 5 4 3 2 1 0
11
7 a b c d e f g h
12
6 i j k l m n o p
13
5 q r s t u v w x
14
4 y z A B C D E F
15
3 G H I J K L M N
16
2 O P Q R S T U V
17
1 W X Y Z 0 1 2 3
18
0 4 5 6 7 8 9 : )
19
20
21
nur 64 zeichen..
22
23
24
*/
totale verschwendung war das.
1
uint8_tmsgC[1][1];
2
uint8_ttbl[1][1];// auch 64er table aber 8 bit x 8 bit
3
// würfelung nach zeitfenster
4
..
5
uint8_ttime....
6
..
7
8
9
/*
10
11
7 6 5 4 3 2 1 0
12
7 0 1 2 3 4 5 6 7
13
6 8 9 a b c d e f
14
5
15
4
16
3
17
2
18
1
19
0
20
21
*/
du hast alle 255 zeichen
du hast sogar noch weiter platz für extendeds 8x6
und belegst nur 8 x 2
und jetzt kommst du mit 256 byte
du erschlagst mich ja
lg
rudi ;-)
Frank M. schrieb:> R. W. schrieb:>>> Ich bin raus.>>>> Schade! Ich meine das ernst Marc!>> Wenn Du das wirklich ernst meinst, dann schreibe mal ganze Sätze,> benutze die Shift-Taste und gruppiere Dein Gestammele in wohlgeordnete> Absätze.>> Lies mal oben Deinen Beitrag von 15:57 Uhr heute durch. Schon nach dem> dritten Satz schwirrt einem der Kopf und man muss abbrechen, weil man> überhaupt nichts mehr versteht. Kein Satz wird zu Ende geführt, kein> Gedanke wird erläutert oder vertieft. Nur irgendwelche Worte> aneinandergereiht.>> Sorry, du kannst das nicht ernst meinen! Denn Du zeigst noch nichtmals> Respekt vor Deinen Lesern. Sonst würdest Du Dir mehr Mühe geben.> Stattdessen rotzt Du einfach das, was Dir gerade im Kopf rumschwirrt, in> die Tastatur. Kotz!
Ich hasse die normal Norm Frank!
Ich schreibe schon immer klein.
Ich mache mir Mühe, die gesammelte Erfahrung an den Mann zu bringen,
die hat immens Nächte verschlungen.
Dass es immer an dieser blöden normal Norm liegen soll,
kann es doch nicht sein.
Sobald ich anfange den Text zu formieren, ist der Gedankenzug dahin.
Vieleicht sollte ich audatics machen?
Einen Entwurf zum Threadtext?
Mann.
Ja -
Du hast Recht.
Aber so - siehst selber - kommt nichts von mir raus.
Mist..
..nochmal!
Ja - Du hast Recht.
R. W. schrieb:> Ich schreibe schon immer klein.
Damit mutest Du 1000 Lesern die 1000fache Arbeit zu, Deine Texte im Kopf
in etwas verständliches umzuwandeln. Wenn Du Dir die Mühe geben würdest,
dann muss diese Arbeit nur einmal und nicht 1000mal gemacht werden.
> Sobald ich anfange den Text zu formieren, ist der Gedankenzug dahin.
Das kann ja sein. Wenn ich aber versuche, Deinen Gedankengang zu
verstehen, dann schaltet irgendwann mein Gehirn auf Durchzug, weil mein
"Decoder" im Hirn mit einem Syntax Error aussteigt.
Vielleicht machst Du es ja so:
Erst schreibst Du den Text, wie Du es gewohnt bist, runter. Anschließend
liest Du ihn Dir durch und formulierst die Sätze aus , wobei Du Dich
Dich dabei in den unbedarften Leser versetzt, der gern mitkommen will.
Dann erst schickst Du den Text ab. So geht dann auch kein Gedankengang
verloren.
> Vieleicht sollte ich audatics machen?
Syntax Error.
> Einen Entwurf zum Threadtext?
Ja, siehe oben.
> Aber so - siehst selber - kommt nichts von mir raus.
Es wäre schade, wenn Deine Ideen von niemandem gelesen werden, weil
keiner sie versteht.
Frank M. schrieb:> R. W. schrieb:>>> Ich schreibe schon immer klein.>> Damit mutest Du 1000 Lesern die 1000fache Arbeit zu, Deine Texte im Kopf> in etwas verständliches umzuwandeln. Wenn Du Dir die Mühe geben würdest,> dann muss diese Arbeit nur einmal und nicht 1000mal gemacht werden.
Ja ich weiss, dass hattest Du mir schon mal so gesagt.
Es war ja dann eine Zeit besser, in der auch manche unsicher
waren, ob ich das jetzt bin, der das schreibt.
>> Einen Entwurf zum Threadtext?>> Ja, siehe oben.
Ja, ich werde es versuchen.
Danke!
lg
rudi ;-)
R. W. schrieb:> Ja ich weiss, dass hattest Du mir schon mal so gesagt.> Es war ja dann eine Zeit besser, in der auch manche unsicher> waren, ob ich das jetzt bin, der das schreibt.
Dich erkennt man schon - spätestens am Ende(!) am Smiley ;-)
.. schrieb im Beitrag "Re: WiFi Relais mit ESP8266 ESP-01 Modul (Bascom)":
> Sieh dir das Linker File an.…> PROVIDE ( aes_decrypt = 0x400092d4 );> PROVIDE ( aes_decrypt_deinit = 0x400092e4 );> PROVIDE ( aes_decrypt_init = 0x40008ea4 );> PROVIDE ( aes_unwrap = 0x40009410 );
Cool. Sowas habe ich auch gerade auf hackaday gelesen:
> This means you don’t need to (and shouldn’t) re-implement MD5 (even> with hmac), SHA1, … AES, …!> The full list of functions that reside in the on-chip ROM can be found> in eagle.rom.addr.v6.ld. It would behoove you to take a look in there> now and see the wonderland of awesome that’s provided out of the box.http://hackaday.com/2015/03/18/how-to-directly-program-an-inexpensive-esp8266-wifi-module/
Frage: Benutzt Du für Deine Software diese o.g. AES-Funktionen? Kennst
Du die Funktions-Signaturen, so dass man sie einfach "extern"
deklarieren und benutzen kann?
Ich will keine SD-Card schützen, wird eh alles open source. Es geht mir
mehr um symmetrische End2End-Verschlüsselung.
Torsten C. schrieb:> .. gerade .. gelesen:
;-)
du bist lustig ;-)
du musst krebs sein, der geht auch manchmal rückwarts ;-)
..
> Frage: Benutzt Du für Deine Software diese o.g. AES-Funktionen?
nein die hier die im ersten post steht
u.a. auch jetzt im modifizierten bootloader 'rboot'
https://www.youtube.com/watch?v=Q0VWK4UHcg8> Kennst> Du die Funktions-Signaturen, so dass man sie einfach "extern"> deklarieren und benutzen kann?
die stehen u.a. auch in der libctypto.a , libssl.a
ein sehr gutes example, sollte es deiner aufmerksamkeit entgangen sein
:)
http://bbs.espressif.com/viewtopic.php?f=7&t=386
wo kommst du nicht weiter? -> neuer thread !!! bitte ;-)
lg
rudi ;-)