X-Git-Url: https://git.cryptolib.org/avr-crypto-lib.git?a=blobdiff_plain;f=grain%2Fgrain.c;h=81117ed99524e7c000580fb0d5eef964a002abe8;hb=2a5b018aa71694c5021f41e469234c3c5adb8784;hp=8d30d2266299a367a2f5891daa0220f58642fe2d;hpb=12b222bf434f472559a8791acdb57c0f154111fb;p=avr-crypto-lib.git diff --git a/grain/grain.c b/grain/grain.c index 8d30d22..81117ed 100644 --- a/grain/grain.c +++ b/grain/grain.c @@ -134,7 +134,17 @@ uint8_t grain_enc(grain_ctx_t* ctx){ h = (pgm_read_byte(h_lut+(i/8)))>>(i%8); h ^= B(0) ^ B(1) ^ B(3) ^ B(9) ^ B(30) ^ B(42) ^ B(55); - return h&1; + return (h&1); +} + +uint8_t grain_getbyte(grain_ctx_t* ctx){ + uint8_t i=0; + uint8_t r=0; + do{ + r >>= 1; + r |= grain_enc(ctx)?0x80:0x00; + }while(++i<8); + return r; } #ifdef GRAIN_REVERSEKEY