Вверх ↑
Этот топик читают: Гость
Ответов: 871
Рейтинг: 322
#1: 2019-09-07 18:02:50 ЛС | профиль | цитата
Попробуйте зашифровать и дайте примерную оценку шифроустойчивости.

Add(MainForm,2953706,602,217)
{
Width=901
Height=443
Caption="Центр Юстасу"
BorderStyle=3
Position=1
}
Add(PageControl,13921603,658,217)
{
Width=895
Height=420
Childrens=#1:a|1:b|1:c|
Selected="c"
}
BEGIN_SDK
Add(EditPolyMulti,12023826,21,21)
{
Width=328
Height=214
}
Add(PagePanel,12521844,35,105)
{
Left=-40
Width=785
Height=437
}
END_SDK
BEGIN_SDK
Add(EditPolyMulti,15833279,14,28)
{
Width=944
Height=319
}
Add(PagePanel,5973105,25,35)
{
Width=901
Height=398
Caption="шифрование"
}
Add(Label,7379480,80,35)
{
Left=210
Top=5
Width=432
Height=17
Caption="1 - Введите пароль не менее 25 символов, затем нажмите кнопку - хороший пароль"
}
Add(Edit,6439224,226,84)
{
Left=5
Top=25
Width=710
Text=""
Point(doSetFocus)
link(onChange,13839274:doLength,[])
}
Add(Button,2656328,509,84)
{
Left=735
Top=25
Width=145
Enabled=1
Caption="хороший пароль"
Data=Integer(1)
Point(doEnabled)
link(onClick,2011539:doEvent1,[])
}
Add(Memo,11914461,591,42)
{
Left=5
Top=80
Width=875
Height=270
Enabled=1
Point(doEnabled)
Point(doSetFocus)
link(onChange,11577486:doLength,[])
}
Add(Button,2398745,794,42)
{
Left=4
Top=365
Width=480
Enabled=1
Caption="3 - Если готовы с текстом нажмите для шифрования и сохранения в формате txt"
Point(doEnabled)
link(onClick,7047680:doExecute,[])
}
Add(Label,5258221,128,35)
{
Left=205
Top=55
Width=499
Height=17
Caption="2 - Наберите текст сообщения, если текст короче пароля, то кнопка шифрования недоступна"
}
Add(Hub,2011539,558,84)
{
link(onEvent1,11914461:doEnabled,[])
link(onEvent2,11914461:doSetFocus,[])
}
Add(Length,13839274,285,84)
{
link(onLength,4953536:doCompare,[])
}
Add(If_else,4953536,334,84)
{
Type=4
Op2=String(25)
link(onTrue,7364194:doData,[])
link(onFalse,5744165:doData,[])
}
Add(DoData,7364194,432,84)
{
Data=Integer(1)
link(onEventData,11543182:doWork2,[])
}
Add(Length,11577486,646,42)
{
link(onLength,12191358:doCompare,[])
}
Add(If_else,12191358,695,42)
{
Type=4
Op2=String(26)
link(onTrue,10929046:doData,[])
}
Add(DoData,10929046,744,42)
{
Data=Integer(1)
link(onEventData,2398745:doEnabled,[])
}
Add(SDialog,7047680,849,42)
{
Filter="txt|*.txt"
FileName="top secret.txt"
link(onExecute,2064238:doEvent1,[])
}
Add(MultiElement,2282055,226,175)
{
link(Data1,6439224:Text,[])
}
BEGIN_SDK
Add(EditMulti,12533341,14,21)
{
WorkCount=2
DataCount=1
VarCount=2
Width=398
Height=242
VOffset=20
HOffset=50
link(doWork1,2425359:doClear,[(333,47)(333,167)])
link(doWork2,14484251:doLoad,[(38,54)(38,104)])
link(Var1,2425359:Count,[(70,239)(370,239)])
link(Var2,2425359:Array,[(77,239)(377,239)])
}
Add(CharArray,14484251,64,98)
{
link(onLoad,1982583:doEnum,[(108,104)(108,141)(52,141)(52,160)])
link(String,12533341:Data1,[])
}
Add(ArrayEnum,1982583,64,154)
{
link(onItem,9848682:doStrCat,[])
link(onEndEnum,4014687:doEvent1,[])
link(Array,14484251:Array,[])
}
Add(CRC16_32,4915060,238,154)
{
link(onResult,16002785:doValue,[])
}
Add(StrCat,9848682,189,154)
{
Point(doClear)
link(onStrCat,4915060:doCalcCRC,[])
link(Str1,9848682:Result,[(195,138)(179,138)(179,198)(195,198)])
}
Add(StrList,2425359,357,154)
{
}
Add(Hub,4014687,113,161)
{
link(onEvent1,5110378:doData,[(141,167)(141,209)])
link(onEvent2,9848682:doClear,[(158,174)(158,167)])
}
Add(PointHint,8469449,140,70)
{
Info=#17:Перевод пароля из|15: строки в цифру|
VAlign=0
Width=127
}
Add(DoData,5110378,287,203)
{
link(onEventData,16091950:doValue,[])
link(Data,16002785:Value,[])
}
Add(GlobalVar,16091950,329,203)
{
Name="w"
}
Add(Memory,16002785,287,154)
{
link(onData,2425359:doAdd,[])
}
END_SDK
Add(MultiElement,5529864,226,252)
{
link(onEvent1,4505387:doAdd,[])
link(Data1,2282055:Var1,[])
link(Data2,2282055:Var2,[])
link(Data3,15556079:Var1,[(246,217)(597,217)])
}
BEGIN_SDK
Add(EditMulti,7522361,21,21)
{
EventCount=1
WorkCount=1
DataCount=3
Width=433
Height=142
VOffset=50
HOffset=120
link(doWork1,11993602:doEnum,[])
}
Add(PointHint,15755057,224,28)
{
Info=#24:сложение пароля и текста|
VAlign=0
Width=155
Height=18
}
Add(ArrayRW,4432289,183,71)
{
link(onRead,4424249:doConvert,[(230,77)(230,77)])
link(Array,7522361:Data2,[(189,46)(154,46)])
}
Add(Math,15664390,134,71)
{
OpType=8
ResultType=0
link(onResult,4432289:doRead,[])
link(Op1,11993602:Index,[(140,59)(122,59)(122,110)(63,110)])
link(Op2,7522361:Data1,[])
}
Add(ArrayEnum,11993602,50,71)
{
link(onItem,15664390:doOperation,[])
link(onEndEnum,5007037:doData,[(105,84)(105,125)])
link(Array,7522361:Data3,[(56,46)(161,46)])
}
Add(MathParse,1851140,290,71)
{
link(onResult,11393230:doConvert,[])
link(X2,11993602:Item,[(303,59)(230,59)(230,118)(56,118)])
}
Add(Convertor,11393230,336,71)
{
Mode=6
Digits=4
link(onResult,11872172:doWork2,[])
}
Add(Convertor,4424249,244,71)
{
Mode=5
Digits=4
link(onResult,1851140:doCalc,[])
}
Add(DoData,5007037,385,119)
{
link(onEventData,11872172:doWork3,[(438,125)])
link(Data,6763511:Var,[])
}
Add(GlobalVar,6763511,385,91)
{
Name="w"
}
Add(HubEx,11872172,434,71)
{
link(onEvent,7522361:onEvent1,[])
}
END_SDK
Add(MultiElement,15556079,591,161)
{
link(Data1,11914461:Text,[])
}
BEGIN_SDK
Add(EditMulti,1067350,21,21)
{
WorkCount=2
DataCount=1
VarCount=1
Width=342
Height=144
HOffset=40
link(doWork1,206130:doClear,[(160,27)(160,111)])
link(doWork2,14255348:doLoad,[(35,34)(35,48)])
link(Var1,206130:Array,[(67,144)(207,144)])
}
Add(CharArray,14255348,61,42)
{
link(onLoad,10170525:doEnum,[(147,48)(147,88)(49,88)(49,104)])
link(String,1067350:Data1,[])
}
Add(ArrayEnum,10170525,61,98)
{
link(onItem,16081613:doConvert,[])
link(Array,14255348:Array,[])
}
Add(Convertor,16081613,112,98)
{
Mode=3
link(onResult,206130:doAdd,[])
}
Add(StrList,206130,187,98)
{
}
Add(PointHint,3516016,180,42)
{
Info=#25:Перевод текста сообщения |20: из строки в цифру|
VAlign=0
Width=162
}
END_SDK
Add(Hub,2064238,910,42)
{
OutCount=4
link(onEvent1,2282055:doWork2,[(937,48)(937,146)(214,146)(214,188)])
link(onEvent2,15556079:doWork2,[(937,55)(937,146)(537,146)(537,174)])
link(onEvent3,5529864:doWork1,[(937,62)(937,146)(214,146)(214,258)])
link(onEvent4,4505387:doSave,[(937,69)(937,146)(636,146)(636,286)])
}
Add(StrList,4505387,646,252)
{
Point(doSave)
}
Add(Button,5309744,70,140)
{
Left=717
Top=365
Width=160
Caption="4 - создать новое сообщение"
link(onClick,4762372:doEvent1,[])
}
Add(Hub,4762372,126,140)
{
OutCount=5
link(onEvent1,11914461:doClear,[(183,146)(183,55)])
link(onEvent2,10809204:doEvent1,[(183,153)(183,90)])
link(onEvent3,2282055:doWork1,[(183,160)(183,181)])
link(onEvent4,15556079:doWork1,[])
link(onEvent5,4505387:doClear,[(365,174)(365,265)])
}
Add(DoData,5744165,383,91)
{
Data=Integer(0)
link(onEventData,11543182:doWork3,[(487,97)])
}
Add(HubEx,11543182,483,84)
{
link(onEvent,2656328:doEnabled,[])
}
Add(Hub,10809204,196,84)
{
link(onEvent1,6439224:doText,[])
link(onEvent2,6439224:doSetFocus,[(218,97)(218,104)])
}
END_SDK
BEGIN_SDK
Add(EditPolyMulti,11299392,21,21)
{
Width=643
Height=305
}
Add(PagePanel,118767,49,42)
{
Width=910
Height=555
Caption="дешифровка"
}
Add(Edit,6439224,100,98)
{
Left=5
Top=85
Width=710
Text=""
Point(doSetFocus)
link(onChange,5976996:doCalcCRC,[])
}
Add(Button,2656328,364,98)
{
Left=735
Top=85
Width=145
Enabled=1
Caption="расшифровать"
Data=Integer(0)
Point(doEnabled)
link(onClick,2011539:doEvent1,[(405,104)(405,162)(40,162)(40,188)])
}
Add(Memo,11914461,463,231)
{
Left=5
Top=120
Width=875
Height=270
Point(EndIdx)
}
Add(Hub,2011539,52,182)
{
OutCount=5
link(onEvent1,2282055:doWork1,[(83,188)(83,209)])
link(onEvent2,15556079:doWork1,[(142,195)(142,202)])
link(onEvent3,2282055:doWork2,[(83,202)(83,216)])
link(onEvent4,15556079:doWork2,[])
link(onEvent5,1930699:doWork1,[(83,216)(83,279)])
}
Add(If_else,4953536,201,98)
{
Op2=Integer(0)
link(onTrue,7364194:doData,[])
link(onFalse,16329618:doData,[])
link(Op2,2828893:Item,[(214,86)(420,86)(420,212)(615,212)])
}
Add(DoData,7364194,292,98)
{
Data=Integer(1)
link(onEventData,1054532:doWork2,[])
}
Add(Label,10067427,147,42)
{
Left=35
Top=18
Width=265
Height=17
Caption="1 - Загрузите файл зашифрованного сообщения"
}
Add(Button,12864723,315,42)
{
Left=735
Top=17
Width=145
Caption="Загрузить шифровку"
link(onClick,5254532:doExecute,[])
}
Add(ODialog,5254532,364,42)
{
Filter="Text files|*.txt"
FileName="top secret.txt"
link(onExecute,10368293:doEvent1,[])
}
Add(Label,14232075,98,42)
{
Left=35
Top=60
Width=458
Height=17
Caption="2 - Введите пароль. Если пароль неверен, кнопка "расшифровать" будет не доступна."
}
Add(Hub,10368293,415,42)
{
OutCount=5
link(onEvent1,6652876:doClear,[])
link(onEvent2,6652876:doLoad,[(537,55)(537,69)])
link(onEvent3,3271312:doData,[(451,62)(451,176)])
link(onEvent4,11914461:doClear,[(443,69)(443,244)])
link(onEvent5,9535964:doData,[])
}
Add(ArrayRW,2828893,609,170)
{
link(Array,4186233:Var2,[])
}
Add(Hub,9401615,560,170)
{
link(onEvent1,2828893:doRead,[])
link(onEvent2,6652876:doDelete,[(584,183)(584,55)])
}
Add(CRC16_32,5976996,149,98)
{
link(onResult,4953536:doCompare,[])
}
Add(StrList,6652876,595,35)
{
Point(doLoad)
Point(EndIdx)
}
Add(DoData,16329618,250,105)
{
Data=Integer(0)
link(onEventData,1054532:doWork3,[(344,111)])
}
Add(HubEx,1054532,340,98)
{
link(onEvent,2656328:doEnabled,[])
}
Add(MultiElement,2282055,100,203)
{
link(Data1,6439224:Text,[])
}
BEGIN_SDK
Add(EditMulti,12533341,21,21)
{
WorkCount=2
DataCount=1
VarCount=2
Width=321
Height=186
VOffset=20
HOffset=50
link(doWork1,2425359:doClear,[(282,47)(282,125)])
link(doWork2,14484251:doLoad,[(45,54)(45,62)])
link(Var1,2425359:Count,[(77,162)(307,162)])
link(Var2,2425359:Array,[(84,162)(314,162)])
}
Add(CharArray,14484251,71,56)
{
link(onLoad,1982583:doEnum,[(115,62)(115,99)(59,99)(59,118)])
link(String,12533341:Data1,[])
}
Add(ArrayEnum,1982583,71,112)
{
link(onItem,9848682:doStrCat,[])
link(onEndEnum,9848682:doClear,[])
link(Array,14484251:Array,[])
}
Add(CRC16_32,4915060,189,112)
{
link(onResult,16678986:doConvert,[])
}
Add(StrCat,9848682,140,112)
{
Point(doClear)
link(onStrCat,4915060:doCalcCRC,[])
link(Str1,9848682:Result,[(146,96)(130,96)(130,156)(146,156)])
}
Add(Convertor,16678986,238,112)
{
Mode=5
link(onResult,2425359:doAdd,[])
}
Add(StrList,2425359,294,112)
{
}
Add(PointHint,8469449,91,24)
{
Info=#32:Перевод пароля из строки в цифру|
VAlign=0
Width=197
Height=18
}
END_SDK
Add(MultiElement,15556079,219,196)
{
link(Data1,4186233:Var1,[(225,143)])
}
BEGIN_SDK
Add(EditMulti,1067350,21,21)
{
WorkCount=2
DataCount=1
VarCount=1
Width=321
Height=144
HOffset=40
link(doWork1,206130:doClear,[(141,27)(141,76)])
link(doWork2,10170525:doEnum,[(41,34)(41,104)])
link(Var1,206130:Array,[(67,144)(200,144)])
}
Add(ArrayEnum,10170525,61,98)
{
link(onItem,16081613:doConvert,[])
link(Array,1067350:Data1,[])
}
Add(Convertor,16081613,112,98)
{
Mode=5
link(onResult,206130:doAdd,[(162,104)(162,69)])
}
Add(StrList,206130,180,63)
{
}
Add(PointHint,3516016,159,25)
{
Info=#25:Перевод текста сообщения |20: из строки в цифру|
VAlign=0
Width=162
}
END_SDK
Add(DoData,3271312,518,170)
{
link(onEventData,9401615:doEvent1,[])
link(Data,6652876:EndIdx,[(524,158)(622,158)])
}
Add(GetDataEx,4186233,609,138)
{
link(Data,6652876:Array,[])
}
Add(MultiElement,1930699,100,273)
{
link(onEvent1,11914461:doAdd,[(318,279)(318,237)])
link(Data1,2282055:Var1,[])
link(Data2,2282055:Var2,[])
link(Data3,15556079:Var1,[(120,254)(225,254)])
}
BEGIN_SDK
Add(EditMulti,3770439,21,21)
{
EventCount=1
WorkCount=1
DataCount=3
Width=482
Height=163
VOffset=50
HOffset=120
link(doWork1,13692396:doEnum,[])
}
Add(PointHint,16609750,112,133)
{
Info=#26:вычитание пароля из текста|
VAlign=0
Width=162
Height=18
}
Add(ArrayRW,3800034,204,71)
{
link(onRead,2062171:doOperation,[])
link(Array,3770439:Data2,[(210,46)(154,46)])
}
Add(Math,10527091,134,71)
{
OpType=8
ResultType=0
link(onResult,3800034:doRead,[])
link(Op1,13692396:Index,[(140,59)(123,59)(123,108)(77,108)])
link(Op2,3770439:Data1,[])
}
Add(ArrayEnum,13692396,64,71)
{
link(onItem,10527091:doOperation,[])
link(onEndEnum,8304982:doEvent1,[])
link(Array,3770439:Data3,[(70,46)(161,46)])
}
Add(Convertor,6442878,329,71)
{
Mode=4
link(onResult,13013441:doStrCat,[])
}
Add(Math,2062171,273,71)
{
OpType=1
link(onResult,6442878:doConvert,[])
link(Op1,13692396:Item,[(279,59)(178,59)(178,115)(70,115)])
link(Op2,3800034:Item,[(286,49)(252,49)(252,112)(210,112)])
}
Add(StrCat,13013441,434,71)
{
Point(doClear)
link(Str1,16189890:Var1,[(440,59)(426,59)(426,118)])
}
Add(DoData,7231414,434,134)
{
link(onEventData,3770439:onEvent1,[(484,140)(484,77)])
link(Data,16189890:Var2,[])
}
Add(GetDataEx,16189890,434,113)
{
link(Data,13013441:Result,[])
}
Add(Hub,8304982,378,78)
{
link(onEvent1,7231414:doData,[(402,84)(402,140)])
link(onEvent2,13013441:doClear,[(413,91)(413,84)])
}
END_SDK
Add(DoData,9535964,462,70)
{
link(onEventData,15319468:doEvent1,[(507,76)(507,162)(40,162)(40,104)])
}
Add(Hub,15319468,55,98)
{
link(onEvent1,6439224:doText,[])
link(onEvent2,6439224:doSetFocus,[(85,111)(85,118)])
}
END_SDK
BEGIN_SDK
Add(EditPolyMulti,16549775,21,21)
{
Width=545
Height=214
}
Add(PagePanel,9934259,35,105)
{
Width=963
Height=520
Caption="зачем это?"
}
Add(ChildPanelRush,14654510,182,63)
{
}
BEGIN_SDK
Add(EditMultiEx,11367160,21,21)
{
}
Add(PanelRush,9950768,35,105)
{
Left=240
Top=40
Width=411
Height=218
ColorFrom=-16777201
ColorTo=-16777201
BorderColor=-16777201
ColorShadow=-16777201
Caption="В последнее время стали появляться странички позволящие шифровать сообщения. Но шифровка текста и создание пароля в интернете как то не по феншую.\r\nПроще это делать не выходя в сеть. \r\nПринцип шифрования похож на старую машину для шифровки "Энигма"\r\nТак что попробуйте."
Glyphs=[]
}
END_SDK
END_SDK

карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8888
Рейтинг: 823
#2: 2019-09-07 21:23:57 ЛС | профиль | цитата
kamakama, изобретаете велосипед?
kamakama писал(а):
..дайте примерную оценку..

1. Длина пароля видна в файле невооружённым взглядом
2. Разбив текст по меткам длины пароля и вычитая равноудалённые от меток цифры получаем РАЗНИЦУ кодов символов, а этих разниц не так уж и много, вполне перебираемы
Лучше уж складывать со случайным числом из компонента "RND", тем более, что Galkov любезно предоставил 128 битный RND -- никакой жизни не хватит перебирать
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#3: 2019-09-07 21:25:23 ЛС | профиль | цитата
Я балдею. kamakama, от тебя не ожидал.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 871
Рейтинг: 322
#4: 2019-09-09 03:33:10 ЛС | профиль | цитата
Леонид, для общего развития, схему вычислителя в студию, пожалуйста.
карма: 1

0
Ответов: 8888
Рейтинг: 823
#5: 2019-09-09 19:21:14 ЛС | профиль | цитата
kamakama, вот две строчки с одним паролем, я их "перехватил" (строчка из одного и того же символа и строчка алфавита для пущей ясности):
----------------------------------------------------------------
54691 54689 2
18038 18037 1
47846 47846 0
5532 5533 -1
42295 42297 -2
10950 10953 -3
40522 40480 42 -- вот она "Ё"
15743 15747 -4
48159 48164 -5
50780 50786 -6
25895 25902 -7
29126 29134 -8
978 987 -9
52453 52463 -10
36527 36538 -11
**********
30859 30859 0 -- Это последняя цифра (окончание шифровки)
----------------------------------------------------------------
А в третьей колонке разница в кодах символов по таблице. В русском алфавите 33 буквы, буква "Ё" и знаки препинания и цифры будут сразу видны по большой разнице, остальные разницы (их менее 1000) можно перебрать за миллисекунды.
карма: 19

