Вернуться на главную

Вернуться   Форум выживальщиков » Полезно для всех » Компьютерная грамотность
Все разделы прочитаны
Регистрация Справка Календарь

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 22.08.2018, 21:10
Captain Deadly
Выживальщик
 
Регистрация: 14.04.2014
Адрес: Earth
Сообщений: 881
Сказал(а) спасибо: 5
Поблагодарили 593 раз(а) в 393 сообщениях
По умолчанию

Цитата:
Сообщение от Zusman Посмотреть сообщение
считаю что подобным пользоваться нельзя - т.к. технология и принцип известны всем.
// Шифр Вернама. Кольцевой одноразовый ключ.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>

using namespace std;

#define version "XOR One pad Cifer 1.2 19-07-2016"
#define CODE 1
#define DECODE 2

int main(int argc,char **argv)
{
char passphrase[4096]={0};
char op_file[2048]={0};
FILE *data_file;
int i=0;
unsigned char to_code;
int operation=0;
char *str;
int force=0;
char *key;
struct stat filestatus;
long p_filesize=0L;
FILE *p_file;

if(argc<2)
{
printf("Шифр Вернама: Простое XOR шифрование/дешифровка\nс одноразовым кольцевым ключом\n");
printf("%s\nИспользование: --code <filename> --passphrase key\n",version);
return -1;
}

for(i=0;i<argc;i++)
{
if(!strcmp("-f",argv[i])||!strcmp("--force",argv[i])) force=1;

if(!strcmp("-v",argv[i])||!strcmp("--version",argv[i]))
{ printf("%s\n",version);return 0;}

if(!strcmp("-c",argv[i])||!strcmp("--code",argv[i]))
{
if(argv[i+1][0]!='-') sprintf((char*)op_file,"%s",argv[i+1]);
operation=CODE;
}
if(!strcmp("--decode",argv[i])||!strcmp("-d",argv[i]))
{
if(argv[i+1][0]!='-') sprintf((char*)op_file,"%s",argv[i+1]);
operation=DECODE;
}
if(!strcmp("-p",argv[i])||!strcmp("--passphrase",argv[i]))
{
if(argv[i+1][0]!='-') sprintf((char*)passphrase,"%s",argv[i+1]);
}
}

if(!access(passphrase,R_OK))
{
stat(passphrase,&filestatus);
p_filesize=filestatus.st_size;
key=(char*)malloc(p_filesize);
if(key==NULL) { printf("Cannot allocate memory for passphare file\n"); return -1;}
p_file = fopen(passphrase,"rb");
if(p_file!=NULL) fread((char*)key,p_filesize,1,p_file);
}
else
{ key=(char*)malloc(4096); strcpy(key,passphrase);p_filesize=strlen(key);}

i=0;
data_file = fopen(op_file,"rb");
if(data_file!=NULL)
{
if(operation==CODE) printf("%s\n",version);

if(operation==DECODE)
{
str=(char*)malloc(8192);
if(!str) return -1;
fgets((char*)str,8192,data_file);

if(force==0)
{
if(strncmp(version,str,strlen(version))) { printf("No cifer version fingerprint\n"); fclose(data_file); return -1;}
}
else if(force==1) fseek(data_file,0L,SEEK_SET);
}

while(!feof(data_file))
{
to_code=fgetc(data_file);
if(feof(data_file)) break;
printf("%c",to_code^key[i]);
i++; if(i>=p_filesize-1) i=0;
}

fclose(data_file);
}

return 0;
}

P.S. В опубликованной здесь реализации шифра текст должен быть предварительно обработан, например, сжат любым архиватором.

Последний раз редактировалось Captain Deadly; 22.08.2018 в 21:28..
Captain Deadly вне форума   Ответить с цитированием
Это может быть интересно
Старый 23.08.2018, 01:00
Arigato
Выживальщик
 
Аватар для Arigato
 
Регистрация: 28.12.2014
Адрес: РФ
Сообщений: 2,228
Сказал(а) спасибо: 934
Поблагодарили 2,539 раз(а) в 1,473 сообщениях
По умолчанию

Цитата:
Сообщение от Спартанец Посмотреть сообщение
Это значит, что закон применяется только с момента его официального опубликования после его принятия законотворцами.
Скажем, если сегодня примут закон, предусматривающий уголовное наказание за просмотр порно, то человека, который смотрел порно вчера, к уголовке не могут привлечь.
На сколько помню, обратное работает. То есть если за просмотр порно предусмотрена уголовная ответственность, и ты сидишь по этой статье, а сегодня закон отменили, то тебя должны выпустить. То есть сидеть по ныне отмененной статье ты не должен.
Arigato на форуме   Ответить с цитированием
Старый 23.08.2018, 07:08
Zusman
Модератор форума
 
Аватар для Zusman
 
Регистрация: 22.06.2012
Адрес: Владивосток
Сообщений: 7,969
Сказал(а) спасибо: 4,291
Поблагодарили 16,833 раз(а) в 6,213 сообщениях
По умолчанию

Цитата:
Сообщение от рг Николай Посмотреть сообщение
Сложный пароль в запоминании не нуждается
Captain Deadly, речь же шла за пароль, а не за технологию шифрования. А так голова.

Zusman вне форума   Ответить с цитированием
Старый 23.08.2018, 13:01
рг Николай
Выживальщик
 
Регистрация: 16.12.2014
Адрес: Оренбург
Сообщений: 393
Сказал(а) спасибо: 2,280
Поблагодарили 288 раз(а) в 201 сообщениях
По умолчанию

Цитата:
Сообщение от Zusman Посмотреть сообщение
считаю что подобным пользоваться нельзя - т.к. технология и принцип известны всем.
технология любого шифра в принципе в открытом доступе.
Тут дело в том, что таблицу составляешь сам для себя, только по тебе известным правилам.
рг Николай вне форума   Ответить с цитированием
Старый 23.08.2018, 14:04
Arigato
Выживальщик
 
Аватар для Arigato
 
Регистрация: 28.12.2014
Адрес: РФ
Сообщений: 2,228
Сказал(а) спасибо: 934
Поблагодарили 2,539 раз(а) в 1,473 сообщениях
По умолчанию

Проблема в том, что сгенерированный таким образом пароль ты точно не запомнишь, а значит каждый раз придется восстанавливать его по таблице, а в идеале сначала и таблицу восстанавливать, потому как если таблицу хранить на флешке/диске, то это потенциальная дыра в безопасности, так же, как если написать программку, которая сама будет генерировать пароли.
Arigato на форуме   Ответить с цитированием
Старый 24.08.2018, 11:30
Kislorod
Выживальщик
 
Регистрация: 07.10.2012
Адрес: Москва
Сообщений: 944
Сказал(а) спасибо: 277
Поблагодарили 900 раз(а) в 465 сообщениях
По умолчанию

Господа, поделюсь своим методом хранения паролей.

Я не военный и не разведчик, поэтому мне важно, чтобы мои секретные данные не получили злоумышленники. На спецслужбы мне насрать, если они захотят - они получат, да и скрывать мне нечего.

