Home | History | Annotate | Download | only in libtomcrypt

Lines Matching defs:must

320 must pass it the length of the buffer where the output will be stored.  For example:
395 must pass in (a pointer to) an array of 32 \textit{unsigned char} variables. Certain routines (such as SAFER+) take
411 allocation, and allows you to allocate a fixed sized buffer for storing scheduled keys. All ciphers must provide six visible
493 setup function must also call the respective cipher done function when finished.
594 For a plugin to be compliant it must provide at least each function listed before the accelerators begin. Accelerators are optional,
703 /* you must register a cipher before you use it */
724 to use a cipher with the descriptor table you must register it first using:
876 the initialization vector to be used with the cipher. You must fill the IV yourself and it is assumed they are the same
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
934 of the IV passed in must be the size of the ciphers block size.
1037 $K_2$ is the \textit{tweak} key and is always 16 octets long. The tweak value is \textbf{NOT} a nonce or IV value it must be random and secret.
1071 These will encrypt (or decrypt) the plaintext to the ciphertext buffer (or vice versa). The length is specified by \textit{len} in octets but must be a multiple
1346 and the random \textit{nonce}. Note that \textit{nonce} must be a random (public) string the same length as the block ciphers
1386 Note that \textit{ptlen} must be less than or equal to the block size of block cipher chosen. Also note that if you have
1457 This performs the \textit{CCM} operation on the data. The \textit{cipher} variable indicates which cipher in the descriptor table to use. It must have a
1560 chosen must have a 16--byte block size (e.g., AES).
1783 This function will finish up the hash and store the result in the \textit{out} array. You must ensure that \textit{out} is long
1927 This will hash the file named by \textit{fname} using the hash indexed by \textit{hash}. The file named in this function call must be readable by the
1975 Similar to the cipher descriptor table you must register your hash algorithms before you can use them. These functions
2019 descriptor must be registered with register\_hash(). At this point the CHC hash cannot be used to hash
2033 \item The cipher must have a block size greater than 64--bits.
2034 \item The cipher must allow an input key the size of the block size.
2094 length (in octets) of the key you want to use to authenticate the message. To send octets of a message through the HMAC system you must use the following function:
2103 are finished with the HMAC process you must call the following function to get the HMAC code:
2111 You must set \textit{outlen} to the size of the destination buffer before calling this function. It is updated with the length of the HMAC code
2128 table must be provided in \textit{hash}. It uses the key from \textit{key} with a key length of \textit{keylen}.
2129 The result is stored in the array of octets \textit{out} and the length in \textit{outlen}. The value of \textit{outlen} must be set
2214 of the cipher\footnote{The cipher must have a 64 or 128 bit block size. Such as CAST5, Blowfish, DES, AES, Twofish, etc.} you
2351 must have a 64 or 128 bit block size (e.x. AES).
2671 This will setup the PRNG for future use and not seed it. In order for the PRNG to be cryptographically useful you must give it
2724 \textit{in} of length \textit{inlen} as the initial seed. You must pass the same seed length as was exported
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.
2907 you pass it on the \textbf{first} call to add\_entropy(). All buffers sent to add\_entropy() must have a length
2976 used when the slower ANSI C RNG must be used so the calling application can still work. This is useful since the ANSI C RNG has a throughput of roughly three
3081 This will encode the message pointed to by \textit{msg} of length \textit{msglen} octets. The \textit{block\_type} parameter must be set to
3082 \textbf{LTC\_PKCS\_1\_EME} to perform encryption padding. It must be set to \textbf{LTC\_PKCS\_1\_EMSA} to perform signature padding. The \textit{modulus\_bitlen}
3103 \textit{outlen}. If the padding is valid, a 1 is stored in \textit{is\_valid}, otherwise, a 0 is stored. The \textit{block\_type} parameter must be set to either
3135 used but both the encoder and decoder must use the same hash in order for this to succeed. The size of hash output affects the maximum
3142 Note that when the message is padded it still has not been RSA encrypted. You must pass the output of this function to
3164 and must match what was used during encoding. Similarly the \textit{hash\_idx} index into the hash descriptor table must match what was used
3267 trivial math attacks, and not super slow. The \textit{key} parameter is where the constructed key is placed. All keys must be at
3341 The parameters are all the same as for rsa\_encrypt\_key() except for the addition of the \textit{padding} parameter. It must be set to
3386 It must be set to \textbf{LTC\_PKCS\_1\_V1\_5} to perform v1.5 decryption, or set to \textbf{LTC\_PKCS\_1\_OAEP} to perform v2.1 decryption.
3413 default value is between 8 and 16 octets. Strictly, it must be small than $modulus\_len - hLen - 2$ where \textit{modulus\_len} is the size of
3437 must be set to \textbf{LTC\_PKCS\_1\_V1\_5} to produce a v1.5 signature, otherwise, it must be set to \textbf{LTC\_PKCS\_1\_PSS} to produce a
3486 The \textit{padding} parameter must be set to \textbf{LTC\_PKCS\_1\_V1\_5} to perform a v1.5 verification. Otherwise, it must be set to
3723 The curve must be of the form $y^2 = x^3 - 3x + b$, and all of the integer parameters are encoded in hexadecimal format.
3885 This function will decrypt an encrypted payload. The \textit{key} provided must be the private key corresponding to the public key
3922 the ECC \textit{key} provided must be a private key.
3938 The ECC \textit{key} must be the public (or private) ECC key corresponding to the key that performed the signature.
3963 publicFlags BIT STRING(0), -- must be 0
3969 -- (must be prime)
3977 publicFlags BIT STRING(1), -- must be 1
3983 -- (must be prime)
3996 To make a DSA key you must call the following function
4044 \item $q$ must be prime.
4045 \item $p$ must be prime.
4047 \item $g$ must be less than $p$.
4088 is stored and the function returns an error code. The DSA \textit{key} must be of the \textbf{PK\_PRIVATE} persuasion.
4126 length of the ciphertext \textit{outlen} must be originally set to the length of the output buffer. The DSA \textit{key} can be
4140 The DSA \textit{key} must be a private key.
4153 This will export the DSA \textit{key} to the buffer \textit{out} and set the length in \textit{outlen} (which must have been previously
4257 To encode a sequence a \textbf{ltc\_asn1\_list} array must be initialized with the members of the sequence and their respective pointers. The encoding is performed
4332 and \textit{data} is \textbf{void} pointer. The list of items must be terminated with an item with the type \textbf{LTC\_ASN1\_EOL}.
4523 These will encode or decode an OBJECT IDENTIFIER object. The words of the OID are stored in individual \textbf{unsigned long} elements, and must be in the range
4785 Where \textit{password} is the user's password. Since the algorithm allows binary passwords you must also specify the length in \textit{password\_len}.
4809 Where \textit{password} is the users password. Since the algorithm allows binary passwords you must also specify the length in \textit{password\_len}.
4871 Where \textit{in} is the binary string and \textit{out} is where the ASCII output is placed. You must set the value of \textit{outlen} prior
4930 However, when the end user is not on one of these platforms, the application developer must address the issue of finding
5020 The rest of the code uses state variables you must pass it such as hash\_state, hmac\_state, etc. This means that if each
5038 configured. Note that LibTomCrypt can be built with no internal math descriptors. This means that one must be provided at either
5169 Note that even if you include the built--in descriptors you must link against the source library as well.
5175 This will compile \textit{myprogram} and link it against the LibTomCrypt library as well as TomsFastMath (which must have been previously installed). Note that
5182 that you \textbf{must} specify the \textbf{EXTRALIBS} variable at install time.
5188 This will build and install the library and link the shared object against the TomsFastMath library (which must be installed as a shared object as well). The
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
5268 data type you can perform integer operations with. Ideally it should be four or eight bytes since it must properly divide the size
5642 and both must valid key sizes for the cipher. Values in between are not assumed to be valid though they may be.
5660 must make sure you do not overwrite the output before you are finished with the input.
5669 example, if the input is $25$ and $24$ is valid then it stores $24$ back in the pointed to integer. It must not round up and must return an error if the keysize
5682 The \textit{blocks} value is the number of complete blocks to process. The \textit{IV} is the CBC initial vector. It is an input upon calling this function and must be
5687 The \textit{blocks} value is the number of complete blocks to process. The \textit{IV} is the CTR counter vector. It is an input upon calling this function and must be
5701 pass in a minimum of nine extra bytes before the accelerator could be called. The CTR accelerator must increment the counter (and store it back into the
5707 These functions are meant for accelerated LRW. They process blocks of input in lengths of multiples of 16 octets. They must accept the \textit{IV} and \textit{tweak}
5721 function MUST support both key passing methods.
5741 be called prior to this. This function must handle scheduling the key provided on its own. It is called when the user calls gcm\_memory().
5845 This processes message bytes. The algorithm must accept any length of input that the hash would allow. The input is not
5852 A compatible accelerator must allow processing data in any granularity which may require internal padding on the driver side.
5975 /** Bits per digit, amount of bits must fit in an unsigned long */
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
6402 All functions (except where noted otherwise) return \textbf{CRYPT\_OK} to signify a successful operation. All error codes must be valid LibTomCrypt error codes.
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
6425 All ECC functions must use this mapping system. The only exception is when you remap all ECC callbacks which will allow you to have more control
6437 This will map the point $P$ back from projective to affine. The output point $P$ must be of the form $(x, y, 1)$.
6443 roughly the time of one point multiplication. It is called from ecc\_verify\_hash() if an accelerator is not present. The acclerator function must allow the points to
6444 overlap (e.g., $A \leftarrow k_1A + k_2B$) and must return the final point in affine format.
6476 to the \textit{out} buffer. The output must be zero padded (leading bytes) so that the length of the output matches the length of the modulus (in bytes). For example,