aboutsummaryrefslogtreecommitdiff
path: root/help/ru/manager/keygen/algorithms.htm
diff options
context:
space:
mode:
Diffstat (limited to 'help/ru/manager/keygen/algorithms.htm')
-rw-r--r--help/ru/manager/keygen/algorithms.htm79
1 files changed, 79 insertions, 0 deletions
diff --git a/help/ru/manager/keygen/algorithms.htm b/help/ru/manager/keygen/algorithms.htm
new file mode 100644
index 0000000..05b9bc3
--- /dev/null
+++ b/help/ru/manager/keygen/algorithms.htm
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <link rel="Stylesheet" type="text/css" href=
+ "../../default.css" />
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=utf-8" />
+
+ <title>Алгоритмы шифрования серийных номеров</title>
+ <style type="text/css">
+ </style>
+</head>
+
+<body>
+ <h1>Алгоритмы шифрования серийных номеров</h1>
+
+ <p>Надежность ключей системы лицензирования основывается на
+ применении асимметричных алгоритмов шифрования. В текущей версии
+ реализован алгоритм RSA с длиной ключа от 1024 до 16384 бит. В
+ будущих версиях планируется добавление других алгоритмов,
+ основанных на ECC, а также схем, совмещающих симметричные и
+ асимметричные шифры.</p>
+
+ <p>Используемый алгоритм уникален для каждого продукта. Ключи,
+ созданные с одним алгоритмом, не подойдут к другому, поэтому
+ смена алгоритмов после создания хоть одной лицензии не
+ допускается. Модуль защиты, располагающийся в защищаемой
+ программе, "знает" каким алгоритмом должен быть зашифрован
+ серийный номер и не примет ключ, созданный другим алгоритмом или
+ тем же алгоритмом, но с другими параметрами (скажем, с другой
+ длиной ключа).</p>
+
+ <h3>Алгоритм RSA</h3>
+
+ <p>Шифрование серийного номера алгоритмом RSA происходит по
+ следующей схеме:</p>
+
+ <ul>
+ <li><strong>Добавление случайных данных в начало
+ номера</strong> - метод основывается на RFC2313, однако
+ реализация немного отличается от описаной там. В начало
+ серийного номера добавляютя байты: 00 02 NN...NN 00, где NN..NN
+ - от 8 до 16 случайных ненулевых байт. Количество байт
+ выбирается случайным, однако принимается во внимание длина
+ серийного номера и максимальная вместительность ключа.</li>
+
+ <li><strong>Добавление случайных данных в конец номера</strong>
+ - окончательное количество байт в серийном номере должно
+ равняться количеству бит в ключах алгоритма, деленному на 8.
+ Серийный номер дополняется до этого числа байт случайными
+ данными. В результате получается следующий формат серийного
+ номера: 00 02 NN..NN 00 DD..DD MM..MM, где NN - набор случайных
+ ненулевых байтов, DD - исходный серийный номер, MM -набор
+ случайных байтов (в т.ч. и нулевых). Суммарная длина
+ последовательности должна равняться количеству бит,
+ применяемому в алгоритме, деленному на 8.</li>
+
+ <li><strong>Шифрование</strong> - производится по стандатной
+ схеме, реализованной во многих библиотеках, работающих с
+ большими числами. Генератор на PHP содержит всю необходимую
+ информацию в открытом виде.</li>
+
+ <li><strong>Упаковка</strong> - полученный после шифрования
+ набор байт кодируется в base-64 - это и есть серийный номер,
+ который отправляется покупателю.</li>
+ </ul><br />
+ <br />
+ <br />
+ <br />
+ <br />
+ <hr noshade="noshade" size="1" />
+
+ <div align="center">
+ © 2006-2015 Copyright VMProtect Software
+ </div>
+</body>
+</html>