Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

___XOR___   Найти похожие ветки 

 
p_sA[11] ©   (2004-04-30 16:25) [0]

Я думаю все(ну или многие) знакомы с алгоритмом шифрования
основаном на XORe. Но проблема в том, что при XORe код символа может быть и 13, и 8, и 0, или еще каким нибудь. Может кто-нибудь подскажет идею, чтоб избежать этого. В принцыпе я знаю как это сделать, но при моем решении размер закодированого файла будет увеличиваться вдвое. Хотелось бы какое-нибудь оптимальное решение. Конечно можно изначально прибавлять ко всем кодам символов после XORa например 20, но тогда код может попасть за пределы кодовой таблицы. В общем если кто, что подскажет по этой теме буду благодарен.


 
Fay ©   (2004-04-30 16:27) [1]

Зашифорваная инфа должна быть читаемой? Можешь закодировать её в Base64


 
Reindeer Moss Eater ©   (2004-04-30 16:27) [2]

Но проблема в том, что при XORe код символа может быть и 13, и 8, и 0, или еще каким нибудь

И как называется эта проблема?


 
WebErr ©   (2004-04-30 16:29) [3]


Buf := Value and $1F
Result := Value xor Some;
Value := Value and not SomeType($1F);
Result := Result or Buf;


 
Андрей Сенченко ©   (2004-04-30 16:31) [4]

Reindeer Moss Eater ©   (30.04.04 16:27) [2]

По всей видимости имеется в виду, что длина ( кодичество символов ) числел, полученных перекодировкой различна и если их писать в строку без разделителей - при обратной перекодировке неясно будет от чего плясать
ИМХО


 
Reindeer Moss Eater ©   (2004-04-30 16:33) [5]

При ксоре длина криптотекста равна исходной длине сообщения.


 
WebErr ©   (2004-04-30 16:33) [6]


> Reindeer Moss Eater ©   (30.04.04 16:33) [5]

Иногда можно и так! :))))


 
Anatoly Podgoretsky ©   (2004-04-30 16:34) [7]

Это вообще не является проблемой, зашифрованый файл не является текстовым файлом!


 
Fay ©   (2004-04-30 16:37) [8]

2Андрей Сенченко ©   (30.04.04 16:31) [4]
Вы не могли бы перефразировать ответ - не очень (совсем) понятно, что Вы хотели сказать...


 
WebErr ©   (2004-04-30 16:51) [9]


> Buf := Value and $1F
> Result := Value xor Some;
> Value := Value and not SomeType($1F);
> Result := Result or Buf;

Ой, в 3-й строке:

Result := Result and not SomeType($1F);

Ну, в общем и так понятно! 8)


 
p_sA[11] ©   (2004-04-30 16:56) [10]

2ALL: Извините, конечно, но конкретного ответа я так и не услышал. Неужели не ясна проблема? Раз вы считаете, что проблемы нет, то пожалуста запишите в файл код бакспейса(8) или интера, и каким образом востанавливать закодированую информацию?! Ведь текст уменьшится в размерах и при чтении файла и раскодировке получитяс непонятно что. В общем надеюсь теперь будет всем понятно в чем проблема.

2WebErr: если не сложно объясни подробнее, а то я чего-то недопонял... :(


 
Reindeer Moss Eater ©   (2004-04-30 16:57) [11]

Да ну?

Так уж и уменьшится?


 
Reindeer Moss Eater ©   (2004-04-30 17:00) [12]

Шифрованный текст перестает быть текстом а становится двоичными данными.
Либо разрастается в размерах еси представлен в b64 формате.

Ждем чуда?


 
p_sA[11] ©   (2004-04-30 17:02) [13]

2Reindeer Moss Eater: да уменьшится...
ну а как же иначе? А как по твоему прочитать код бекспейса из файла?


 
WebErr ©   (2004-04-30 17:02) [14]

Вообще всё неправильно:
я зачем-то сохранял первые пять бит!
Надо любой другой, кроме этих пяти - тормоз я! :(
Всё точно так же с буффером, как я писал.


 
Reindeer Moss Eater ©   (2004-04-30 17:03) [15]

Это байт. Такой же как и все остальные.
Ни к какому уменьшению он не приводит.


 
Anatoly Podgoretsky ©   (2004-04-30 17:03) [16]

p_sA[11] ©   (30.04.04 17:02) [13]
Read(F, Ch)


 
Reindeer Moss Eater ©   (2004-04-30 17:08) [17]

2Reindeer Moss Eater: да уменьшится...

Интересно, а каков размер файла, сосотоящего из ста бэкспейсов.
А еще интереснее - какова длина его "текста"

:)


 
WebErr ©   (2004-04-30 17:08) [18]

Типа:

function Convert(Value: Char):
begin
 Buf := Value and $40; // Сохраняем бит
 Result := XorThis(Value); // Ваше преобразование
 Result := Value and not Char($40); // Очищаем бит
 Result := Result and Buf; // Вспоминаем бит
end;

Изменяются только 7 из 8-ми бит.


 
WebErr ©   (2004-04-30 17:12) [19]

1. В принципе Buf - локальная переменная в Convert.

function Convert(Value: Char):
var
 Buf: Char;
begin
 ...

2. Можно сохранять любой бит от 5-го до 7-го, вместо $40 писать 1 shl N, где 5 <= N <= 7.


 
WebErr ©   (2004-04-30 17:13) [20]

Кстати $40 - это 6-й бит. ;)


 
Fay ©   (2004-04-30 17:21) [21]

