ファイル名bigint.c
ソースファイル情報| 内容 | 行数 | 比率 | 
|---|---|---|
| コメント行数 | 261 | 17% | 
| 空行行数 | 318 | 21% | 
| 実行行数 | 917 | 62% | 
| 合計行数 | 1496 | 100% | 
関数定義数| 内容 | 定義数 | 
|---|---|
| 関数数 | 41 | 
定義関数| No. | 型 | 名称 | 属性 | 説明 | 
|---|---|---|---|---|
1  | 
bi_initialize | BI_CTX * | @brief Start a new bigint context. | |
2  | 
bi_terminate | void | @brief Close the bigint context and free any resources. | |
3  | 
bi_copy | bigint * | @brief Increment the number of references to this object. | |
4  | 
bi_permanent | void | @brief Simply make a bigint object "unfreeable" if bi_free() is called on it. | |
5  | 
bi_depermanent | void | @brief Take a permanent object and make it eligible for freedom. | |
6  | 
bi_free | void | @brief Free a bigint object so it can be used again. | |
7  | 
int_to_bi | bigint * | @brief Convert an (unsigned) integer into a bigint. | |
8  | 
bi_clone | bigint * | @brief Do a full copy of the bigint object. | |
9  | 
bi_add | bigint * | @brief Perform an addition operation between two bigints. | |
10  | 
bi_subtract | bigint * | @brief Perform a subtraction operation between two bigints. | |
11  | 
bi_int_multiply | static bigint * | Perform a multiply between a bigint an an (unsigned) integer | |
12  | 
bi_divide | bigint * | @brief Does both division and modulo calculations. | |
13  | 
bi_int_divide | static bigint * | ||
14  | 
modular_inverse | static comp | There is a need for the value of integer N' such that B^-1(B-1)-N^-1N'=1, | |
15  | 
defined | |||
16  | 
comp_left_shift | static bigint * | Take each component and shift it up (in terms of components) | |
17  | 
bi_import | bigint * | @brief Allow a binary sequence to be imported as a bigint. | |
18  | 
bi_str_import | bigint * | @brief The testharness uses this code to import text hex-streams and | |
19  | 
bi_print | void | ||
20  | 
bi_export | void | @brief Take a bigint and convert it into a byte sequence. | |
21  | 
bi_set_mod | void | @brief Pre-calculate some of the expensive steps in reduction. | |
22  | 
bi_free_mod | void | @brief Used when cleaning various bigints at the end of a session. | |
23  | 
regular_multiply | static bigint * | Perform a standard multiplication between two bigints. | |
24  | 
karatsuba | static bigint * | ||
25  | 
bi_multiply | bigint * | @brief Perform a multiplication operation between two bigints. | |
26  | 
regular_square | static bigint * | ||
27  | 
bi_square | bigint * | @brief Perform a square operation on a bigint. | |
28  | 
bi_compare | int | @brief Compare two bigints. | |
29  | 
more_comps | static void | ||
30  | 
alloc | static bigint * | ||
31  | 
find_max_exp_index | static int | ||
32  | 
exp_bit_is_one | static int | ||
33  | 
check | static void | ||
34  | 
trim | static bigint * | ||
35  | 
bi_mont | bigint * | @brief Perform a single montgomery reduction. | |
36  | 
comp_mod | static bigint * | ||
37  | 
partial_multiply | static bigint * | ||
38  | 
bi_barrett | bigint * | @brief Perform a single Barrett reduction. | |
39  | 
precompute_slide_window | static void | ||
40  | 
bi_mod_power | bigint * | @brief Perform a modular exponentiation. | |
41  | 
bi_mod_power2 | bigint * | @brief Perform a modular exponentiation using a temporary modulus. | 
目次 | ファイル一覧 | 関数一覧 | ネームスペース一覧 | クラス一覧 | #define一覧 | マクロ一覧 | 外部変数一覧 | 構造体一覧 | 共用体一覧 | 列挙体一覧 | Const一覧 | 索引 | サイドメニュー