ファイル名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一覧 | 索引 | サイドメニュー