hex-literal instead of blobby?
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- リファクタリング
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- rust
- 領域
- cryptography, testing
調査の方向性
traits 配下の crates と、リンクされている stream-ciphers の PR におけるテストベクターの扱いを確認し、現在 blobby がベクターをどのように表現しているかに注目してください。そのアプローチを hex-literal と比較し、crate ごとのテストベクター用 struct と配列を定義する範囲を判断してください。完了時には、ベクターが読みやすく、出典を追跡できる状態になっているべきです。独立した test-vectors feature には独自の設計が必要になります。
索引モデルが issue の本文から書いたものです。
説明
In https://github.com/RustCrypto/stream-ciphers/pull/244 and https://github.com/RustCrypto/stream-ciphers/pull/245 we encountered the problem of the blobby test vectors being opaque. As serendipity would have it two people opened PRs because they thought test vectors were missing.
It appears they were, but it's presently difficult to ascertain that because all of the test vectors are in an opaque binary blob. I ended up having to write a small tool to dump the test vectors as hex so I could compare them to the ones in the RFC.
If the goal of blobby is to reduce the size of the test vectors in a compiled binary, it seems like hex-literal accomplishes that by encoding the test vectors as binary at compile time.
If the goal is to reduce the size of the crate, I really doubt it's accomplishing much over gzipped hex. But in the process, we also lose comments about the progeny of test vectors, which makes it difficult to answer questions like what ones we have included for each crate (see aforementioned PRs).
I would suggest that each of the crates in traits defines a test vector struct, and we populate an array of those using hex-literal.
Separately I think it'd be great to have a test-vectors crate feature for each of the algorithms that would allow such vectors to be used as part of an initialization self-test (which is a common thing for e.g. FIPS).
- 主要言語
- Rust
- スター
- 756
- フォーク
- 256
- 平均マージ
- 1時間 27分
- マージ済み PR(30日)
- 2
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
RustCrypto/traits のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
RustCrypto/traits#2487 · コメント 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
RustCrypto/traits#2482 · コメント 5 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 32/100
RustCrypto/traits#2478 · コメント 5 件 ·
-
cipher
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
RustCrypto/traits#2424 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
RustCrypto/traits#2401 ·
RustCrypto/traits の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
TheLarkInn/aipm#2413 ·
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
alexgorbatchev/simple-ptt#15 ·
-
tooling
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
todo:ticket
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
taikoxyz/taiko-mono#22168 · コメント 1 件 ·