Skip to content
Permalink
Browse files

Update Verification functions page

  • Loading branch information...
Nazeim committed Sep 6, 2019
1 parent b188057 commit de148968d16389068ce77865bcc3a482eb3fb9b5
@@ -2,7 +2,6 @@
"plugins": [
"custom-js-css",
"tree-shaper@git+https://github.com/KardanovIR/gitbook-plugin-tree-shaper.git",
"inline-codes@git+https://github.com/KardanovIR/gitbook-plugin-inline-codes.git",
"github-gist@git+https://github.com/KardanovIR/gitbook-plugin-github-gist",
"pretty-hint@git+https://github.com/KardanovIR/gitbook-plugin-pretty-hint.git",
"pretty-link@git+https://github.com/KardanovIR/gitbook-plugin-pretty-link.git",
@@ -3,8 +3,9 @@
| # | Name | Description | Complexity |
| :--- | :--- | :--- | :--- |
| 1 | [extract(T|Unit): T](#extract) | Gets a data type from a [union](/ride/data-types/union.md) | 13 |
| 2 | [value(T|Unit): T](#value) | Gets a data type from a [union](/ride/data-types/union.md) | 13 |
| 3 | [valueOrErrorMessage(T|Unit, String): T](#value-error) | Gets a data type from a [union](/ride/data-types/union.md). Throws an exception if there is no data | 13 |
| 2 | [isDefined(List[T]|Unit): Boolean](#is-defined) | Checks if a value is not `Unit` | 1 |
| 3 | [value(T|Unit): T](#value) | Gets a data type from a [union](/ride/data-types/union.md) | 13 |
| 4 | [valueOrErrorMessage(T|Unit, String): T](#value-error) | Gets a data type from a [union](/ride/data-types/union.md). Throws an exception if there is no data | 13 |

## extract(T|Unit): T<a id="extract"></a>

@@ -20,6 +21,21 @@ extract(T|Unit): T

The argument.

## isDefined(List[T]|Unit): Boolean<a id="is-defined"></a>

Checks if a value is not `Unit`.

``` ride
isDefined(a: List[T]|Unit): Boolean
```

### Parameters

#### `a`: List[T]|Unit

The argument.


## value(T|Unit): T<a id="value"></a>

Gets a data type from a [union](/ride/data-types/union.md).
@@ -2,14 +2,15 @@

| # | Name | Description | Complexity |
| :--- | :--- | :--- | :--- |
| 1 | [checkMerkleProof(ByteVector, ByteVector, ByteVector): Boolean](#check-merkle-proof) | Verifies if a tree of hashes is part of the [Merkle tree](https://en.wikipedia.org/wiki/Merkle_tree). The [blake2b256](https://en.wikipedia.org/wiki/BLAKE_%28hash_function%29) function is used for hashing the Merkle tree. | 30 |
| 2 | [isDefined(List[T]&#124;Unit): Boolean](#is-defined) | Checks if a value is not `Unit` | 1 |
| 3 | [rsaVerify(digestAlgorithmType, ByteVector, ByteVector, ByteVector): Boolean](#rsa-verify) | Verifies an [RSA](https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) signature | 100 |
| 4 | [sigVerify(ByteVector, ByteVector, ByteVector): Boolean](#sig-verify) | Verifies a [Curve25519](https://en.wikipedia.org/wiki/Curve25519) signature | 100 |
| 1 | [checkMerkleProof(ByteVector, ByteVector, ByteVector): Boolean](#check-merkle-proof) | Checks that a tree of hashes is part of the [Merkle tree](https://en.wikipedia.org/wiki/Merkle_tree) | 30 |
| 2 | [rsaVerify(digestAlgorithmType, ByteVector, ByteVector, ByteVector): Boolean](#rsa-verify) | Checks that the [RSA](https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) digital signature is valid, i.e. it was created by the owner of the public key | 300 |
| 3 | [sigVerify(ByteVector, ByteVector, ByteVector): Boolean](#sig-verify) | Checks that the [Curve25519](https://en.wikipedia.org/wiki/Curve25519) digital signature is valid, i.e. it was created by the owner of the public key | 100 |

## checkMerkleProof(ByteVector, ByteVector, ByteVector): Boolean<a id="check-merkle-proof"></a>

Verifies if a tree of hashes is part of the [Merkle tree](https://en.wikipedia.org/wiki/Merkle_tree). The [blake2b256](https://en.wikipedia.org/wiki/BLAKE_%28hash_function%29) function is used for hashing the Merkle tree.
Checks that a tree of hashes is part of the [Merkle tree](https://en.wikipedia.org/wiki/Merkle_tree).

[BLAKE2b](https://en.wikipedia.org/wiki/BLAKE_%28hash_function%29) hashing function is used to hash the [Merkle tree](https://en.wikipedia.org/wiki/Merkle_tree).

``` ride
checkMerkleProof(merkleRoot: ByteVector, merkleProof: ByteVector, valueBytes: ByteVector): Boolean
@@ -19,33 +20,19 @@ checkMerkleProof(merkleRoot: ByteVector, merkleProof: ByteVector, valueBytes: By

#### merkleRoot: ByteVector

The root hash of the Merkle tree.
Root hash of the Merkle tree.

#### merkleProof: ByteVector

The array of bytes of the Merkle tree proof.
Tree of hashes.

#### valueBytes: ByteVector

The tree of hashes.

## isDefined(List[T]|Unit): Boolean<a id="is-defined"></a>

Checks if a value is not `Unit`.

``` ride
isDefined(a: List[T]|Unit): Boolean
```

### Parameters

#### `a`: List[T]|Unit

The argument.
Tree of hashes.

## rsaVerify(digestAlgorithmType, ByteVector, ByteVector, ByteVector): Boolean<a id="rsa-verify"></a>

Verifies an [RSA](https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) signature.
Checks that the [RSA](https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) digital signature is valid, i.e. it was created by the owner of the public key.

``` ride
rsaVerify(digest: digestAlgorithmType, message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean
@@ -55,23 +42,39 @@ rsaVerify(digest: digestAlgorithmType, message: ByteVector, sig: ByteVector, pub

#### `digest`: digestAlgorithmType

The RSA algorithm.
The hashing algorithm applied to the data.

The value must be one of the built-in variables:

* NOALG
* MD5
* SHA1
* SHA224
* SHA256
* SHA384
* SHA512
* SHA3224
* SHA3256
* SHA3384
* SHA3512

All variables, except `NOALG`, represent hashing algorithms. If `NOALG` is used, the data will not be hashed.

#### `message`: ByteVector

The message.
Signed data.

#### `sig`: ByteVectore

The signature.
Digital signature.

#### `pub`: ByteVectore

The public key.
Public key.

## sigVerify(ByteVector, ByteVector, ByteVector): Boolean<a id="sig-verify"></a>

Verifies a [Curve25519](https://en.wikipedia.org/wiki/Curve25519) signature.
Checks that the [Curve25519](https://en.wikipedia.org/wiki/Curve25519) digital signature is valid, i.e. it was created by the owner of the public key.

``` ride
sigVerify(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean
@@ -81,12 +84,12 @@ sigVerify(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean

#### `message`: ByteVector

The message.
Signed data.

#### `sig`: ByteVectore

The signature.
Digital signature.

#### `pub`: ByteVectore

The account public key.
Public key.
@@ -2,16 +2,15 @@

| 1 | Название | Описание | Сложность |
| :--- | :--- | :--- | :--- |
| 1 | [checkMerkleProof(ByteVector, ByteVector, ByteVector): Boolean](#check-merkle-proof) | Проверяет, является ли дерево хешей частью [дерева Меркла](https://ru.wikipedia.org/wiki/Дерево_хешей).<br>Для хеширования дерева Меркла используется [Blake2b256](https://en.wikipedia.org/wiki/BLAKE_%28hash_function%29). | 30 |
| 2 | [rsaVerify(digestAlgorithmType, ByteVector, ByteVector, ByteVector): Boolean](#rsa-verify) | Проверяет подпись [RSA](https://ru.wikipedia.org/wiki/RSA) | 300 |
| 3 | [sigVerify(ByteVector, ByteVector, ByteVector): Boolean](#sig-verify) | Проверяет подпись [Curve25519](https://en.wikipedia.org/wiki/Curve25519) | 100 |

| 1 | [checkMerkleProof(ByteVector, ByteVector, ByteVector): Boolean](#check-merkle-proof) | Проверяет, что дерево хешей является частью [дерева Меркла](https://ru.wikipedia.org/wiki/Дерево_хешей) | 30 |
| 2 | [rsaVerify(digestAlgorithmType, ByteVector, ByteVector, ByteVector): Boolean](#rsa-verify) | Проверяет, что цифровая подпись [RSA](https://ru.wikipedia.org/wiki/RSA) достоверна; то есть что она была создана владельцем открытого ключа | 300 |
| 3 | [sigVerify(ByteVector, ByteVector, ByteVector): Boolean](#sig-verify) | Проверяет, что цифровая подпись [Curve25519](https://en.wikipedia.org/wiki/Curve25519) достоверна; то есть что она была создана владельцем публичного ключа | 100 |

## checkMerkleProof(ByteVector, ByteVector, ByteVector): Boolean<a id="check-merkle-proof"></a>

Проверяет, является ли дерево хешей частью [дерева Меркла](https://ru.wikipedia.org/wiki/Дерево_хешей).
Проверяет, что дерево хешей является частью [дерева Меркла](https://ru.wikipedia.org/wiki/Дерево_хешей).

Для хеширования [дерева Меркла](https://ru.wikipedia.org/wiki/Дерево_хешей) используется [Blake2b256](https://en.wikipedia.org/wiki/BLAKE_%28hash_function%29).
Для хеширования [дерева Меркла](https://ru.wikipedia.org/wiki/Дерево_хешей) используется функция хеширования [BLAKE2b](https://en.wikipedia.org/wiki/BLAKE_%28hash_function%29).

``` ride
checkMerkleProof(merkleRoot: ByteVector, merkleProof: ByteVector, valueBytes: ByteVector): Boolean
@@ -25,15 +24,15 @@ checkMerkleProof(merkleRoot: ByteVector, merkleProof: ByteVector, valueBytes: By

#### merkleProof: ByteVector

Массив байтов дерева Меркла, подтверждающего транзакцию.
Дерево хешей.

#### valueBytes: ByteVector

Дерево хешей.

## rsaVerify(digestAlgorithmType, ByteVector, ByteVector, ByteVector): Boolean<a id="rsa-verify"></a>

Проверяет подпись [RSA](https://ru.wikipedia.org/wiki/RSA).
Проверяет, что цифровая подпись [RSA](https://ru.wikipedia.org/wiki/RSA) достоверна; то есть что она была создана владельцем открытого ключа.

``` ride
rsaVerify(digest: digestAlgorithmType, message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean
@@ -43,10 +42,11 @@ rsaVerify(digest: digestAlgorithmType, message: ByteVector, sig: ByteVector, pub

#### `digest`: digestAlgorithmType

Идентификатор реализации алгоритма [RSA](https://ru.wikipedia.org/wiki/RSA).
Алгоритм хеширования, который применяется к данным.

digestAlgorithmType представляет собой [объединение](/ride/data-types/union.md), которое включает в себя следующие типы данных:
Значение должно быть одной из [встроенных переменных](ru/ride/variables/built-in-variables.md):

* NOALG
* MD5
* SHA1
* SHA224
@@ -58,23 +58,23 @@ digestAlgorithmType представляет собой [объединение]
* SHA3384
* SHA3512

Объект каждого из перечисленных типов данных является идентификатором реализации алгоритма RSA.
Все переменные, за исключением `NOALG`, представляют алгоритмы хеширования. Если используется `NOALG`, тогда данные не хешируются.

#### `message`: ByteVector

Сообщение.
Подписанные данные.

#### `sig`: ByteVectore

Подпись.
Цифровая подпись.

#### `pub`: ByteVectore

Открытый ключ.

## sigVerify(ByteVector, ByteVector, ByteVector): Boolean<a id="sig-verify"></a>

Проверяет подпись [Curve25519](https://en.wikipedia.org/wiki/Curve25519).
Проверяет, что цифровая подпись [Curve25519](https://en.wikipedia.org/wiki/Curve25519) достоверна; то есть что она была создана владельцем публичного ключа.

``` ride
sigVerify(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean
@@ -84,12 +84,12 @@ sigVerify(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean

#### `message`: ByteVector

Сообщение.
Подписанные данные.

#### `sig`: ByteVectore

Подпись.
Цифровая подпись.

#### `pub`: ByteVectore

Открытый ключ [аккаунта](/blockchain/account.md).
Открытый ключ.

0 comments on commit de14896

Please sign in to comment.
You can’t perform that action at this time.