Home | History | Annotate | Download | only in libtomcrypt

Lines Matching full:ciphers

120 designing cryptosystems.  It supports symmetric ciphers, one-way hashes, pseudo-random number generators, 
123 The library was designed such that new ciphers/hashes/PRNGs can be added at run-time and the existing API
146 With this library all core functions (ciphers, hashes, prngs, and bignum) have the same prototype definition. They all load
150 that can be used to make a program automatically pick between ciphers, hashes and PRNGs at run-time. That means your
151 application can support all ciphers/hashes/prngs/bignum without changing the source code.
165 The LibTomCrypt package has also been written to be very modular. The block ciphers, one--way hashes,
182 are not directly tied to the ciphers. That is a new cipher can be added to the library by simply providing
193 of the authors knowledge the only patent related issues within the library are the RC5 and RC6 symmetric block ciphers.
195 of the ciphers and hashes are patent free or under patents that have since expired.
197 The RC2 and RC4 symmetric ciphers are not under patents but are under trademark regulations. This means you can use
198 the ciphers you just can't advertise that you are doing so.
394 lower eight bits contain data. For example, if you want to pass a 256 bit key to a symmetric ciphers setup routine, you
401 \chapter{Symmetric Block Ciphers}
403 LibTomCrypt provides several block ciphers with an ECB block mode interface. It is important to first note that you
405 or use one of the provided chaining modes. All of the ciphers are written as ECB interfaces since it allows the rest of
409 All ciphers store their scheduled keys in a single data type called \textit{symmetric\_key}. This allows all ciphers to
411 allocation, and allows you to allocate a fixed sized buffer for storing scheduled keys. All ciphers must provide six visible
491 For the software based ciphers within LibTomCrypt, these functions will not do anything. However, user supplied
545 As a general rule of thumb, do not use symmetric keys under 80 bits if you can help it. Only a few of the ciphers support smaller
553 The number of rounds of most ciphers is not an option you can change. Only RC5 allows you to change the number of
554 rounds. By passing zero as the number of rounds all ciphers will use their default number of rounds. Generally the
555 ciphers are configured such that the default number of rounds provide adequate security for the given block and key
632 \caption{Built--In Software Ciphers}
730 as there is no more room (it can have 32 ciphers at most) it will return {\bf{-1}}. If you try to add the same cipher more
781 CBC or Cipher Block Chaining mode is a simple mode designed to prevent trivial forms of replay and swap attacks on ciphers.
830 The CTR, CFB and OFB routines provided allow you to encrypt block sizes that differ from the ciphers block size. They
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.
1098 The F8 Chaining mode (see RFC 3711 for instance) is yet another chaining mode for block ciphers. It behaves much like CTR mode in that it XORs a keystream
1131 of the ciphers block size.
1346 and the random \textit{nonce}. Note that \textit{nonce} must be a random (public) string the same length as the block ciphers
1544 block ciphers with a 16--byte block.
1751 Like the ciphers, there are hash core functions and a universal data type to hold the hash state called \textit{hash\_state}. To initialize hash
1784 enough for the hash in question. Often hashes are used to get keys for symmetric ciphers so the \textit{XXX\_done()} functions
1817 Like the set of ciphers, the set of hashes have descriptors as well. They are stored in an array called \textit{hash\_descriptor} and
2015 applicable block ciphers (such as AES) can be turned into hash functions that other LTC functions can use. In
2577 with other ciphers. For LibTomCrypt, the F9--MAC code can use any cipher.
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.
3299 Normally RSA is used to encrypt short symmetric keys which are then used in block ciphers to encrypt a message.
4795 hash functions output. As such, it can easily be used to derive session keys for ciphers and MACs as well initial vectors as required
4943 To avoid linking and other run--time errors it is important to register the ciphers, hashes and PRNGs you intend to use
4949 need a PRNG can instantly take advantage of it. The same applies for ciphers, hashes, and bignum math routines.
4953 \subsection{Symmetric Ciphers}
4954 For symmetric ciphers, use as large as of a key as possible. For the most part \textit{bits are cheap} so using a 256--bit key
4957 \subsection{Asymmetric Ciphers}
5021 thread has its own state variables then they will not affect each other, and are fully thread safe. This is fairly simple with symmetric ciphers
5239 When this has been defined the various self--test functions (for ciphers, hashes, prngs, etc) are included in the build. This is the default configuration.
5276 \subsection{Symmetric Ciphers, One-way Hashes, PRNGS and Public Key Functions}
5277 There are a plethora of macros for the ciphers, hashes, PRNGs and public key functions which are fairly
5311 When this is defined some of the code such as the Rijndael and SAFER+ ciphers are replaced with smaller code variants.
5347 require updating. This has the nice benefit that one can add ciphers (etc.) not have to re--write portions of the API. For the most part, LibTomCrypt has also been written
5359 \mysection{Ciphers}
5360 The ciphers in LibTomCrypt are accessed through the ltc\_cipher\_descriptor structure.
5638 This is a single byte Internal ID you can use to distinguish ciphers from each other.
5645 The size of the ciphers plaintext or ciphertext is \textit{block\_length} and is measured in octets.
5648 Some ciphers allow different number of rounds to be used. Usually you just use the default. The default round count is \textit{default\_rounds}.
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