Формальная информация: новые идеи для различных на
|
demakviktor |
Отправлено: Вторник, 16 Сентября 2014, 20:21 |
Участник
Группа: Гость форума
Сообщений: 5
Регистрация: 24.02.2014
Пользователь №: 34738
|
Опубликованы основы новой науки "Формальной информации". Всего опубликованы три научные статьи по формальной информации, с которыми можно познакомиться на сайте издательства. 1.Андрейчиков Н.И. Математические основы преобразования формальной информации. // Журнал научных публикаций аспирантов и докторантов, Курск, 2014, N5, с.234-250, ISSN 1991-3087, подписной индекс 42457. Дается развернутое определение формальной информации. Представлены формулы преобразования формальной информации. Доказывается главное свойство формальной информации: произвольная формальная информация преобразовывается в произвольную другую формальную информацию независимо от размеров обеих формальных информаций. Под размером формальной информации понимается количество символов, содержащихся в формальной информации. http://jurnal.org/articles/2014/mat8.html2.Андрейчиков Н.И. Использование методов формальной информации для защиты частной информации в сети Интернет. // Журнал научных публикаций аспирантов и докторантов, Курск, 2014, N7, с. 92 - 97, ISSN 1991-3087, подписной индекс 42457. Описан алгоритм защиты персональных данных пользователей в сети Интернет с помощью фальшивых персональных данных, которые по внешнему виду ничем не отличаются от настоящих персональных данных. Описан алгоритм обмена частной информацией в сети Интернет с помощью использования одного фальшивого файла (текста) и вектора приращений. http://jurnal.org/articles/2014/mat13.html3.Андрейчиков Н.И. Формальная информация: направления практического использования. // Журнал научных публикаций аспирантов и докторантов, Курск, 2014, N8, с. 116-125, ISSN 1991-3087, подписной индекс 42457. Описаны алгоритмы построения формальной информации, построения алфавита формальной информации, инварианта формальной информации. Описаны алгоритмы отображения формальной информации с помощью наименований городов и грамматических предложений. Введен новый термин "культурная информация" для обозначения части формальной информации, которую конкретная цивилизация во Вселенной наделила смыслом. Под смыслом понимается значение, которое присваивает цивилизация конкретной формальной информации для собственных нужд. Смысл никак не связан с внутренними свойствами формальной информации. Смысл - это сопутстсвующее формальной информации внешнее свойство. Рассмотрена проблема обмена культурной информацией между различными цивилизациями во Вселенной. Сформулированы вытекающие из свойств формальной информации гипотезы для физических и биологических наук. http://jurnal.org/articles/2014/mat16.htmlСуществующая теория информации дает следующее определение информации: "Информация — нематериальная сущность, при помощи которой с любой точностью можно описывать реальные материальные), виртуальные (возможные) и понятийные сущности. Информация — противоположность неопределенности" [В.В.Лидовский. Теория информации. Учебное пособие для студентов. М.,Компания Спутник+, 2003 г., с.10]. Таким образом, существующая теория информации изучает нематериальную сущность информации. Формальная информация дает следующее определение: ФОРМАЛЬНАЯ ИНФОРМАЦИЯ – это конечное упорядоченное множество, содержащее в качестве символов копии произвольных объектов. Упорядочение состоит в том, что в формальной информации обязательно существует первый символ и последний символ. Каждый символ формальной информации, кроме первого символа, имеет предыдущий символ. Каждый символ формальной информации, кроме последнего символа, имеет последующий символ. Рядом расположенные символы формальной информации могут совпадать, однако один из них будет для другого последующим или предыдущим. Обмен местами двух различных символов формальной информации влечет изменение формальной информации. Обмен местами двух одинаковых символов формальной информации не изменяет формальную информацию. Таким образом, формальная информация изучает материальную сущность информации и на этой основе дает определение информации. Как видим, формальная информация изучает материальную сущность информации без учета содержащихся в ней нематериальных сущностей, а теория информации изучает нематериальную сущность информации без учета материальной сущности информации. Следовательно, существующая теория информации и формальная информация не противоречат друг другу, так как имеют различные предметы исследования. Желаю Всем успехов в новой науке. Автор: Андрейчиков Николай Иосифович. |
|
Форум: Локальные сети, безопасность, лицензирование
· Просмотр сообщения: #95912
· Ответов: 0
· Просмотров: 10613
|
Новая наука: теория формальной информации.
|
demakviktor |
Отправлено: Воскресенье, 15 Июня 2014, 10:05 |
Участник
Группа: Гость форума
Сообщений: 5
Регистрация: 24.02.2014
Пользователь №: 34738
|
Основные отличия теории формальной информации от существующей теории информации заключаются в следующем: 1. Теория информации изучает наличие знаний в информации. Формальная теория информации совершенно не интересуется наличием или отсутствием знания в информации. Формальная информация - это бессмысленная информация. Поэтому научные положения теории формальной информации выполняются в теории информации, а нучные положения теории информации могут выполняться в теории формальной информации, а могут и не выполняться в теории формальной информации. 2. Формальная теория информации не использует следующие понятия из теории информации: 2.1. Энтропия информации, так как этот показаль характеризует определенность информации в смысле наличие знания в информации. 2.2. Избыточность информации, так как этот показатель указывает на особенности построения знания в информации. Все символы в формальной информации равноправны и необходимы. 2.3. Количество информации в формальной информации вычисляется естественным способом, то есть как количество символов в формальной информации. В теории информации количество информации вычисляется в виде искусственного показателя с использованием логарифмов. 3. Основные результаты теории формальной информации: 3.1. Произвольная формальная информация преобразуется в другую произвольную формальную информацию не менеее чем двумя способами независимо от размеров обеих формальных информаций. Иными словами, произвольная формальная информация произвольного размера преобразуется в один символ, в два символа, в три символа и т.п. 3.2. Произвольная формальная информация всегда имеет не менее двух обратных преобразований. Таким образом, вопрос об односторонних функциях из теории информации решен окончательно - одностроннних функций, скорее всего, не существует. 3.3. Произвольная формальная информация преобразуется в себя единственным способом при использовании одного алфавита и преобразуется себя не менее чем двумя способами при использовании двух алфавитов. 3.4. Преобразование одной формальной информации в другую формальную информацию, в том числе в себя, осуществляется с использованием вектора приращений. 3.5. Повторное преобразование формальной информации в другую формальную информацию осуществляется путем использования удвоенного вектора приращений. Этот процесс можно продолжать неограниченно - с использованием утроенного, учетверенного вектора приращения и т.д. 3.6. Преобразование формальной информации при одном единственном значении приращения в векторе приращения создает новую формальную информацию, в которой исходные символы заменяются однозначно на другие символы. То есть реализуется однозначная замена одних символов на другие символы. При единственном значении вектора приращения равного длине алфавита преобразование формальной информации происходит в себя. 3.7. Преобразование формальной информации в случае, когда вектор приращений содержит N различных чисел, где N – длина алфавита, создает новую формальную информацию, в которой символы подчинены равномерному закону распределения вероятностей. Это означает, что произвольная формальная информация может быть преобразована в идеальный случайный набор символов - шум и, наоборот, произвольный случайный набор символов - шум может быть преобразован в произвольную формальную информацию. Отсюда следует, что не существует формальных методов, позволяющих отличить шум от не шума или, другими словами, не существует формальных методов однозначного распознования случайной формальной информации от не случайной формальной информации. 4. Основные понятия теории формальной информации: 4.1. ФОРМАЛЬНАЯ ИНФОРМАЦИЯ – это конечное упорядоченное множество, содержащее в качестве символов копии произвольных объектов. Упорядочение состоит в том, что в формальной информации обязательно существует первый символ и последний символ. Каждый символ формальной информации, кроме первого символа, имеет предыдущий символ. Каждый символ формальной информации, кроме последнего символа, имеет последующий символ. Рядом расположенные символы формальной информации могут совпадать, однако один из них будет для другого последующим или предыдущим. Обмен местами двух различных символов формальной информации влечет изменение формальной информации. Обмен местами двух одинаковых символов формальной информации не изменяет формальную информацию. Две формальные информации являются равными, если они имеют одинаковый размер, одинаковые символы и порядок следования этих символов совпадает. Во всех остальных случаях две формальные информации различны. Формальная информация является пустой, если она не содержит ни одного символа. Символы, пригодные для использования в качестве элементов формальной информации должны обладать следующими свойствами: а) Символы должны иметь общее свойство (характеристику) позволяющее однозначно идентифицировать символ. б) Символы должны иметь общее свойство (характеристику) позволяющее однозначно устанавливать различие между символами. В частности, возможно совпадение свойства идентификации с отличительным свойством. в) Количество различных символов должно быть не менее двух. С математической точки зрения, формальная информация лучше всего описывается одномерным вектором, который в качестве элементов вектора содержит копии символов. Длина формальной информации – это количество символов во множестве или в векторе. Поскольку формальная информация конечна, то символы формальной информации можно пронумеровать натуральными числами от 1 до m – длины формальной информации. Причем первый символ формальной информации имеет номер 1, последний символ формальной информации имеет номер m. Все остальные символы формальной информации имеют номера от 2 до m-1. Каждый последующий символ формальной информации имеет больший номер, каждый предыдущий символ формальной информации имеет меньший номер. Номера символов в формальной информации называются адресами символов в формальной информации. Таким образом, адрес символа в формальной информации изменяется от 1 до m. Начало отсчета номеров символов можно производить слева направо, как в европейских языках, или справа налево, как в арабских языках. 4.2. АЛФАВИТ формальной информации – это формальная информация, в которой все символы различны и встречаются ровно один раз. Длина алфавита – это количество символов в алфавите. Обозначим длину алфавита через N. Адреса символов в алфавите изменяются от 1 до N. Поскольку все символы в алфавите различны, то любая перестановка двух символов в алфавите влечет изменение алфавита в целом. С математической точки зрения алфавит – это одномерный вектор. 4.3. ИНВАРИАНТ формальной информации – это одномерный числовой вектор, в котором расположены адреса символов формальной информации в алфавите. Первое число в инварианте – это адрес первого символа формальной информации в алфавите. Второе число в инварианте – это адрес второго символа формальной информации в алфавите. Последнее число в инварианте – это адрес последнего символа формальной информации в алфавите. Таким образом, длина инварианта формальной информации равна длине формальной информации m, а каждое число в инварианте – это натуральное число от 1 до N. Числа инварианта формальной информации находятся во взаимно-однозначном соответствии с символами формальной информации. Таким образом, математической сущностью формальной информации является инвариант формальной информации. В дальнейшем в рамках этой статьи вместо термина «инвариант формальной информации» будем использовать термин «инвариант». Два инварианта являются равными, если имеют одинаковый размер и все числа инвариантов, находящиеся по одному и тому же адресу в инвариантах, равны. Если две формальные информации имеют различные инварианты, то эти две формальные информации различны. Если две формальные информации имеют равные инварианты, то эти две формальные информации равны в случае построения этих информаций с использованием одного и того же алфавита, и эти две информации не равны в случае построения этих информаций с использованием двух различных алфавитов. Поскольку математическим содержанием формальной информации является инвариант, то под преобразованием одной формальной информации в другую формальную информацию понимается вычисление чисел одного инварианта из чисел другого инварианта и, наоборот. Вычисление чисел производится путем прибавления или вычитания приращения – разницы между соответствующими числами двух инвариантов. На этой основе выводятся формулы алгоритмов преобразования формальной информации. Если теорию формальной информации укрупнено, то в ней решены следующие задачи: а) Математически строго описан механизм построения произвольных информационных сообщений с использованием алфавитов и инвариантов. б) По известным двум инвариантам двух формальных информаций вычисляется вектор приращений, с помощью которого преобразовывается одна формальная информация в другую формальную информацию. Преобразование может быть многократным. в) По известному инварианту одной формальной информации вычисляется инвариант второй формальной информации путем задания (генерирования) чисел вектора приращений, что позволяет преобразовывать одну формальную информацию во вторую формальную информацию. Преобразование может быть многократным. Результаты теории формальной информации не противоречат ни одной существующей науке и не отрицают их достижения, так как ни одна наука не изучает формальную (бессмысленную) информацию. Результаты формальной информации могут найти применение в генетике, биологии и других прикладных науках, где изучается формальная информация без наличия знаний в этой информации. С оригинальной статьей можно ознакомиться, перейдя на сайт издательства по ссылке: Преобразования формальной информации |
|
Форум: Локальные сети, безопасность, лицензирование
· Просмотр сообщения: #95897
· Ответов: 1
· Просмотров: 9354
|
Исходный код шифрования универсальным алгоритмом
|
demakviktor |
Отправлено: Среда, 23 Апреля 2014, 14:22 |
Участник
Группа: Гость форума
Сообщений: 5
Регистрация: 24.02.2014
Пользователь №: 34738
|
Код Private Sub zasS_S_Rand(ByRef textIsxod As String, ByRef textRez As String, ByRef ChifrVxod As Short, ByRef RotorVxod As Short, ByRef NomerVxod1 As Integer, ByRef NomerVxod2 As Integer, ByRef BazisVxod As String, ByRef OblikVxod As String, ByRef ChaosVxod() As UShort, Optional ByRef LocalBB As Short = 1) Dim J0 As Integer, J1 As Integer, Ich0 As Integer, Ich1 As Integer, Ich2 As Integer, DlinaIsxod As Integer Dim L0 As String, DlinaBazis As UShort, DlinaChaos As Integer, DlinaNomer As Integer, DlinaProgres As Short Dim AdresBazis As Integer, AdresOblik As Integer, AdresChaos As Integer, Ichet As Integer, Ipro As Short Dim Simvol As Char, Lbuilder As New System.Text.StringBuilder("") Dim Progres1 As Integer 'Процедура на языке Visual Basic 9.0 (Visual Basic 2008) Все параметры передаются по ссылке, так как тексты в виде строк могут быть очень большими. 'Типы данных: 'Byte = От 0 до 255 (беззнаковый). Один байт 'Short = От –32 768 до 32 767 (знаковый). Два байта. 'Integer = От –2 147 483 648 до 2 147 483 647 (знаковый). 4 байта. 'Long = От –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 (9,2... E+18 †) (знаковый). 8 байтов. 'String = От 0 до приблизительно 2 миллиардов знаков в кодировке Юникод. 'USort = От 0 до 65 535 (беззнаковый). Два байта. 'Char = От 0 до 65535 (беззнаковый). Два байта. 'System.Text.StringBuilder("") - инструмент VB9 для работы со строками переменной длины. Обычные инструменты работы со строками при любом изменении строки создают новую строку. При больших строках это очень сильно замедляет вычисления. Новый инструмент чрезвычайно быстро производит операции со строками.
'Шифрование текста в виде строки. Алфавит символьный - строка символов BazisVxod с адресами от 1 до 65535, второй алфавит строка символов OblokVxod с адресами от 1 до 65535, вектор чисел - ChaosVxod() с адресами от 0 до 65535 'Вход: textIsxod - исходный текст в виде строки символов, который нужно зашифровать или расшифровать с адресами от 1 до DlinaIsxod ' textRez - результат шифрования строки символов textIsxod с адресами от 1 до DlinaIsxod ' NomerVxod1 - номер первого символа в тексте textIsxod, подлежащий шифрованию, отсчет с 1 ' NomerVxod2 - номер последнего символа в тексте textIsxod, подлежащий шифрованию, отсчет с 1 ' LocalBB - учет относительного влияния порядка отсчета чисел вектора. Результаты шифрования различны при различных значения параметра. ' = 0 - отсчет ведется с начала textRez ' = 1 - отсчет ведется от NomerVxod1 до NomerVxod2 ' = 2 - отсчет ведется по BazisVxod от 1 до DlinaBazis+1 'Параметры шифрования: ' ChifrVxod = 0 - расшифровать textIsxod, 1 - зашифровать textIsxod, понятие расшифровать и зашифровать выбрано произвольно. Можно расшифровывать, а восстанавливать, зашифровывая. ' RotorVxod = 0 - левое вращение, 1 - правое вращение. Результаты шифрования абсолютно различны, в лучшем случае совпадает один символ в середине. ' BazisVxod - алфавит символьный в виде строки - перечень символов в textIsxod, подлежащих шифрованию, индекс с 1. Количество символов от 2 до 65535. Все символы должны быть различными. Символы, не входящие в BazisVxod, копируются из textIsxod в textRez без изменения. Длина BazisVxod равна DlinaBazis, изменяется от 2 до 65535. ' OblikVxod - второй символьный алфавит, отличается от первого только порядком следования одних и тех же символов. Может быть равен первому. ' ChaosVxod() - вектор чисел от 1 до длины BazisVxod. Количество чисел в векторе может быть от 1 до длины textIsxod по выбору пользователя. Числа в векторе - произвольные из области значений. Например, длина вектора = 3. Это означает, что в векторе 3 числа: 1)Первое от 1 до DlinaBazis. 2)Второе от 1 до DlinaBazis, может быть равно первому. Третье от 1 до DlinaBazis, может быть равное первому или второму.
'DlinaProgres = 100 'Параметр для индикатора отображения выполняемой операции 'ProgressBar1.Maximum = 100 'Параметр для индикатора отображения выполняемой операции 'Progres1 = 100000 'Параметр для индикатора отображения выполняемой операции DlinaBazis = Len(BazisVxod) 'Длина первого алфавита, количество символов DlinaChaos = UBound(ChaosVxod) + 1 'Длина вектора, количество чисел Ich0 = NomerVxod1 - 1: Ich1 = 0: Ich2 = 0 DlinaIsxod = Len(textIsxod) 'Длина текста, подлежащего шифрованию Lbuilder.Capacity = DlinaIsxod 'Копирование не шифруемой начальной части текста без изменения For J0 = 1 to NomerVxod1 - 1 Simvol = Mid(textIsxod, J0, 1) Lbuilder.Append(Simvol, 1) Next
DlinaNomer = NomerVxod2 - NomerVxod1 + 1 Ichet = 0 Select Case ChifrVxod Case 0 'Расшифровать For J0 = NomerVxod1 To NomerVxod2 Ich0 = Ich0 + 1 Ich1 = Ich1 + 1 L0 = Mid(textIsxod, J0, 1) AdresOblik = InStr(OblikVxod, L0) Select Case RotorVxod Case 0 Select Case AdresOblik Case 0 'Если символ отсутствует в алфавите, то копируется в результат без изменения If L0 <> Nothing Then Simvol = L0: Lbuilder.Append(Simvol, 1) Case Else Ich2 = Ich2 + 1 Select Case LocalBB Case 0 J1 = Ich0 Mod DlinaChaos Case 1 J1 = Ich1 Mod DlinaChaos Case 2 J1 = Ich2 Mod DlinaChaos Case Else End Select AdresChaos = ChaosVxod(J1) AdresBazis = AdresOblik + AdresChaos If AdresBazis > DlinaBazis Then AdresBazis = AdresBazis - DlinaBazis Simvol = Mid(BazisVxod, AdresBazis, 1) Lbuilder.Append(Simvol, 1) End Select Case Else Select Case AdresOblik Case 0 'Если символ отсутствует в алфавите, то копируется в результат без изменения If L0 <> Nothing Then Simvol = L0: Lbuilder.Append(Simvol, 1) Case Else Ich2 = Ich2 + 1 Select Case LocalBB Case 0 J1 = Ich0 Mod DlinaChaos Case 1 J1 = Ich1 Mod DlinaChaos Case 2 J1 = Ich2 Mod DlinaChaos Case Else End Select AdresChaos = ChaosVxod(J1) AdresBazis = AdresOblik - AdresChaos If AdresBazis < 1 Then AdresBazis = AdresBazis + DlinaBazis Simvol = Mid(BazisVxod, AdresBazis, 1) Lbuilder.Append(Simvol, 1) End Select End Select 'Необязательная часть 'Ichet = Ichet + 1 'If Ichet = Progres1 Then ' Ipro = Int(((J0 - NomerVxod1 + 1) / (DlinaNomer)) * DlinaProgres): Ichet = 0 ' ProgressBar1.Value = Ipro ' ProgressBar1.Refresh ' Form7.PausaSecond7 'End If Next J0 'ProgressBar1.Value = 0 Case 1 'Зашифровать For J0 = NomerVxod1 To NomerVxod2 Ich0 = Ich0 + 1 Ich1 = Ich1 + 1 L0 = Mid(textIsxod, J0, 1) AdresBazis = InStr(BazisVxod, L0) 'Адрес символа в базисе Select Case RotorVxod Case 0 Select Case AdresBazis Case 0 'Если символ отсутствует в алфавите, то копируется в результат без изменения If L0 <> Nothing Then Simvol = L0: Lbuilder.Append(Simvol, 1) Case Else Ich2 = Ich2 + 1 Select Case LocalBB Case 0 J1 = Ich0 Mod DlinaChaos Case 1 J1 = Ich1 Mod DlinaChaos Case 2 J1 = Ich2 Mod DlinaChaos Case Else End Select AdresChaos = ChaosVxod(J1) AdresOblik = AdresBazis - AdresChaos If AdresOblik < 1 Then AdresOblik = AdresOblik + DlinaBazis Simvol = Mid(OblikVxod, AdresOblik, 1) Lbuilder.Append(Simvol, 1)
End Select Case Else Select Case AdresBazis Case 0 'Если символ отсутствует в алфавите, то копируется в результат без изменения If L0 <> Nothing Then Simvol = L0: Lbuilder.Append(Simvol, 1) Case Else Ich2 = Ich2 + 1 Select Case LocalBB Case 0 J1 = Ich0 Mod DlinaChaos Case 1 J1 = Ich1 Mod DlinaChaos Case 2 J1 = Ich2 Mod DlinaChaos Case Else End Select AdresChaos = ChaosVxod(J1) AdresOblik = AdresBazis + AdresChaos If AdresOblik > DlinaBazis Then AdresOblik = AdresOblik - DlinaBazis Simvol = Mid(OblikVxod, AdresOblik, 1) Lbuilder.Append(Simvol, 1)
End Select End Select 'Необязательная часть 'Ichet = Ichet + 1 'If Ichet = Progres1 Then ' Ipro = Int(((J0 - NomerVxod1 + 1) / (DlinaNomer)) * DlinaProgres): Ichet = 0 ' ProgressBar1.Value = Ipro ' ProgressBar1.Refresh ' Form7.PausaSecond7 'End If Next J0 'ProgressBar1.Value = 0 Case Else End Select 'Копирование не шифруемой конечной части текста без изменения For J0 = NomerVxod2 + 1 to DlinaIsxod Simvol = Mid(textIsxod, J0, 1) Lbuilder.Append(Simvol, 1) Next textRez = Lbuilder.ToString End Sub
|
|
Форум: Локальные сети, безопасность, лицензирование
· Просмотр сообщения: #95888
· Ответов: 0
· Просмотров: 7413
|
Оцените новый алгоритм отображения информации
|
demakviktor |
Отправлено: Понедельник, 24 Февраля 2014, 17:01 |
Участник
Группа: Гость форума
Сообщений: 5
Регистрация: 24.02.2014
Пользователь №: 34738
|
Алфавит - перечень символов, встречающихся в текстах. Каждый символ в алфавите встречается только один раз. Алфавит содержит не только прописные и строчные буквы, но символы знаков препинания, пробел, символы перевода каретки, символы новой строки и т.п. Каждый символ в алфавите имеет адрес, который изменяется от 1 - первый слева символ в алфавите, до N - последний слева символ в алфавите. Рассмотрим пример. Пусть имеем два слова: Путин, Медведев. В этих словах имеются следующие символы: П, у, т, и, н, М, е, д, в. Этот набор символов называется собственным алфавитом слов Путин и Медведев. Задача: Найти алгоритм отображения слова Путин через слово Медведев и алгоритм восстановления слова Путин из слова Медведев. Решение: Возьмем алфавит, состоящий из всех символов русского и английского языка, знаков препинания, пробела. Всего 190 символов, т.е. N = 190. Порядок символов в алфавите - случайный. Запишем собственный алфавит в следующем виде: 17=П, 100=у, 34=т, 35=и, 144=н, 190=М, 88=е, 66=д, 1=в П=17, у=100, т=34, и=35, н=144, М=190, е=88, д=66, в=1 В первой строке указаны адреса символов собственного алфавита в общем алфавите. Во второй строке указан собственный алфавит. Для преобразования буквы "П" в букву "М" сравним адреса букв "П" и "М". Это числа 17 и 190. Для отображения буквы "П" через букву "М" необходимо к числу 17 прибавить число 190-17=173 и по адресу 190 считать букву "М". Число 173 запишем в вектор на первое место, так как это число отображает первые буквы. Для отображения буквы "у" через букву "е" сравним адреса букв "у" и "е". Это числа 100 и 88. Для отображения буквы "у" через букву "е" необходимо к числу 100 прибавить неизвестное число x, такое чтобы получилось число 88. Решаем уравнение 100 + x = 88, отсюда x = -12. Наша задача получить все положительные числа для отображения. Поскольку, у нас получилось -12 < 1, то прибавим к нему количество чисел в алфавите -12 + 190 = 178. Таким образом, второе число отображающее букву "у" в букву "е" будет равно 178. Это число мы запишем на второе место в вектор 173, 178. Адрес буквы "е" вычисляется следующим образом: 100 + 178 - 190 = 88. Для отображения буквы "т" через букву "д" сравним адреса букв "т" и "д". Это числа 34 и 66. Для отображения буквы "т" через букву "д" необходимо к числу 34 прибавить неизвестное число x, такое чтобы получилось число 66. Решаем уравнение 34 + x = 66, отсюда x = 32. Таким образом, третье число отображающее букву "т" в букву "д" будет равно 32. Это число мы запишем на третье место в вектор 173, 178, 32. Адрес буквы "д" вычисляется следующим образом: 34+32= 66. Для отображения буквы "и" через букву "в" сравним адреса букв "и" и "в". Это числа 35 и 1. Для отображения буквы "и" через букву "в" необходимо к числу 35 прибавить неизвестное число x, такое чтобы получилось число 1. Решаем уравнение 35 + x = 1, отсюда x = -34. Наша задача получить все положительные числа для отображения. Поскольку, у нас получилось -34 < 1, то прибавим к нему количество чисел в алфавите -34 + 190 = 156. Таким образом, четвертое число отображающее букву "и" в букву "в" будет равно 156. Это число мы запишем на четвертое место в вектор 173, 178, 32, 156. Адрес буквы "в" вычисляется следующим образом: 35 + 156 - 190 = 1. Для отображения буквы "н" через букву "е" сравним адреса букв "н" и "е". Это числа 144 и 88. Для отображения буквы "н" через букву "е" необходимо к числу 144 прибавить неизвестное число x, такое чтобы получилось число 88. Решаем уравнение 144 + x = 88, отсюда x = -56. Наша задача получить все положительные числа для отображения. Поскольку, у нас получилось -56 < 1, то прибавим к нему количество чисел в алфавите -56 + 190 = 134. Таким образом, пятое число отображающее букву "н" в букву "е" будет равно 134. Это число мы запишем на пятое место в вектор 173, 178, 32, 156, 134. Адрес буквы "е" вычисляется следующим образом: 144 + 134 - 190 = 88. Предположим, что нам известно слово Медведев, алфавит и вектор чисел 173, 178, 32, 156, 134. Посмотрим, что получится при восстановлении. Находим адрес буквы "М" (первой буквы в слове Медведев) в алфавите. Это число 190. Поскольку при отображении мы прибавляли неизвестное число, то при восстановлении необходимо вычитать числа вектора. Вычтем из числа 190 первое число вектора 190 - 173 = 17. Поскольку число положительное, то по адресу 17 в алфавите находим букву "П". Первая буква восстановлена. Находим адрес буквы "е" (второй буквы в слове Медведев) в алфавите. Это число 88. Поскольку при отображении мы прибавляли неизвестное число, то при восстановлении необходимо вычитать числа вектора. Вычтем из числа 88 второе число вектора 88 - 178 = -90. Поскольку число меньше 1, то необходимо прибавить число N=190. Получим -90 + 190 = 100. По адресу 100 в алфавите находим букву "у". Вторая буква восстановлена. Всего восстановлено "Пу". Находим адрес буквы "д" (третьей буквы в слове Медведев) в алфавите. Это число 66. Поскольку при отображении мы прибавляли неизвестное число, то при восстановлении необходимо вычитать числа вектора. Вычтем из числа 66 третье число вектора 66 - 32 = 34. По адресу 34 в алфавите находим букву "т". Третья буква восстановлена. Всего восстановлено "Пут". Находим адрес буквы "в" (четвертой буквы в слове Медведев) в алфавите. Это число 1. Поскольку при отображении мы прибавляли неизвестное число, то при восстановлении необходимо вычитать числа вектора. Вычтем из числа 1 четвертое число вектора 1 - 156 = -155. Поскольку число меньше 1, то необходимо прибавить число N=190. Получим -155 + 190 = 35. По адресу 35 в алфавите находим букву "и". Четвертая буква восстановлена. Всего восстановлено "Пути". Находим адрес буквы "е" (пятой буквы в слове Медведев) в алфавите. Это число 88. Поскольку при отображении мы прибавляли неизвестное число, то при восстановлении необходимо вычитать числа вектора. Вычтем из числа 88 пятое число вектора 88 - 134 = -46. Поскольку число меньше 1, то необходимо прибавить число N=190. Получим -46 + 190 = 144. По адресу 144 в алфавите находим букву "н". Пятая буква восстановлена. Всего восстановлено "Путин". Числа в векторе использованы все, следовательно восстановление завершено. Количество чисел в векторе равно длине восстанавливаемой информации. Если бы первое слово было больше второго, то при достижении конца слова при отображении, необходимо перейти к первому символу. Таким образом, осуществляется отображение через один единственный символ. САМОЕ ВАЖНОЕ: адреса в алфавите должны начинаться с 1. Поскольку на элементы алфавита никаких ограничений не накладывается, то в качестве элементов алфавита могут выступать байты, произвольные тексты, слова и т.п. Можно использовать не один алфавит, а два и более. Необходимым и достаточным условием для отображения произвольного текста через другой произвольный текст: Алфавит должен содержать собственный алфавит. Поскольку числа вектора зависят только от порядка следования символов в алфавите и не зависят от самих символов, то существует целый класс, равный факториалу от N, отображения одной и той же информации через другую одну и ту же информацию. Этот алгоритм опубликован в 2009 г. Это нужно вот для чего:
Новый способ хранения персональных данных
В базе данных персональные данные должны сохраняться в следующем виде: 1) Вымышленные персональные данные, которые по внешнему виду не отличимы от действительных персональных данных. Например, реальная фамилия Петров может храниться в виде фамилии Медведевский или Obama или любой другой. Размер реальной фамилии и размер вымышленной фамилии между собой никак не связаны. 2) Набор целых чисел от 1 до 65535 в количестве, равному размеру реальных персональных данных. Например, для фамилии Петров - это 6 чисел, так как в фамилии Петров 6 букв, примерно таких: 111, 75, 71, 29, 100, 211. Больше ничего в базе данных не должно сохраняться. Для восстановления реальных данных из вымышленных необходимо в оперативной памяти компьютера хранить алфавит - перечень символов, используемых для отображения персональных данных. Максимум - это 65535 символов в кодировке Unicode. Порядок следования символов в алфавите имеет первостепенное значение. Набор чисел в приведенном выше примере для фамилии Петров - это связь между адресами букв реальной фамилии Петров в алфавите и адресами букв вымышленной фамилии Медведевский в алфавите. Алфавит отличается от шрифта тем, что символы в алфавите различаются только по коду и порядок следования символов произвольный. Начертания символов не имеет никакого значения для алфавита. В шрифте начертания символов имеет первостепенное значение и порядок следования символов единственный. Адреса букв в алфавите и реальные буквы между собой никак не связаны. Если хакеры украдут из базы данных вымышленную фамилию Медведевский или Obama и украдут набор чисел 111, 75, 71, 29, 100, 211, то восстановить реальную фамилию Петров не смогут, так как отсутствует алфавит. А украсть алфавит из оперативной памяти практически невозможно. Если изменить в алфавите порядок следования символов, то это будет уже другой набор чисел для фамилии Петров. Можно время от времени изменять алфавит и заменять наборы чисел в базе данных для персональных данных. Вымышленные персональные данные можно не изменять. Как видите, украсть персональные данные невозможно, так как их попросту нет. Кража вымышленных персональных данных в этом случае бессмысленна. Под персональными данными мы понимаем в том числе пароли, логины, аккаунты и т.п. |
|
Форум: Программирование
· Просмотр сообщения: #95882
· Ответов: 0
· Просмотров: 12297
|
Новые ответы Нет новых ответов Горячая тема (Есть ответы) Горячая тема (Нет ответов) |
Опрос (Есть ответы) Опрос (Нет ответов) Закрытая тема Тема перемещена |
|
|
© Copyright by WinCity.Ru 2001 - 2008 | Обратная связьУслуги веб-хостинга предоставлены компанией MTW.RU
|
|