id: Гость   вход   регистрация
текущее время 16:34 23/03/2019
Автор темы: Гость, тема открыта 05/04/2015 19:27 Печать
Категории: инфобезопасность, защита дисков
создать
просмотр
ссылки

Шифрование дискет


Похоже что для шифрования дискет LUKS не подходит, т.к. его заголовок больше доступного дискового пространства 1.44 МБ. cryptsetup luksFormat работает без предупреждений, но luksOpen выдаёт сообщение о нехватке места. Можно ли уменьшить размер заголовка? Среди штатных опций такой возможности не обнаружил.


Если LUKS не подходит, какие другие варианты лучше соответствуют – EncFS, ecryptfs, loop-aes? В идеале безсигнатурное шифрование, хотя сомневаюсь что существует удобное решение, поэтому такое условие не обязательно.


 
На страницу: 1, 2, 3, 4, 5 След.
Комментарии
— SATtva (09/04/2015 12:53, исправлен 09/04/2015 12:53)   профиль/связь   <#>
комментариев: 11538   документов: 1036   редакций: 4088

Работает:

$ sha512sum file1 | echo `cut -d' ' -f1`"  file2" | sha512sum -c
file2: ЦЕЛ
 
$ sha512sum file1 | echo `cut -d' ' -f1`"  file3" | sha512sum -c
file3: ПОВРЕЖДЁН
sha512sum: ПРЕДУПРЕЖДЕНИЕ: НЕ совпала 1 вычисленная контрольная сумма
В каком виде у Вас вывод sha*sum?

— Гость (09/04/2015 13:01)   <#>


Честно говоря, я вообще не понимаю вашу команду. `cut -d' ' -f1` — что это такое? Откуда cut возьмёт аргумент, по-вашему? Из пайпа он не читает, имя файла тоже не указано. Я не понимаю, как это вообще может у вас работать. Всё, что в ` `, выполняется во внутреннем шелле.
— SATtva (09/04/2015 13:07)   профиль/связь   <#>
комментариев: 11538   документов: 1036   редакций: 4088

Простите, но сфигали?
$ echo '123 321' | cut -d' ' -f1
123
$ echo '123 321' | echo `cut -d' ' -f1`
123
— Гость (09/04/2015 13:21)   <#>

$ echo '123 321' | cut -d' ' -f1
123
$ echo '123 321' | echo `cut -d' ' -f1`
cut: -: Input/output error
SATtva, почистите свои диски от вирусняков. На нормальной незатрояненной системе это работать не должно. Ещё раз: всё, что в косых кавычках, выполняется во внутреннем шелле. Он, этот шелл, ничего про то, что вокруг (за исключением имён переменных) не знает.

UPD: Ответ найден. В bash и в sh работает, в zsh — нет. Но я так и не понял, почему это работает в bash/sh.
— Гость (09/04/2015 13:28)   <#>
Я не понимаю, почему echo `command` и command эквивалентны. Как это следует из документации? Например, «| `command`» в этом случае не работает, как и должно быть.
— Гость (09/04/2015 13:37)   <#>
Смысл команд понятен (почему они отрабатывают), но почему это следует из логики/документации шелла — неясно. Смысл сводится к этому (проще и наглядней, чем ваши извраты):
$ sha512sum file1 | sed 's/file1/file2/' | sha512sum -c
file2: FAILED
sha512sum: WARNING: 1 computed checksum did NOT match
$ sha512sum file1 | sed 's/file1/file2/' | sha512sum -c
file2: OK
— SATtva (09/04/2015 13:40)   профиль/связь   <#>
комментариев: 11538   документов: 1036   редакций: 4088
Кода, который полагается на такое поведение — горы. Я скорее не понимаю, почему zsh ведёт себя иначе.


Почитайте man bash, Command Substitution. Я не вижу, почему из этого должно следовать что-то другое.


Ох лол.
— unknown (09/04/2015 14:25, исправлен 09/04/2015 14:44)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

В соревнование башистов врывается команда Anonymous named pipe's:


diff <(cat file1 | sha512sum) <(cat file1.copy | sha512sum) 1>/dev/null ; echo $?
0


diff <(cat file1 | sha512sum) <(cat file2 | sha512sum) 1>/dev/null ; echo $?
1


Можно грабить писать альяс на аргументы $1 и $2 вместо имён файлов.

— SATtva (09/04/2015 14:37)   профиль/связь   <#>
комментариев: 11538   документов: 1036   редакций: 4088
И с разгромным счётом одерживает победу unknown.
— unknown (09/04/2015 15:21)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Победителю — приз: дырка от 3-дюймовой дискеты. Вручается удалённо, посредством исполнения анонимного ритуала протокола.
— sentaus (09/04/2015 16:21)   профиль/связь   <#>
комментариев: 1058   документов: 16   редакций: 32
ЭЭЭ, а зачем хэши-то считать, если надо просто два файла сравнить на предмет совпадения/несовпадения? cmp чем-то не устраивает?
— SATtva (09/04/2015 16:22)   профиль/связь   <#>
комментариев: 11538   документов: 1036   редакций: 4088
Недостаточно криптогиково!
— unknown (09/04/2015 16:30, исправлен 09/04/2015 16:31)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Дырка от дискеты переходит вам. Можно ещё дырок от перфокарт добавить.

— Гость (10/04/2015 13:34)   <#>

Zsh не полностью POSIX-compliant, вроде был такой факт. Т.е. он где-то сбросил с себя legacy и пошёл дальше, а остальные продолжают насиловать bug2bug-compatibility from 1970s.


В этой секции ни в man bash, ни в man sh, ни в man zsh поведение потоков (откуда они берут инпут и берут ли) вообще не оговаривается.


Ну так правда же. Вы берёте вывод sha512sum file1, заменяете в нём имя файла и скармливаете получившуюся строку на проверку команде sha512sum -c. Логично эту замену и записать той программой, которая делает замены — потоковым редактором (stream editor).


Круто, спасибо за ссылку, не знал про такие тонкости.


Вопрос был в том, что работает быстрее: побайтовое сравнение или хэшевое. Наверно, раз для вычисления хэша всё равно надо все байты прочитать, быстрее не будет, так что правда ваша: сравнивать хэши не нужно. Даже без cmp выше была приведена команда diff, с её помощью можно и бинари сравнивать, работает быстро:
$ diff /usr/bin/tor /usr/bin/base64 
Binary files /usr/bin/tor and /usr/bin/base64 differ
— unknown (10/04/2015 13:44, исправлен 10/04/2015 13:46)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

И весь этот оффтоп здесь только ради того, чтобы долго и упорно искать лучшие способы, неопровержимо демонстрирующие изначальную бредовость утверждения:



Вместо того, чтобы ограничиться бездоказательным:



И успокоиться на этом.

На страницу: 1, 2, 3, 4, 5 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3