Mercurial > dropbear
annotate ocb_shift_xor.c @ 162:bc4e3ac2dd5a libtomcrypt
make data pointers volatile so that memory zeroing won't get optimised away
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 02 Jan 2005 17:09:05 +0000 |
parents | d7da3b1e1540 |
children |
rev | line source |
---|---|
0
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
2 * |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
3 * LibTomCrypt is a library that provides various cryptographic |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
4 * algorithms in a highly modular and flexible manner. |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
5 * |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
6 * The library is free for all purposes without any express |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
7 * guarantee it works. |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
8 * |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
9 * Tom St Denis, [email protected], http://libtomcrypt.org |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
10 */ |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
11 |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
12 /* OCB Implementation by Tom St Denis */ |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
13 #include "mycrypt.h" |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
14 |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
15 #ifdef OCB_MODE |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
16 |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
17 void ocb_shift_xor(ocb_state *ocb, unsigned char *Z) |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
18 { |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
19 int x, y; |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
20 y = ocb_ntz(ocb->block_index++); |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
21 for (x = 0; x < ocb->block_len; x++) { |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
22 ocb->Li[x] ^= ocb->Ls[y][x]; |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
23 Z[x] = ocb->Li[x] ^ ocb->R[x]; |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
24 } |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
25 } |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
26 |
d7da3b1e1540
put back the 0.95 makefile which was inadvertently merged over
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
27 #endif |