0
Ответов: 871
Рейтинг: 322
#6: 2019-09-09 19:56:28 ЛС | профиль | цитата
Леонид, присмотрись повнимательней, складывается не по буквам пароль+текст а пас + текст, пас + пас + текст, пас + пас + пас + текст и так далее, то есть 1 12 123 и т.д. И учти что 123 132 213 231 312 321 и допустим + а это совершенно разные цифры, а если взяв за основу пароль развернуть его по всему тексту то твой метод уже ни как не пройдет. Так как все одинаковые буквы будут иметь разные значения.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#7: 2019-09-09 22:14:38 ЛС | профиль | цитата
Мелочь

Add(MainForm,2953706,98,105)
{
Width=902
Height=136
Position=1
}
Add(Label,7379480,192,154)
{
Left=210
Top=5
Width=432
Height=17
Caption="1 - Введите пароль не менее 25 символов, затем нажмите кнопку - хороший пароль"
}
Add(Edit,6439224,156,112)
{
Left=5
Top=25
Width=710
Text=""
Point(doSetFocus)
link(onChange,13839274:doLength,[])
}
Add(Button,2656328,334,112)
{
Left=735
Top=25
Width=145
Enabled=1
Caption="хороший пароль"
Data=Integer(1)
Point(doEnabled)
}
Add(Length,13839274,201,112)
{
link(onLength,4953536:doCompare,[])
}
Add(If_else,4953536,250,112)
{
Type=1
Op2=Integer(25)
link(onTrue,2915384:doWork1,[])
link(onFalse,2915384:doWork2,[])
}
Add(ChanelToIndex,2915384,294,112)
{
link(onIndex,2656328:doEnabled,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8888
Рейтинг: 823
#8: 2019-09-09 22:20:58 ЛС | профиль | цитата
kamakama, первая строчка в первой колонке содержит ~120 символов "в" и все цифры разные, а во второй колонке алфавит "аб...юя" и цифры тоже разные, а вот их разница показывает на сколько позиций они отстоят друг от друга в кодовой таблице!
Не буду делать перебор для расшифровки, не хочу, т. к. знаю, что можно
карма: 19

0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)