> For the complete documentation index, see [llms.txt](https://docs.gp7.app/ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gp7.app/ru/kriptografiya-dlya-vzaimodeistviya-s-blokcheinom/generaciya-cifrovoi-podpisi.md).

# Генерация цифровой подписи

Ключи необходимы для расчета цифровой подписи — основы любого блокчейн-решения. Если пользователь предоставил сети транзакцию и валидную подпись, сеть может проверить подпись и убедиться, что она создана при знании ключа, так как создать подпись без знания ключа математически невозможно. Сохранность и секретность ключа — наиболее важная задача любого пользователя блокчейн-решений, так как, если ключ окажется в руках другого пользователя, сеть будет принимать подписанные им сообщения как сообщения владельца.

![](/files/-M8LePmpHQCxVn7zaUMo)

\
Распределенные ключи работают по общему принципу, но выгодно отличаются, так как для их компрометации необходимо получить доступ сразу к нескольким устройствам, хранящим их. Например, если ваш обычный ключ хранится в телефоне, то кража телефона приведет и к краже вашего ключа. Если же ключ разделен на компоненты и хранится на разных устройствах, например на телефоне и на компьютере, потеря одного из устройств не повлечет за собой потерю контроля над ключом.

![](/files/-M8LeZtMUFEdYslcDB31)

Разделить ключи можно разными способами, самый простой и логичный — представить ключ в виде строки и разделить на равные части. Например, разделим ключ на две части: левую сохраним на компьютере, а правую на телефоне. В таком случае, имея удобный способ передачи части (без сохранения) в момент создания подписи, мы обеспечим базовый принцип разделения. Момент объединения компонентов — это слабая (уязвимая) точка, так как при этом происходит разглашение секрета. Очевидно, что если злоумышленник получит доступ к компонентам ключа в момент их объединения, то ему не составит труда заполучить полный ключ и дальше представиться для сети его владельцем.

Распределенные ключи без разглашения работают так, чтобы в момент подписания их не нужно было передавать по сети. Если максимально упростить описание схемы взаимодействия, то можно сказать, что каждый компонент локально создает свой результат — часть подписи. Часть подписи, как и вся подпись целиком, — это публичная и не чувствительная к разглашению информация, поэтому при ее отправке можно не беспокоиться о сохранении конфиденциальности.

![](/files/-M8Lek80ZmJgwFlCJutF)

\
В таком сценарии мы можем быть абсолютно уверены, что наш ключ в полной безопасности, пока мы сохраняем контроль хотя бы над одним из компонентов. Но в случае утраты компонента, необходимого для генерации подписи, нужно иметь возможность восстановить доступ к средствам.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.gp7.app/ru/kriptografiya-dlya-vzaimodeistviya-s-blokcheinom/generaciya-cifrovoi-podpisi.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
