Статья: Некоторые особенности реализации алгоритма защиты программного обеспечения от нелегального использования

Рассмотрены некоторые особенности реализации алгоритма защиты программного обеспечения от нелегального использования. Приведена принципиальная схема алгоритма и часть исходных кодов на языке программирования Microsoft Visual Basic 2005.

При проектировании современного программного продукта разработчики все чаще уделяют внимание той части программы, которая отвечает за защиту от нелегального использования.

Применение для написания программного продукта платформы Microsoft .NET Framework [1] позволяет достаточно просто реализовать в программе различные криптографические алгоритмы: как симметричные (DES, Triple-DES, RC2, Rijndael) и ассиметричные (DSA/DSS, RSA) алгоритмы шифрования, так и алгоритмы хеширования (HMACSHA-1, MACTripleDES, MD5, SHA-1, SHA-256, SHA-384, SHA-512) [2, 3].

В .NET Framework за криптографию отвечает пространство имен

System.Security.Cryptography

В это пространство входят три класса высокого уровня:

System.Security.Cryptography.SymmetricAlgorithm

System.Security.Cryptography.AsymmetricAlgorithm

System.Security.Cryptography.HashAlgorithm

Наиболее перспективной для организации защиты представляется комбинация асимметричного алгоритма RSA, разработанного Р. Ривестом, А. Шамиром и Л. Адлеманом, и алгоритма дайджеста сообщения MD5 [3].

Реализация алгоритма RSA и алгоритма MD5 на языке высокого уровня Microsoft Visual Basic 2005 выглядит следующим образом:

'подключаем пространство имен

Imports System.Security.Cryptography

Imports System.Text

Imports System.Xml

Public Class myCrypt

'I. Генерируем ключи RSA.

Dim rsaProvider0 As New RSACryptoServiceProvider()

Dim EK As String = rsaProvider0.ToXmlString(False)

Dim DK As String = rsaProvider0.ToXmlString(True)

'II. Создаем и настраиваем экземпляр класса

'RSACryptoServiceProvider перед шифрованием.

3 Труды молодых ученых № 4, 2007
Dim cspParam As New CspParameters()

cspParam.KeyContainerName = "SecretKey"

Dim rsaProvider1 As New RSACryptoServiceProvider(cspParam)

'III. Шифруем данные.

rsaProvider1.FromXmlString(EK)

Dim cipheredText As Byte() = rsaProvider1.Encrypt _

(UTF8Encoding.UTF8.GetBytes("Данные пользователя"), True)

Dim EncodingText As String = Convert.ToBase64String(cipheredText)

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 156
Бесплатно скачать Статья: Некоторые особенности реализации алгоритма защиты программного обеспечения от нелегального использования