Я использую программу Keepass (https://keepass.info/). Она есть для всех платформ, включая мобильники. Программа создает зашифрованный файл (можно защитить либо паролем, либо файлом-ключом, либо и тем, и другим одновременно), где можно хранить любую секретную инфу: номера и пины кредиток, пароли к админкам и разным важным сервисам (типа пейпала или интернет-банка) и т.д. Для некритичных ресурсов, типа вот этого форума, у меня один пароль на все.

Мастер-пароль на Keepass я придумываю не рандомный, который сложно запомнить, а по следующей системе: берете четыре или больше случайных слова, которые пришли вам в башку, и пишите их подряд. Например: батарейкамышькабельмашина. Невероятно, но подобный пароль одновременно достаточно устойчив ко взлому (перебором его не возьмешь за адекватное время) и очень легко запоминается. Вот реально, вбивается в голову намертво после нескольких использований. Ну и вводишь этот пароль латиницей: ,fnfhtqrfvsimrf,tkmvfibyf

Фактически, запомнить надо только этот мастер-пароль. Тогда не нужно будет использовать одни и те же ненадежные пароли для разных сайтов и сервисов. А то ломают один такой - и все, считай для всех сайтов твою учетку сломали. Ходи потом, пароли меняй.
Kislorod вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Arigato (24.08.2018), рг Николай (24.08.2018)
Старый 24.08.2018, 13:06
Arigato
Выживальщик
 
Аватар для Arigato
 
Регистрация: 28.12.2014
Адрес: РФ
Сообщений: 2,228
Сказал(а) спасибо: 934
Поблагодарили 2,539 раз(а) в 1,473 сообщениях
По умолчанию

Цитата:
Сообщение от Kislorod Посмотреть сообщение
Мастер-пароль на Keepass я придумываю не рандомный, который сложно запомнить, а по следующей системе: берете четыре или больше случайных слова, которые пришли вам в башку, и пишите их подряд. Например: батарейкамышькабельмашина. Невероятно, но подобный пароль одновременно достаточно устойчив ко взлому (перебором его не возьмешь за адекватное время) и очень легко запоминается. Вот реально, вбивается в голову намертво после нескольких использований. Ну и вводишь этот пароль латиницей: ,fnfhtqrfvsimrf,tkmvfibyf
Согласен, такой пароль будет достаточно надежным, даже при кажущейся простоте (перебор по словарю). Давайте посчитаем примерное количество комбинаций, которое надо перебрать для подбора такого пароля (4 словарных слова). Пусть у нас в словаре 10 тыс часто употребляемых слов. Тогда количество комбинаций из 4 слов будет равно 10 тыс в степени 4, то есть 10 000 000 000 000 000 (10 000 триллионов вариантов). Если мы можем за секунду перебрать миллион комбинаций, то на перебор всех потребуется 10 000 000 000 секунд или около 320 лет. Допустим, у нас сразу 1000 компьютеров, тогда подбирать будем где-то 116 дней. Ну то есть если сильно надо, то подобрать можно, но желание должно быть действительно очень сильным.

---------- Сообщение добавлено в 13:06 ---------- Предыдущее сообщение размещено в 12:59 ----------

Можно еще прикинуть, какому количеству рандомных символов соответствует пароль из 4 словарных слов. Допустим, у нас 26 букв английского алфавита, в двух регистрах это 52, добавляем цифры - 62, добавляем значки, пусть будет 100 символов. 10 000 триллионов комбинаций соответствует log 10 000 000 000 000 000 по основанию 100 = 8 символов. Проще говоря, одинаково надежен пароль "батарейкамышькабельмашина" и "G0?4~s_@", но 4 слова запомнить намного проще, чем 8 случайных символа.
Arigato на форуме   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Kislorod (24.08.2018), Спартанец (26.08.2018), Татия (25.08.2018)
Старый 24.08.2018, 16:25
username
Выживальщик
 
Аватар для username
 
Регистрация: 23.02.2014
Адрес: 42
Сообщений: 541
Сказал(а) спасибо: 1,591
Поблагодарили 340 раз(а) в 217 сообщениях
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
если сильно надо
то говорят, что пароль ломается за 2 часа. терморектальный криптоанализ )

Если между свободой и безопасностью народ выбирает безопасность, в конечном итоге он теряет и то и другое. Б. Франклин.
username вне форума   Ответить с цитированием
Старый 24.08.2018, 21:07
fonDEER
Выживальщик
 
Регистрация: 13.11.2011
Адрес: Москва
Сообщений: 588
Сказал(а) спасибо: 1,074
Поблагодарили 668 раз(а) в 302 сообщениях
По умолчанию

По большому счету сейчас мало кто взламывает пароли. Чаще просто сливается база с ресурса и усё.
fonDEER вне форума   Ответить с цитированием
Старый 25.08.2018, 12:54
Спартанец
Модератор форума
 
Аватар для Спартанец
 
Регистрация: 17.07.2011
Адрес: Спарта
Сообщений: 12,521
Сказал(а) спасибо: 14,570
Поблагодарили 16,722 раз(а) в 7,552 сообщениях
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
На сколько помню, обратное работает. То есть если за просмотр порно предусмотрена уголовная ответственность, и ты сидишь по этой статье, а сегодня закон отменили, то тебя должны выпустить. То есть сидеть по ныне отмененной статье ты не должен.
Закон обратной силы не имеет. Это применяется, как я выше описывал.
Если статью декриминализровали - то есть закон отменили, то тебя должны выпустить. Но это не значит, что закон имеет обратную силу.

Помню, когда в дознании работал, подбегает ко мне человек со знакомой физиономией и радостно приветствует. Помню, где-то его видел, не помню, где. Он называет фамилию (и я его вспоминаю) и объясняет, что я расследовал по нему дело за незаконное хранение оружия - гладкоствольное охотничье оружие, ему дали срок, он год успел отсидеть - и тут в статью 222 УК внесли изменения и хранение гладкоствола перестало быть уголовно наказуемым, и его в тот же день выпустили досрочно.

Больше знаешь - меньше носишь!
Спартанец вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Zusman (25.08.2018)
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Безопасность в сети. Travolta Компьютерная грамотность 517 24.06.2019 22:57
Плавсредство выживальщика руками выживальщика. Мамай Транспортное средство ПА 29 21.04.2017 19:15
Выбор места поселения - безопасность, основные моменты кочевник Живой уголок Кочевника 238 02.04.2017 18:47
Ядерная безопасность admin Выживание в условиях ядерной войны 61 12.06.2012 04:39


Текущее время: 00:43. Часовой пояс GMT +3.