Skip to content

Commit 473cdf7

Browse files
committed
better keys
1 parent 410fe78 commit 473cdf7

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

helpers/flipbip_file.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#define FLIPBIP_SETTINGS_PATH_BAK FLIPBIP_APP_BASE_FOLDER "/" FLIPBIP_SETTINGS_FILE_NAME_BAK
1515

1616
const size_t FILE_HLEN = 4;
17-
const size_t FILE_KLEN = 128;
17+
const size_t FILE_KLEN = 256;
1818
const size_t FILE_SLEN = 512;
1919
const char* FILE_HSTR = "fb01";
2020
const char* FILE_K1 = "fb0131d5cf688221c109163908ebe51debb46227c6cc8b37641910833222772a"
@@ -113,15 +113,15 @@ bool flipbip_load_settings_secure(char* settings) {
113113
data += FILE_HLEN;
114114

115115
// load k2 from file using k1
116-
//uint8_t k1[64];
116+
//uint8_t k1[16] = {0};
117117
//flipbip_xtob(FILE_K1, k1, 64);
118-
uint8_t k2[64];
119-
//flipbip_cipher(k1, data, data, FILE_KLEN);
120-
flipbip_xtob(data, k2, 64);
118+
uint8_t k2[128];
119+
//flipbip_cipher(k1, 16, data, data, FILE_KLEN);
120+
flipbip_xtob(data, k2, 128);
121121
data += FILE_KLEN;
122122

123123
// load settings from file using k2
124-
flipbip_cipher(k2, data, data, FILE_SLEN);
124+
flipbip_cipher(k2, 128, data, data, FILE_SLEN);
125125
flipbip_xtob(data, (unsigned char*)settings, 256);
126126

127127
data = data - FILE_KLEN - FILE_HLEN;
@@ -142,30 +142,30 @@ bool flipbip_save_settings_secure(const char* settings) {
142142

143143
// allocate memory for data
144144
char *data = malloc(dlen + 1);
145-
memzero(data, dlen + 1);
145+
memzero(data, dlen);
146146

147147
// write header
148148
strncpy(data, FILE_HSTR, FILE_HLEN);
149149
data += FILE_HLEN;
150150

151151
// generate key
152-
//uint8_t k1[64];
152+
//uint8_t k1[16] = {0};
153153
//flipbip_xtob(FILE_K1, k1, 64);
154-
uint8_t k2[64];
155-
random_buffer(k2, 64);
154+
uint8_t k2[128];
155+
random_buffer(k2, 128);
156156

157157
// write k2 to file (secured by k1)
158-
for (size_t i = 0; i < 64; i++) {
158+
for (size_t i = 0; i < 128; i++) {
159159
flipbip_btox(k2[i], data + (i * 2));
160160
}
161-
//flipbip_cipher(k1, data, data, FILE_KLEN);
161+
//flipbip_cipher(k1, 16, data, data, FILE_KLEN);
162162
data += FILE_KLEN;
163163

164164
// write settings to file (secured by k2)
165165
for (size_t i = 0; i < len; i++) {
166166
flipbip_btox(settings[i], data + (i * 2));
167167
}
168-
flipbip_cipher(k2, data, data, FILE_SLEN);
168+
flipbip_cipher(k2, 128, data, data, FILE_SLEN);
169169

170170
data = data - FILE_KLEN - FILE_HLEN;
171171

helpers/flipbip_string.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,17 +117,17 @@ flipbip_xtob(const char *str, unsigned char *out, int out_len)
117117
}
118118

119119
void
120-
flipbip_cipher(const unsigned char* key_in, const char* in, char* out, const unsigned int io_len)
120+
flipbip_cipher(const unsigned char* key_in, const unsigned int key_len, const char* in, char* out, const unsigned int io_len)
121121
{
122122
if (io_len > 512) return;
123123

124124
RC4_CTX ctx;
125125
uint8_t buf[256];
126-
127126
memzero(buf, 256);
127+
128128
flipbip_xtob(in, buf, io_len / 2);
129129

130-
rc4_init(&ctx, key_in, 64);
130+
rc4_init(&ctx, key_in, key_len);
131131
rc4_encrypt(&ctx, buf, 256);
132132

133133
for (size_t i = 0; i < (io_len / 2); i++) {

helpers/flipbip_string.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ char * flipbip_strtok_r(char *s, const char *delim, char **last);
44
void flipbip_btox(const unsigned char i, char *str);
55
void flipbip_xtob(const char *str, unsigned char *out, int out_len);
66

7-
void flipbip_cipher(const unsigned char* key_in, const char* in, char* out, const unsigned int io_len);
7+
void flipbip_cipher(const unsigned char* key_in, const unsigned int key_len, const char* in, char* out, const unsigned int io_len);

0 commit comments

Comments
 (0)