Forum: Mikrocontroller und Digitale Elektronik ESP8266 SD Card / AES256


von r_u_d_i (Gast)


Angehängte Dateien:

Lesenswert?

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!"

von Marc S. (marc_s86)


Lesenswert?

Wird die lib open soure?
einer privaten closed source crypto lib würde ich meine daten nicht 
anvertrauen.

von Dr AES256 (Gast)


Lesenswert?

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?
..

von Marc S. (marc_s86)


Lesenswert?

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.

: Bearbeitet durch User
von Alex W. (a20q90)


Lesenswert?

Wieso postest du eine .a-Datei und keine .c-Datei?

Hier kann man es laden:
http://www.literatecode.com/aes256

Wiki weiß auch was:
https://en.wikipedia.org/wiki/AES_implementations#C.2FASM_library

Und das Labor hat auch geforscht:
http://www.das-labor.org/wiki/AVR-Crypto-Lib

: Bearbeitet durch User
von R. W. (Gast)


Angehängte Dateien:

Lesenswert?

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_t key[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.htm
http://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/

von Marc S. (marc_s86)


Lesenswert?

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.

von R. W. (Gast)


Lesenswert?

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 :)

von R. W. (Gast)


Lesenswert?

push:
my  base for ESP AES256:

http://www.literatecode.com/aes256

thanks to: Ilya O. Levin and Fyodor Yarochkin

best wishes
rudi ;-)

von r_u_d_i (Gast)


Lesenswert?

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 ;-)

von Hans M. (Gast)


Lesenswert?

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.

von r_u_d_i (Gast)


Lesenswert?

einfacher header

file:

aes256.h
1
/*  
2
*   Byte-oriented AES-256 implementation.
3
*   All lookup tables replaced with 'on the fly' calculations. 
4
*
5
*   Copyright (c) 2007-2009 Ilya O. Levin, http://www.literatecode.com
6
*   Other contributors: Hal Finney
7
*
8
*   Permission to use, copy, modify, and distribute this software for any
9
*   purpose with or without fee is hereby granted, provided that the above
10
*   copyright notice and this permission notice appear in all copies.
11
*
12
*   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13
*   WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14
*   MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15
*   ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16
*   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17
*   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18
*   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19
*/
20
#ifndef uint8_t
21
#define uint8_t  unsigned char
22
#endif
23
24
#ifdef __cplusplus
25
extern "C" { 
26
#endif
27
28
    typedef struct {
29
        uint8_t key[32]; 
30
        uint8_t enckey[32]; 
31
        uint8_t deckey[32];
32
    } aes256_context; 
33
34
35
    void aes256_init(aes256_context *, uint8_t * /* key */);
36
    void aes256_done(aes256_context *);
37
    void aes256_encrypt_ecb(aes256_context *, uint8_t * /* plaintext */);
38
    void aes256_decrypt_ecb(aes256_context *, uint8_t * /* cipertext */);
39
40
#ifdef __cplusplus
41
}
42
#endif



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
    typedef struct {
10
        uint8_t key[32]; 
11
        uint8_t enckey[32]; 
12
        uint8_t deckey[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);          \
38
                  for (i = 0; i < (sizeof(buf2));i++)  \
39
                  {                  \
40
                    os_sprintf(dumpmsg,"%02x", buf2[i]);\
41
                    at_port_print(dumpmsg);        \
42
                  }                  \
43
                  at_port_print("\r\n"); }
44
45
46
    
47
    
48
    
49
    void aes256_init(aes256_context *, uint8_t * /* key */);
50
    void aes256_done(aes256_context *);
51
    void aes256_encrypt_ecb(aes256_context *, uint8_t * /* plaintext */);
52
    void aes256_decrypt_ecb(aes256_context *, uint8_t * /* cipertext */);
53
    
54
    
55
    
56
57
#ifdef __cplusplus
58
}
59
#endif



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_t key[32], i;
8
uint8_t buf[16]  = "rudi goes AES256";    // ich spare mir das \0
9
uint8_t msg[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_context ctx;
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
void aes_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
void aes_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 :)

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

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...

von SpenZerX (Gast)


Lesenswert?

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?

von Dr AES256 (Gast)


Lesenswert?

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?


..

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

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.

: Bearbeitet durch User
von R. W. (Gast)


Lesenswert?

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 ;-)

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

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.

von R. W. (Gast)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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!

von R. W. (Gast)


Lesenswert?

Marc V. schrieb:

>  Nein, ich meine 256Byt für die Tabelle und vielleicht noch 500Byt
>  für code.
>
1
uint8_t msgC [1][1];
2
uint8_t tbl [8][8]; // 64er table // würfelung nach zeitfenster
3
..
4
uint8_t time....
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_t msgC [1][1];
2
uint8_t tbl [1][1]; // auch 64er table aber 8 bit x 8 bit 
3
                    // würfelung nach zeitfenster
4
..
5
uint8_t time....
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 ;-)

von R. W. (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von R. W. (Gast)


Lesenswert?

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 ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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 ;-)

von R. W. (Gast)


Lesenswert?

;-)

von r_u_d_i (Gast)


Lesenswert?


von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

.. 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.

: Bearbeitet durch User
von r_u_d_i (Gast)


Angehängte Dateien:

Lesenswert?

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 ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.