Lines Matching refs:Your
150 that can be used to make a program automatically pick between ciphers, hashes and PRNGs at run-time. That means your
257 To include the prototypes for \textit{LibTomCrypt.a} into your own program simply include \textit{tomcrypt.h} like so:
355 As of v1.13, most functions will update your length on failure to indicate the size required by the function. Not all functions
546 keys (mainly for test vectors anyways). Ideally, your application should be making at least 256 bit keys. This is not
547 because you are to be paranoid. It is because if your PRNG has a bias of any sort the more bits the better. For
913 In the ECB and CBC cases, \textit{len} must be a multiple of the ciphers block size. In the CBC case, you must manually pad the end of your message (either with
914 zeroes or with whatever your protocol requires).
1901 length. This provides a simple size you can set your automatic arrays to that will not get overrun.
1975 Similar to the cipher descriptor table you must register your hash algorithms before you can use them. These functions
2248 specification states that the output may be truncated. So if you pass in $outlen = 5$ and use AES as your cipher than
2734 \item Gather entropy from your sources for a given period of time or number of events.
2735 \item Start, use your entropy via add\_entropy and ready the PRNG yourself.
2738 When your program is finished you simply call the export function and save the state to a medium (disk,
2739 flash memory, etc). The next time your application starts up you can detect the state, feed it to the
2740 import function and go on your way. It is ideal that (as soon as possible) after start up you export a
2831 Just like the ciphers and hashes, you must register your prng before you can use it. The two functions provided work exactly as those for the cipher registry functions.
2891 When you read from RC4, the output is XOR'ed against your buffer you provide. In this manner, you can use rc4\_read()
2987 the callback in \textit{rng\_get\_bytes()}. It is highly recommended that you use this function to setup your PRNGs unless you have a
3235 A person who wants to encrypt with your public key simply forms an integer (the plaintext) $M$ such that
3944 With ECC if you try to sign a hash that is bigger than your ECC key you can run into problems. The math will still work, and in effect the signature will still
4936 which output variable length strings will require you to pass the length of the destination. If the size of your output
4942 \mysection{Registering Your Algorithms}
4947 having to hack the library. For example, suppose you have a hardware specific PRNG on your system. You could easily
4948 write the few functions required plus a descriptor. After registering your PRNG, all of the library functions that
5017 such as register\_cipher() are not thread safe no matter what you do. It is best to call them from your programs initialization
5201 if you handle signals on your own. When set to 3, it will resolve to a empty macro and no error checking will be performed. Finally, when set
5218 the name of the respective functions from the standard C library by default. This lets you substitute in your own memory routines.
5219 If you substitute in your own functions they must behave like the standard C library functions in terms of what they expect as input and
5269 of your block cipher (e.g. 16 bytes for AES). This means sadly if you're on a platform with 57--bit words (or something) you can't
5656 ones provided. Just make sure in your \textit{done()} function that you free the allocated memory.
5714 if your device requires any (LRW specific) resources you should free them in your ciphers() done function. The simplest way to think of it is to write
5720 by allowing the caller to call the setup() function first to schedule the key if your accelerator cannot do the key schedule on the fly (for instance). This
6396 All \textit{bignums} are accessed through an opaque \textit{void *} data type. You must internally cast the pointer if you need to access members of your bignum structure. During
6397 the init calls a \textit{void **} will be passed where you allocate your structure and set the pointer then initialize the number to zero. During the deinit calls you must
6404 The digit routines (including functions with the \textit{i} suffix) use a \textit{unsigned long} to represent the digit. If your internal digit is larger than this you must
6405 then partition your digits. Normally this does not matter as \textit{unsigned long} will be the same size as your register size. Note that if your digit is smaller