Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

___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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.04 c
8-1077111964
__Alex__
2004-02-18 16:46
2004.05.16
Кривые Безье, изолинии


1-1083671069
ЁПРСТ
2004-05-04 15:44
2004.05.16
Как убить компонент при выходе из него


14-1083088406
УНЯ
2004-04-27 21:53
2004.05.16
ЕСЕМЕСки


1-1083052445
Ivolg
2004-04-27 11:54
2004.05.16
Memo


1-1083105428
Mishenka
2004-04-28 02:37
2004.05.16
Выделение в ListBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский