SophiaFramework UNIVERSE 5.3 |
BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
---|---|---|---|
× | × | × | ○ |
パブリック関数 | |
---|---|
SFCError |
Add(
SFBBNConstRef param
) 特定の BN を自身に追加します。
|
SFCError |
Cmp(
SFBBNConstRef param
) "me" を引数と比較し、結果を返します(MEMCMPに類似)。
|
SFCError |
Copy(
SFBBNRef param
) 現在のBNのコンテンツを、cpiArgのコンテンツに設定します。
|
SFCError |
Div(
SFBBNConstRef divisor
, SFBBNRef quotient
) 自身を除数で割り、商も結果として得ます。"me"は、剰余に設定されます。
|
SFCError |
Get(
VoidPtr buf
, SInt32Ptr size
) BNのコンテンツを、提供されたバッファにコピーします。
|
SFCError |
Get(
SFXBufferPtr buf
) BNのコンテンツを、提供されたバッファにコピーします。
|
Void |
ModExp(
SFBBNConstRef exp
, SFBBNConstRef modulus
, SInt32Ptr result
, SFXCallbackPtr callback
) BNのモジュラ指数を計算し、その結果で自身を更新します。
|
SFCError |
ModMul(
SFBBNConstRef multiplier
, SFBBNConstRef modulus
) BNのモジュラ乗算を実行し、その結果で自身を更新します。
|
SFCError |
Mul(
SFBBNConstRef param
) 引数を自身で乗算します。
|
SFCError |
New(
VoidConstPtr buf
, SInt32 len
, SFBBNSmpPtr pOut
) CreateInstanceを呼び出す代わりに、新しいBNを構築する生成メソッド。
|
SFCError |
New(
SFXBufferConstRef buf
, SFBBNSmpPtr pOut
) CreateInstanceを呼び出す代わりに、新しいBNを構築する生成メソッド。
|
static SFBBNSmp |
NewInstance(
SFCErrorPtr exception = null
) SFBBN インスタンスを生成します。
|
static SFBBNSmp |
NewInstance(
AEECLSID id
, SFCErrorPtr exception = null
) SFBBN インスタンスを生成します。
|
SFCError |
Set(
VoidConstPtr buf
, SInt32 len
) BNのコンテンツを、新しく提供されたバッファにリセットします。長さが0なら、BNは0に設定されます。
|
SFCError |
Set(
SFXBufferConstRef buf
) BNのコンテンツを、新しく提供されたバッファにリセットします。長さが0なら、BNは0に設定されます。
|
SFCError |
Sub(
SFBBNConstRef param
) 自身から引数を引きます。引数が"me"のサイズ以下のときにだけ有効です。
|
SFCError |
QueryInterface(
AEECLSID clsid
, VoidHandle handle
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
SFCError |
QueryInterface(
AEECLSID clsid
, SFBBaseSmpPtr handle
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
SFBBaseSmp |
QueryInterface(
AEECLSID clsid
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
Void |
Self(
AEECLSID clsidReq
, SFBQuerySmpPtr clone
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
|
SFBQuerySmp |
Self(
AEECLSID clsidReq
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
|
プロテクト関数 | |
---|---|
static SFBBaseSmp |
FactoryByCreate(
AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
|
static SFBBaseSmp |
FactoryByQuery(
SFBQuerySmpConstRef query
, AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。
|
[ public ] SFCError Add( SFBBNConstRef param // 追加するBN );
AEE_ENOMEMORY: メモリ不足。
[ public ] SFCError Cmp( SFBBNConstRef param // 比較するBN );
AEE_ENOMEMORY: メモリ不足。
[ public ] SFCError Div( SFBBNConstRef divisor // 除数BN SFBBNRef quotient // quotient BN; 商に興味がなければ、 NULL に設定可能 );
AEE_ENOMEMORY: メモリ不足。
副作用: 失敗時に、 "me" は使用不能となります。 "me" が必要な場合は、事前にコピーを作成して下さい。
[ public ] SFCError Get( VoidPtr buf // BNのコピー先のアレイ SInt32Ptr size // バッファのサイズ );
[ public ] SFCError Get( SFXBufferPtr buf // BNのコピー先のアレイ );
BNのコピー先のアレイ。
入力時に、pubBufのサイズを設定。 出力時に、コピーされたバッファの長さに設定。 メモリ不足時に、必要な最大バッファサイズを設定。
AEE_EFAILED: ターゲットバッファのメモリ不足。
BNのコンテンツを、提供されたバッファにコピーします。 実際のコピーバッファサイズでpnSizeを更新します。メモリ不足の場合、操作に成功するために必要な最大限のバッファサイズを格納します。 pnSizeポインタを必ず提供する必要があります。
[ public ] Void ModExp( SFBBNConstRef exp // 指数BN SFBBNConstRef modulus // モジュラBN int *result, 操作終了時に結果を格納 SInt32Ptr result // 結果 SFXCallbackPtr callback // 終了時に呼び出されるコールバック );
なし。
BNのモジュラ指数を計算し、その結果で自身を更新します。つまり、me = me^Exp mod Modulus
モジュラ(法)は、奇数である必要があります(ほとんどのセキュリティに関連するモジュラは奇数)。結果は常にpdwResultポインタで提供されます。
[ public ] SFCError ModMul( SFBBNConstRef multiplier // 乗数BN SFBBNConstRef modulus // モジュラBN );
法(モジュラ)は、奇数である必要があります(ほとんどのセキュリティに関連する法は奇数です)。
[ public ] SFCError Mul( SFBBNConstRef param // 乗算するBN );
AEE_ENOMEMORY: メモリ不足。
[ public ] SFCError New( VoidConstPtr buf // LSBを持つ0th バイト の配列にBig Numberを格納 SInt32 len // bufの長さ SFBBNSmpPtr pOut // 新しく作成された IBNオブジェクトをポイント );
[ public ] SFCError New( SFXBufferConstRef buf // LSBを持つ0th バイト の配列にBig Numberを格納 SFBBNSmpPtr pOut // 新しく作成された IBNオブジェクトをポイント );
CreateInstanceを呼び出して、 SFBBN::Set コールを実行する代わりに、1回でBNを作成し、設定できるように用意されています。 その結果、pOutは、新しいBN、またはメモリ不足のため失敗した場合には nullを持ちます。 結果的に得られる SFBBN は、入力時に使用された SFBBN と同じ実装を使用することに注意してください。
[ public, static ] SFBBNSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
[ public, static ] SFBBNSmp NewInstance( AEECLSID id // クラスID SFCErrorPtr exception = null // エラー値 );
[ public ] SFCError Set( VoidConstPtr buf // 0 番目のバイトがLSBである、Big Numberを保持するバイト配列 SInt32 len // bufの長さ );
[ public ] SFCError Set( SFXBufferConstRef buf // 0 番目のバイトがLSBである、Big Numberを保持するバイト配列 );
AEE_ENOMEMORY: メモリ不足。
[ public ] SFCError Sub( SFBBNConstRef param // 減算対象のBN );
AEE_EBADPARM: argが "me"より大きい場合。
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |