mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2025-08-03 09:50:11 +03:00
first commit
Version 3.x.x
This commit is contained in:
79
help/ru/manager/keygen/algorithms.htm
Normal file
79
help/ru/manager/keygen/algorithms.htm
Normal file
@@ -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>
|
Reference in New Issue
Block a user