скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Повышение криптоустойчивости шифрования текста любым алгоритмом



Автор: Delirium

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Повышение криптоустойчивости шифрования текста любым алгоритмом

Данная функция (AddDisturbToText) представляет собой
подготовительную операцию перед шифрацией текста любым
алгоритмом. Функция добавляет в текст случайное количество
непечатных символов, располагая их хаотически.
Таким образом подготовленный текст, после шифрации
одним и тем-же ключом, не зависимо от алгоритма,
каждый раз будет выглядеть по разному и количественно
и качественно, что практически сводит на нет любой
статистический анализ. При расшифровке, непечатные
символы элементарно вычищаются функцией RemoveDisturbFromText.

Зависимости: SysUtils
Автор:       Delirium, VideoDVD@hotmail.com, ICQ:118395746
Copyright:   Delirium (Master BRAIN) 2004
Дата:        28 февраля 2004 г.
***************************************************** }

const
  NPCS: set of char = [#0..#8, #11, #12, #14..#31, '' ];

  // Добавление в текст непечатных символов

function AddDisturbToText(Source: string): string;
var
  n, c: integer;
begin
  Randomize;
  Result := Source;
  n := (Length(Source) * 2) + Random(Length(Source));
  while Length(Result) < n do
  begin
    c := Random(128);
    if Chr(c) in NPCS then
      Insert(Chr(c), Result, Random(Length(Result)) + 1)
  end;
end;

// Убрать из текста непечатные символы

function RemoveDisturbFromText(Source: string): string;
var
  i: integer;
begin
  Result := Source;
  i := 1;
  while i < Length(Result) do
    if Result[i] in NPCS then
      Delete(Result, i, 1)
    else
      Inc(i);
end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook