Fandom

Magic Lantern Firmware Wiki

6D/Crypto

< 6D

328pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Hash functionsEdit

// 6D.113
NSTUB(0xFF939F68, md5);
NSTUB(0xFF8D819C, sha1);

int md5(msg, msg_len, char *outbuf); // 0 on success
int sha1(msg, msg_len, 0, char *outbuf); // 0 on success

CSEL - HMAC (keyed-hash message authentication code) functionsEdit

May be used to implement OAuth.

// 6D.113
NSTUB(0xFF8D32FC, CSEL_Mac_Init);
NSTUB(0xFF8D331C, CSEL_Mac_Update);
NSTUB(0xFF8D3350, CSEL_Mac_Final);
NSTUB(0xFF8D3374, CSEL_Mac_Free);

int res;
int ctx = 0;
char out[1024];
int len = sizeof(out);

res = CSEL_Mac_Init(&ctx, int method, char *key, int key_len); // returns 0 on success
res = CSEL_Mac_Update(ctx, "The quick brown fox jumps over the lazy dog", 43); // returns 0 on success
res = CSEL_Mac_Final(ctx, out, &len); // returns 0 on success. len now contains used length of out and out contains HMAC-<method>
res = CSEL_Mac_Free(ctx); // returns 0 on success

Known methods:

0x64 - HMAC-MD5
0x65 - HMAC-SHA1
0x67 - HMAC-SHA256

Also on Fandom

Random Wiki