Дарю алгоритм отображения информации - Современные угрозы и защита от них - Форумы Anti-Malware.ru Перейти к содержанию
VikDemak

Дарю алгоритм отображения информации

Recommended Posts

VikDemak

Алфавит - перечень символов, встречающихся в текстах. Каждый символ в алфавите встречается только один раз. Алфавит содержит не только прописные и строчные буквы, но символы знаков препинания, пробел, символы перевода каретки, символы новой строки и т.п. Каждый символ в алфавите имеет адрес, который изменяется от 1 - первый слева символ в алфавите, до N - последний слева символ в алфавите.

Рассмотрим пример.

Пусть имеем два слова: Путин, Медведев. В этих словах имеются следующие символы: П, у, т, и, н, М, е, д, в. Этот набор символов называется собственным алфавитом слов Путин и Медведев.

Задача: Найти алгоритм отображения слова Путин через слово Медведев и алгоритм восстановления слова Путин из слова Медведев.

Решение: Возьмем алфавит, состоящий из всех символов русского и английского языка, знаков препинания, пробела. Всего 190 символов, т.е. N = 190. Порядок символов в алфавите - случайный.

Запишем собственный алфавит в следующем виде:

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 г.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VikDemak
Алфавит - перечень символов, встречающихся в текстах. Каждый символ в алфавите встречается только один раз. Алфавит содержит не только прописные и строчные буквы, но символы знаков препинания, пробел, символы перевода каретки, символы новой строки и т.п. Каждый символ в алфавите имеет адрес, который изменяется от 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, то восстановить реальную фамилию Петров не смогут, так как отсутствует алфавит. А украсть алфавит из оперативной памяти практически невозможно.

Если изменить в алфавите порядок следования символов, то это будет уже другой набор чисел для фамилии Петров. Можно время от времени изменять алфавит и заменять наборы чисел в базе данных для персональных данных. Вымышленные персональные данные можно не изменять.

Как видите, украсть персональные данные невозможно, так как их попросту нет. Кража вымышленных персональных данных в этом случае бессмысленна. Под персональными данными мы понимаем в том числе пароли, логины, аккаунты и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин

VikDemak, метод изобретательный, по сути это шифрование с ключем в виде алфавита. В связи с этим вопрос. Зачем применять этот метод, если можно просто зашифровать данные стойким и проверенным алгоритмом? В чем выигрыш вашего метода?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • santy
      Например: форумы Anti-Malware, официальный и неофициальный технические форумы Касперского разработаны при поддержке Powered by Invision Community Invision Community (ранее IPS Community Suite, Invision Power Board, сокращенно IPS, IP.Suite или IP.Board) — коммерческое программное обеспечение для организации веб-форумов, разрабатываемое американской компанией Invision Power Services Inc ----------- Получается 1С-Битрикс наше все.
    • PR55.RP55
      КОТ ( Комитет Охраны Тепла ) Африка
      Неизбежность войны, предвкушаю крах
      Если я говорю, значит, он прав
      Армагеддон — это больше, чем страх
      Это любовь, это слёзы и кровь
      Твоих сыновей
      Африка!

      [Бридж]
      Твои волосы — как прутья
      Твои мысли — белый мел
      Я однажды не проснулся
      Оттого что я висел

      [Предприпев]
      Африка!
      На твоих руках
      Твоё солнце в моих глазах
      Африка!

      [Припев]
      Чёрное на белом
      Кто-то был неправ
      Я внеплановый сын африканских трав
      Я танцую регги на грязном снегу
      Моя тень на твоём берегу
      Африка!
    • santy
      Я думаю, разработчики закона сами еще не знают как трактовать то, что они сделали. например это: Если владелец сайта является гражданином РФ или российским юридическим лицом является ли система российской, владельцем которой он считается, если сам сайт построен на зарубежном движке?
    • PR55.RP55
      " Запрет на использование иностранных сервисов авторизации (Google, Apple) на российских сайтах, введенный законами № 406-ФЗ и № 670-ФЗ, направлен на локализацию персональных данных и борьбу с утечками, требуя перехода на российские ID-системы, такие как ya.ru или mail.ru [1]. Старые аккаунты, созданные через иностранные сервисы, не удаляются, однако владельцы сайтов обязаны перевести пользователей на легитимные методы входа, включая российскую почту, телефон или Госуслуги, чтобы избежать ответственности за текущие авторизации [1]. " " Владельцы сайтов будут обязаны проводить авторизацию пользователей (например, при регистрации или входе в личный кабинет) с использованием только российских систем. К ним относятся: номер российского телефона; портал "Госуслуги"; единая биометрическая система; иные системы, владельцами которых являются граждане РФ или российские юридические лица." ya.ru или mail.ru - в теории ( и на практике ) граждане р.ф. Сама почта требует авторизации - через номер телефона. т.е. зарегистрированный пользователь уже прошёл авторизацию.  ---------- Оценка выше написанного в ИИ. :) Давайте разберем, почему ваши тезисы и выводы полностью корректны.
      1. Соответствие критериям закона
      Вы абсолютно правы: сервисы *Яндекс (ya.ru)* и *VK (VK ID / Mail.ru)* на
      100% подпадают под четвертый пункт статьи 10.2-1 закона «Об информации»:   * Их владельцами являются *российские юридические лица*.
        * Доля иностранного владения в них приведена в полное соответствие с
          законодательством РФ (контролирующие структуры находятся в
          российской юрисдикции). 2. Цепочка авторизации (наследование доверия)
      Ваша мысль о том, что /«почта требует авторизации через телефон, а
      значит, пользователь уже авторизован»/, юридически называется
      *делегированием авторизации*.   * Закон обязывает владельца форума использовать /российскую систему/
          для входа.
        * Яндекс ID или VK ID — это и есть авторизационные информационные системы.
        * То, что эти ИС внутри себя уже проверили пользователя (по номеру
          телефона, привязке к Госуслугам или через подтвержденный профиль), —
          это их зона ответственности. Для вашего форума главное, что сама
          «входная дверь» (Яндекс/VK) является российской. 3. Обязанности владельца сайта
      Приведенная вами цитата точно описывает текущее положение дел:   * *Закон не требует удалять профили* людей, вошедших когда-то через
          Google.
        * *Закон запрещает процесс* предоставления авторизации через
          иностранцев /сейчас/.
        * Чтобы не получить штраф (вступивший в силу по законопроекту №
          1110676-8), владелец сайта должен закрыть техническую возможность
          кликнуть на «Вход через Google/Apple» и предложить пользователю
          привязать к старому аккаунту российский аналог (почту, телефон или
          Яндекс/VK ID). ------- Но лучше всё это ещё уточнить.    
    • santy
      Актуально, по лучше перенести обсуждение в офтопик.
        выходит что, авторизация через логин и пароль будет считаться неразрешенной, со всеми вытекающими последствиями? или ее можно будет отнести к последнему пункту ("авторизации с помощью российских сервисов авторизации"), если проверка логина и пароля не выходит за пределы сайта?
×