チェック付き暗号演算と鍵合意

バージョン 2.955.1 は、既存の SHA3・SHAKE・鍵合意 API を保持したまま、Delphi と Free Pascal の両方で整数オーバーフローと範囲チェックを有効にしました

SHA3-256、SHA3-384、SHA3-512、SHAKE256 は、空入力、レート境界、複数ブロック、ストリーミング更新、SHAKE の繰り返し抽出を通じて、既存の出力を保持します

P-256、P-384、P-521 の交換は、フィールド実装が意図的に 2^64 を法として動作する箇所で、明示的な低位ワード演算を使います。上位ビット定数と Montgomery 演算は、チェック付き 32 ビットビルドでも引き続き使用可能です

Montgomery 共有秘密の許可

HPDFX25519 と HPDFX448 は、正規化された出力バイト全体を検査し、共有秘密がすべてゼロの場合に EInvalidOpException を送出します。内部リムが非ゼロの弱いフィールド表現も含まれます

HPDFComputeKeyAgreementSecret はこの拒否を False、空の SharedSecret、新しい Issue に変換します。後続の有効な操作は引き続き使用できます

非正準な u 座標は、X25519 の上位ビット規則を含め、引き続き RFC 7748 のデコードに従います。ゼロ秘密チェックは RFC 7748 セクション 6 の任意の許可チェックに従います

受け入れ

6 つの実際のネイティブターゲットが、それぞれ 360 件の独立した SHA3/SHAKE 比較と 101 件の鍵合意ケースに合格します。両方向のフル幅 NIST 秘密スカラー、RFC ベクトルと 1,000 反復、低次点の拒否、非正準入力とその復元を含みます

両方の Delphi アーキテクチャが、変更されていない元の ladder と recipient-envelope の 11 個のコンシューマメソッドにも合格します。実際のコンパイラクロージャは現在のリリース構成に対して監査されます

通常のチェック付きコンソール受け入れには Tests/Linux/Run-CheckedCryptoAcceptance.py を実行してください。コンパイラコマンドと独立ベクトルジェネレータは Tests/Linux/CheckedCryptoAcceptance.en-us.md に記載されています

これらのチェックは、ドキュメント化されたベクトルと拒否の動作を確立するものです。定数時間実行やサイドチャネル認証を確立するものではありません

残りの機能の完成状況