From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/web/api/crypto/getrandomvalues/index.html | 103 +++++++++++++++++++++ files/ja/web/api/crypto/index.html | 68 ++++++++++++++ files/ja/web/api/crypto/subtle/index.html | 51 ++++++++++ 3 files changed, 222 insertions(+) create mode 100644 files/ja/web/api/crypto/getrandomvalues/index.html create mode 100644 files/ja/web/api/crypto/index.html create mode 100644 files/ja/web/api/crypto/subtle/index.html (limited to 'files/ja/web/api/crypto') diff --git a/files/ja/web/api/crypto/getrandomvalues/index.html b/files/ja/web/api/crypto/getrandomvalues/index.html new file mode 100644 index 0000000000..3230ce2e29 --- /dev/null +++ b/files/ja/web/api/crypto/getrandomvalues/index.html @@ -0,0 +1,103 @@ +--- +title: RandomSource.getRandomValues() +slug: Web/API/Crypto/getRandomValues +tags: + - API + - Crypto + - Cryptography + - Encryption + - Integers + - Method + - Numbes + - Pseudorandom + - Pseudorandom Numbers + - Random Numbers + - Reference + - Web Crypto API + - getRandomValues + - 擬似乱数 +translation_of: Web/API/Crypto/getRandomValues +--- +

{{APIRef("Web Crypto API")}}

+ +

Crypto.getRandomValues() メソッドは、暗号強度の強い乱数値を取得します。引数に与えた配列は、すべて乱数 (暗号的な意味でランダムに) で埋められます。

+ +

十分な性能を保証するために、実装は、真に乱数発生器を使用しているのではなく、十分なエントロピーを有するシード値を用いた疑似乱数発生器を使用しています。擬似乱数発生器アルゴリズム (PRNG) は、{{Glossary("user agent", "ユーザーエージェント")}}によって異なる可能性がありますが、暗号化目的には適しています。実装にあたっては、システムレベルのエントロピー源のように、十分なエントロピーを持つシード値を使う必要があります。

+ +

getRandomValues()Crypto インターフェイスで安全なコンテキスト外から使用することができる唯一のメンバーです。

+ +

構文

+ +
typedArray = cryptoObj.getRandomValues(typedArray);
+ +

引数

+ +
+
typedArray
+
整数値を基数とした {{jsxref("TypedArray")}}。{{jsxref("Int8Array")}} または {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}。配列内のすべての要素は乱数で上書きされます。
+
+ +

返値

+ +

typedArray と同じ配列が渡されますが、その内容は新しく生成された乱数で置き換えられます。 typedArray はその場で変更され、コピーは行われないことに注意してください。

+ +

例外

+ +

このメソッドはエラーが発生すると例外を発行する可能性があります。

+ +
+
{{domxref("DOMException")}} (name: {{exception("QuotaExceededError")}})
+
リクエストした長さが 65536 バイトを超えた場合。
+
+ +

使用上の注意

+ +

暗号鍵を生成するために getRandomValues() 使用しないでください。代わりに {{domxref("SubtleCrypto.generateKey", "generateKey()")}} メソッドを使用してください。これにはいくつかの理由があります。例えば、 getRandomValues() が安全なコンテキストで動作することが保証されていないことなどです。

+ +

ウェブ暗号仕様書では、エントロピーの最小値は規定されていません。その代わりに、ユーザーエージェントは乱数を生成する際に、ユーザーエージェント自身に組み込まれた、よく定義された効率的な擬似乱数発生器を用いて、可能な限り最高のエントロピーを提供することが求められていますが、プラットフォーム固有の乱数関数、 Unix の /dev/urandom デバイス、または他のランダムまたは擬似乱数データのソースなど、外部の擬似乱数ソースから取得したシード値が用いられます。

+ +

+ +
/* window.crypto.getRandomValues が利用可能であると想定 */
+
+var array = new Uint32Array(10);
+window.crypto.getRandomValues(array);
+
+console.log("Your lucky numbers:");
+for (var i = 0; i < array.length; i++) {
+  console.log(array[i]);
+}
+
+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('Web Crypto API', '#RandomSource-method-getRandomValues')}}{{Spec2('Web Crypto API')}}初回定義
+ +

ブラウザーの互換性

+ + + +

{{Compat("api.Crypto.getRandomValues")}}

+ +

関連情報

+ + diff --git a/files/ja/web/api/crypto/index.html b/files/ja/web/api/crypto/index.html new file mode 100644 index 0000000000..7c2ea16a71 --- /dev/null +++ b/files/ja/web/api/crypto/index.html @@ -0,0 +1,68 @@ +--- +title: Crypto +slug: Web/API/Crypto +tags: + - API + - Interface + - Reference + - Web Crypt API +translation_of: Web/API/Crypto +--- +

{{APIRef("Web Crypto API")}}

+ +

Crypto インターフェイスは、現在のコンテキストで利用できる基本的な暗号機能を表します。これは、暗号強度の強い乱数生成器と暗号プリミティブへのアクセスを許可します。

+ +

このインターフェイスを持つオブジェクトは、{{domxref("Window.crypto")}} プロパティを通じてウェブコンテキスト上で利用可能です。

+ +

プロパティ

+ +

このインターフェイスは、{{domxref("RandomSource")}} 上に定義されたプロパティを実装します。

+ +
+
{{domxref("Crypto.subtle")}} {{experimental_inline}}{{readOnlyInline}}
+
ハッシュや署名、暗号化、複合など、共通の暗号プリミティブへのアクセスを提供する {{domxref("SubtleCrypto")}} オブジェクトを返します。
+
+ +

メソッド

+ +

このインターフェイスは、{{domxref("RandomSource")}} 上に定義されたメソッドを実装します。

+ +
+
{{domxref("RandomSource.getRandomValues()")}}
+
渡された {{ jsxref("TypedArray") }} を意味不明の乱数値で埋めます。
+
+ +

仕様

+ + + + + + + + + + + + + + + + +
仕様書策定状況備考
{{SpecName("Web Crypto API", "#crypto-interface", "Crypto")}}{{Spec2("Web Crypto API")}}初期定義
+ +

ブラウザーの実装状況

+ +
+
+ + +

{{Compat("api.Crypto")}}

+
+
+ +

関連情報

+ + diff --git a/files/ja/web/api/crypto/subtle/index.html b/files/ja/web/api/crypto/subtle/index.html new file mode 100644 index 0000000000..00a569df97 --- /dev/null +++ b/files/ja/web/api/crypto/subtle/index.html @@ -0,0 +1,51 @@ +--- +title: Crypto.subtle +slug: Web/API/Crypto/subtle +tags: + - API + - Cryptgraphy + - Property + - Read-only + - Reference + - Web Crypt API +translation_of: Web/API/Crypto/subtle +--- +

{{APIRef("Web Crypto API")}}

+ +

Crypto.subtle 読み取り専用プロパティは、暗号化操作ができる {{domxref("SubtleCrypto")}} オブジェクトを返します。

+ +

構文

+ +
var crypto = crypto.subtle;
+ +

仕様

+ + + + + + + + + + + + + + +
仕様書策定状況備考
{{ SpecName('Web Crypto API', '#dfn-Crypto', 'Crypto.subtle') }}{{ Spec2('Web Crypto API') }}初期定義。
+ +

ブラウザーの実装状況

+ + + +

{{Compat("api.Crypto.subtle")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf