X-Git-Url: http://www.wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_grasshopper_cipher.c;h=b3aa4b9aa9009184dae6b9cc20b30f9ba9b4deba;hb=e2d3705da37abfa9edf270b52178c8c66abc51e7;hp=f6c4428c30d3387eefaa45b5dc83edebd87709b5;hpb=2eb63f38ba58519aa999a4a83c9f06de3103eeb0;p=openssl-gost%2Fengine.git diff --git a/gost_grasshopper_cipher.c b/gost_grasshopper_cipher.c index f6c4428..b3aa4b9 100644 --- a/gost_grasshopper_cipher.c +++ b/gost_grasshopper_cipher.c @@ -104,7 +104,8 @@ static struct GRASSHOPPER_CIPHER_PARAMS gost_cipher_params[5] = { /* Set 256 bit key into context */ static GRASSHOPPER_INLINE void gost_grasshopper_cipher_key(gost_grasshopper_cipher_ctx* c, const uint8_t* k) { - for (int i = 0; i < 2; i++) { + int i; + for (i = 0; i < 2; i++) { grasshopper_copy128(&c->key.k.k[i], (const grasshopper_w128_t*) (k + i * 16)); } grasshopper_set_encrypt_key(&c->encrypt_round_keys, &c->key); @@ -113,13 +114,14 @@ static GRASSHOPPER_INLINE void gost_grasshopper_cipher_key(gost_grasshopper_ciph /* Cleans up key from context */ static GRASSHOPPER_INLINE void gost_grasshopper_cipher_destroy(gost_grasshopper_cipher_ctx* c) { - for (int i = 0; i < 2; i++) { + int i; + for (i = 0; i < 2; i++) { grasshopper_zero128(&c->key.k.k[i]); } - for (int i = 0; i < GRASSHOPPER_ROUND_KEYS_COUNT; i++) { + for (i = 0; i < GRASSHOPPER_ROUND_KEYS_COUNT; i++) { grasshopper_zero128(&c->encrypt_round_keys.k[i]); } - for (int i = 0; i < GRASSHOPPER_ROUND_KEYS_COUNT; i++) { + for (i = 0; i < GRASSHOPPER_ROUND_KEYS_COUNT; i++) { grasshopper_zero128(&c->decrypt_round_keys.k[i]); } grasshopper_zero128(&c->buffer); @@ -142,10 +144,10 @@ static GRASSHOPPER_INLINE void gost_grasshopper_cipher_destroy_ctr(gost_grasshop static int gost_grasshopper_cipher_init(EVP_CIPHER_CTX* ctx, const unsigned char* key, const unsigned char* iv, int enc) { - gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_get_cipher_data(ctx); if (EVP_CIPHER_CTX_get_app_data(ctx) == NULL) { - EVP_CIPHER_CTX_set_app_data(ctx, EVP_CIPHER_CTX_cipher_data(ctx)); + EVP_CIPHER_CTX_set_app_data(ctx, EVP_CIPHER_CTX_get_cipher_data(ctx)); } if (key != NULL) { @@ -169,7 +171,7 @@ static int gost_grasshopper_cipher_init(EVP_CIPHER_CTX* ctx, const unsigned char static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_ecb(EVP_CIPHER_CTX* ctx, const unsigned char* key, const unsigned char* iv, int enc) { - gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_get_cipher_data(ctx); c->type = GRASSHOPPER_CIPHER_ECB; return gost_grasshopper_cipher_init(ctx, key, iv, enc); } @@ -177,7 +179,7 @@ static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_ecb(EVP_CIPHER_CTX* c static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_cbc(EVP_CIPHER_CTX* ctx, const unsigned char* key, const unsigned char* iv, int enc) { - gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_get_cipher_data(ctx); c->type = GRASSHOPPER_CIPHER_CBC; return gost_grasshopper_cipher_init(ctx, key, iv, enc); } @@ -185,7 +187,7 @@ static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_cbc(EVP_CIPHER_CTX* c static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_ofb(EVP_CIPHER_CTX* ctx, const unsigned char* key, const unsigned char* iv, int enc) { - gost_grasshopper_cipher_ctx_ofb* c = EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx_ofb* c = EVP_CIPHER_CTX_get_cipher_data(ctx); c->c.type = GRASSHOPPER_CIPHER_OFB; @@ -197,7 +199,7 @@ static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_ofb(EVP_CIPHER_CTX* c static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_cfb(EVP_CIPHER_CTX* ctx, const unsigned char* key, const unsigned char* iv, int enc) { - gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = EVP_CIPHER_CTX_get_cipher_data(ctx); c->type = GRASSHOPPER_CIPHER_CFB; return gost_grasshopper_cipher_init(ctx, key, iv, enc); } @@ -205,7 +207,7 @@ static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_cfb(EVP_CIPHER_CTX* c static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_ctr(EVP_CIPHER_CTX* ctx, const unsigned char* key, const unsigned char* iv, int enc) { - gost_grasshopper_cipher_ctx_ctr* c = EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx_ctr* c = EVP_CIPHER_CTX_get_cipher_data(ctx); c->c.type = GRASSHOPPER_CIPHER_CTR; @@ -219,7 +221,7 @@ static GRASSHOPPER_INLINE int gost_grasshopper_cipher_init_ctr(EVP_CIPHER_CTX* c static GRASSHOPPER_INLINE int gost_grasshopper_cipher_do(EVP_CIPHER_CTX* ctx, unsigned char* out, const unsigned char* in, size_t inl) { - gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_get_cipher_data(ctx); struct GRASSHOPPER_CIPHER_PARAMS* params = &gost_cipher_params[c->type]; return params->do_cipher(ctx, out, in, inl); @@ -227,7 +229,7 @@ static GRASSHOPPER_INLINE int gost_grasshopper_cipher_do(EVP_CIPHER_CTX* ctx, un static int gost_grasshopper_cipher_do_ecb(EVP_CIPHER_CTX* ctx, unsigned char* out, const unsigned char* in, size_t inl) { - gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_get_cipher_data(ctx); bool encrypting = (bool) EVP_CIPHER_CTX_encrypting(ctx); const unsigned char* current_in = in; unsigned char* current_out = out; @@ -251,7 +253,7 @@ static int gost_grasshopper_cipher_do_ecb(EVP_CIPHER_CTX* ctx, unsigned char* ou static int gost_grasshopper_cipher_do_cbc(EVP_CIPHER_CTX* ctx, unsigned char* out, const unsigned char* in, size_t inl) { - gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_get_cipher_data(ctx); unsigned char* iv = EVP_CIPHER_CTX_iv_noconst(ctx); bool encrypting = (bool) EVP_CIPHER_CTX_encrypting(ctx); const unsigned char* current_in = in; @@ -283,7 +285,7 @@ static int gost_grasshopper_cipher_do_cbc(EVP_CIPHER_CTX* ctx, unsigned char* ou static int gost_grasshopper_cipher_do_ctr(EVP_CIPHER_CTX* ctx, unsigned char* out, const unsigned char* in, size_t inl) { - gost_grasshopper_cipher_ctx_ctr* c = (gost_grasshopper_cipher_ctx_ctr*) EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx_ctr* c = (gost_grasshopper_cipher_ctx_ctr*) EVP_CIPHER_CTX_get_cipher_data(ctx); unsigned char* iv = EVP_CIPHER_CTX_iv_noconst(ctx); const unsigned char* current_in = in; unsigned char* current_out = out; @@ -372,7 +374,7 @@ static void gost_grasshopper_cnt_next(gost_grasshopper_cipher_ctx_ofb* ctx, gras static int gost_grasshopper_cipher_do_ofb(EVP_CIPHER_CTX* ctx, unsigned char* out, const unsigned char* in, size_t inl) { - gost_grasshopper_cipher_ctx_ofb* c = (gost_grasshopper_cipher_ctx_ofb*) EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx_ofb* c = (gost_grasshopper_cipher_ctx_ofb*) EVP_CIPHER_CTX_get_cipher_data(ctx); const unsigned char* in_ptr = in; unsigned char* out_ptr = out; unsigned char* buf = EVP_CIPHER_CTX_buf_noconst(ctx); @@ -430,7 +432,7 @@ static int gost_grasshopper_cipher_do_ofb(EVP_CIPHER_CTX* ctx, unsigned char* ou static int gost_grasshopper_cipher_do_cfb(EVP_CIPHER_CTX* ctx, unsigned char* out, const unsigned char* in, size_t inl) { - gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_get_cipher_data(ctx); const unsigned char* in_ptr = in; unsigned char* out_ptr = out; unsigned char* buf = EVP_CIPHER_CTX_buf_noconst(ctx); @@ -508,7 +510,7 @@ static int gost_grasshopper_cipher_do_cfb(EVP_CIPHER_CTX* ctx, unsigned char* ou } static int gost_grasshopper_cipher_cleanup(EVP_CIPHER_CTX* ctx) { - gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_cipher_data(ctx); + gost_grasshopper_cipher_ctx* c = (gost_grasshopper_cipher_ctx*) EVP_CIPHER_CTX_get_cipher_data(ctx); struct GRASSHOPPER_CIPHER_PARAMS* params = &gost_cipher_params[c->type]; gost_grasshopper_cipher_destroy(c);