GenerateDerivedKey

GenerateDerivedKey[password]

与えられた password からDerivedKeyオブジェクトを生成する.

GenerateDerivedKey[password,salt]

与えられた passwordsalt からDerivedKeyオブジェクトを生成する.

詳細とオプション

  • GenerateDerivedKeyは,計算集約型鍵導出関数を使って暗号として強力な鍵ハッシュを生成する.
  • passwordsalt は,文字列,バイト値を表す整数のリスト,またはByteArrayオブジェクトでよい.
  • GenerateDerivedKey[password]GenerateDerivedKey[password,Automatic]に等しい.salt は,与えられていなければランダムに生成される.
  • GenerateDerivedKeyMethodオプションを取る.このオプションはAssociationを使って鍵導出関数とパラメータを指定する.
  • Methodのよく使われる設定には以下がある.
  • "Function"鍵導出関数
    "FunctionParameters"鍵導出関数のパラメータ
  • サポートされる鍵導出関数は,"scrypt""Argon2d""Argon2i""Argon2id"である.
  • "scrypt"鍵導出関数の関数パラメータはAssociationで,以下が含まれる.
  • "KeySize"64望ましい鍵の長さ(単位:バイト)
    "N"2^15計算の費用係数
    "r"8ブロックサイズ係数
    "p"1並列化係数
  • "N"の値は1より大きい2の整数ベキでなければならない.
  • "Argon2x"鍵導出関数の関数パラメータはAssociationで,以下が含まれる.
  • "KeySize"64望ましい鍵の長さ(単位:バイト)
    "t"2反復回数
    "m"2^16使用するメモリサイズ(単位:キロバイト)
    "p"1並列化係数
  • "m"の値は2の整数ベキでなければならない.
  • 暗号で安全な鍵を生成するために,鍵導出関数のパラメータは,通常,特定のコンピュータでの計算が数分の1秒を下回るように調整されている.

例題

すべて開くすべて閉じる

  (2)

派生鍵を生成する:

パスワードとソルトを使って派生鍵を生成する:

スコープ  (8)

整数のリストをパスワードとして使って派生鍵を生成する:

ByteArrayをパスワードとして使って派生鍵を生成する:

整数のリストをソルトとして使って派生鍵を生成する:

デフォルトの"scrypt"メソッドのパラメータをカスタム化する:

代替鍵導出関数を使って派生鍵を生成する:

鍵導出関数とパラメータを指定する:

DerivedKeyの文字列表現を生成する:

DerivedKeyを使って鍵をその文字列表現から再建する:

新たな鍵はもとの鍵と同一である:

ByteArrayをパスワードから生成する:

オプション  (2)

Method  (2)

鍵の"FunctionParameters"しか指定されていない場合,これはデフォルトメソッドの"scrypt"をカスタマイズする:

代替鍵導出関数"Argon2id"をデフォルトパラメータで使う:

パラメータも指定する:

アプリケーション  (3)

単純なパスワード文字列から暗号的に強力なパスワードハッシュを生成する:

パスワードを確認する:

文字列表現で派生鍵を使ってパスワードを確認する:

特性と関係  (3)

DerivedKeyは,与えられた同じパスワードとソルトから決定論的に生成される:

これは,鍵をその文字列表現から生成する場合にもあてはまる:

計算時間は"scrypt"の"r"に比例して増加する:

"p"にも比例して増加する:

DerivedKeyからSymmetricKeyを生成する:

考えられる問題  (4)

特定のパラメータについては,派生鍵の生成に非常に時間がかかることがある:

鍵導出関数のパラメータは,機械サイズ整数でなければならない:

鍵導出関数によっては,パスワードとソルトのサイズに制限があるものがある:

記号鍵を作成する際は,派生鍵から得たランダムなデータが新たな鍵のサイズに合わせて切り詰めれることがある:

希望のサイズの派生鍵を生成するためには,鍵のサイズを明示的に指定しなければならない:

Wolfram Research (2019), GenerateDerivedKey, Wolfram言語関数, https://reference.wolfram.com/language/ref/GenerateDerivedKey.html (2020年に更新).

テキスト

Wolfram Research (2019), GenerateDerivedKey, Wolfram言語関数, https://reference.wolfram.com/language/ref/GenerateDerivedKey.html (2020年に更新).

CMS

Wolfram Language. 2019. "GenerateDerivedKey." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/GenerateDerivedKey.html.

APA

Wolfram Language. (2019). GenerateDerivedKey. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GenerateDerivedKey.html

BibTeX

@misc{reference.wolfram_2025_generatederivedkey, author="Wolfram Research", title="{GenerateDerivedKey}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/GenerateDerivedKey.html}", note=[Accessed: 01-July-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_generatederivedkey, organization={Wolfram Research}, title={GenerateDerivedKey}, year={2020}, url={https://reference.wolfram.com/language/ref/GenerateDerivedKey.html}, note=[Accessed: 01-July-2025 ]}