А не 7-й?


 
WebErr ©   (2004-04-30 17:25) [22]

Нет, если считать с 0-го.


 
Григорьев Антон   (2004-04-30 17:30) [23]


> Reindeer Moss Eater ©   (30.04.04 17:08) [17]
>
> Интересно, а каков размер файла, сосотоящего из ста бэкспейсов.
> А еще интереснее - какова длина его "текста"
>
> :)


А вы вообще в курсе, что файлы бывают не только текстовые? И что бинарным файлам по фигу, где бэкспейс, где enter, где tab и т.д.?


 
Reindeer Moss Eater ©   (2004-04-30 17:32) [24]

Ой, спасибо. Не знал что бывают нетекстовые.


 
Fay ©   (2004-04-30 17:34) [25]

2Григорьев Антон   (30.04.04 17:30) [23]
"Текстовость" файла - это условность. Все файлы "бинарные".


 
WebErr ©   (2004-04-30 17:34) [26]


> function Convert(Value: Char):

Лох я сегодня - возвращаемый тип: Char.


 
Reindeer Moss Eater ©   (2004-04-30 17:35) [27]

И что бинарным файлам по фигу, где бэкспейс, где enter, где tab и т.д.?

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


 
WebErr ©   (2004-04-30 17:38) [28]


> Reindeer Moss Eater ©   (30.04.04 17:35) [27]

Странная у Вас была мама.
Мне такое в детстве даже днём не рассказывали! :))))


 
Fay ©   (2004-04-30 17:52) [29]

2WebErr ©   (30.04.04 17:38) [28]
Просто дети не всегда внимательно слушают родителей 8)


 
WebErr ©   (2004-04-30 18:02) [30]


> Fay ©   (30.04.04 17:52) [29]

Ужас! 8)
Это всем на данном форуме в раннем детстве родители про бинарные файлы рассказывали?!
Кошмар! 8)
Только так и становятся программерами! :))))


 
Fay ©   (2004-04-30 18:06) [31]

WebErr ©   (30.04.04 18:02) [30]
Я хотел сказать, что большинству нормальных людей ещё в детстве объяснили такую вещь - в приличном обществе за заявления типа "Странная у Вас была мама" могут дать по морде.


 
WebErr ©   (2004-04-30 18:11) [32]


> Fay ©   (30.04.04 18:06) [31]

А вот смайлик, в конце Вашего сообщения я бы поставил!
К тому же, как говаривал Тимохов (с): "Настоящий программист шутки понимает!"


 
Fay ©   (2004-04-30 18:17) [33]

Я писал со всей серьёзностью, поэтому смайлик был неуместен.


 
Игорь Шевченко ©   (2004-04-30 19:27) [34]

WebErr ©   (30.04.04 18:11)

У меня просьба: обрати внимание на правила, где написано: "Просто потрепаться вы можете в соответсвующей конференции".

Считай это официальным предупреждением.


 
Anatoly Podgoretsky ©   (2004-04-30 19:33) [35]

WebErr ©   (30.04.04 17:13) [20]
А не перавыйЮ если считать с нуля


 
Anatoly Podgoretsky ©   (2004-04-30 19:34) [36]

Fay ©   (30.04.04 17:34) [25]
Бинарные файлы тоже условность, все они многобитовые.


 
Anatoly Podgoretsky ©   (2004-04-30 19:39) [37]

WebErr ©   (30.04.04 18:02) [30]
А что ты тогда на сайте программистов делаешь?


 
Fay ©   (2004-04-30 20:54) [38]

2Anatoly Podgoretsky ©   (30.04.04 19:34) [36]
Не подскажете, как прочитать 123 бит (ровно) из файла?


 
SammIk ©   (2004-04-30 21:02) [39]

2 [36]
Читаешь 16 баит и 5 бит зануляешь, а зачем вообще это?


 
Anatoly Podgoretsky ©   (2004-04-30 21:10) [40]

Fay ©   (30.04.04 20:54) [38]
Чего скупиться, читай с запасом, все равно минимальная единица кластер и может достигать 64кбАЙТ



Страницы: 1 2 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.024 c
1-1082750758
ALF
2004-04-24 00:05
2004.05.16
Самодельный скин к программе и системные шрифты


1-1083227723
senya
2004-04-29 12:35
2004.05.16
PDF не понимает русский язык, выдает "иероглифы"


6-1080039228
V@LER@N
2004-03-23 13:53
2004.05.16
Сниффер - не сниффер...


7-1081317970
Borealis
2004-04-07 10:06
2004.05.16
Сервис RunAs


6-1080627168
paul_k
2004-03-30 10:12
2004.05.16
Помогите разобратся с получением текста из TWebBrowser