Л.(K11) Соединение лет с катренами, крипто, алгоритм шифрования, часть 2
В заключительной части кода мы ищем широты и с их же помощью соединяем года с катренами.
Приводятся разные схемы соединения алгоритма годы-широты-шифр.
I. Числа Гораполлона 46, 58 с одной стороны меняют годы, а с другой они приставлены либо к широтам, либо к совместно построенной правой части шифр-катрены. Но не с самим катренам, так как катрены о цифрах 46 и 58 'не знают' таких цифр, а вот в широтах эти цифры разнесены.
Этот сокращает число вариантов алгоритма, поэтому, если числа Гораполлона разнесены, то идут к годам и к широтам.
Второй вариант, когда число Гораполлона - сочетание, тогда оно идёт к годам-датам или датам массивов Евклида.
Везде шифрование с открытым ключом.
1а) Годы (имеют ключ ?1-1=числа Гораполлона ) - широты(имеют вторую половину ключа ?1-2=числа Гораполлона )-шифр . Симметричный ключ.
1б) Годы (имеют ключ ?1-1=числа Гораполлона ) - широты(имеют вторую половину ключа ?1-2=числа Гораполлона )-шифр, также есть ключ другой ?2.
Симметричный ключ ?1=?(1-1)+?(1-2), также симметричный ?2 -?
Числа Гораполлона как одно число - сочетание, открытое шифрование
2б) Годы (имеют ключ ?1=числа Гораполлона ) - широты - шифр (ключ есть свой ?2). Тогда асимметричный ключ ?1 и симметричный ключ ?2 -?
ключ ?2 - сочетание из общего комбинаторного расчёта или пароль как менее вероятный вариант, который разнесён катрены-широты
Смотрим рисунок.
Симметричных ключей может быть несколько. С правой частью годы-широты всё более-менее ясно в вариантах схем, когда годы подсчитают, будет видно, куда приставить числа Гораполлона. А вот с правой сложнее: второй ключ может быть, а может не быть и подходит он, если есть, к массивам широты-шифр, тогда ключ считается симметричный. Если этот ключ выходит за рамки широты-шифр, то тогда он асимметричный. Возникает вопрос: есть л ещё делитель? В зависимости от схем, составляются и по-разному формулы для алгоритма. Сам шифр или менять не надо, или расставить по порядку хаотично выстроенное ПОЛНОЕ число катренов с помощью сочетаний по выборкам, также для массива широт надо высчитать нужные. Рассмотрим варианты.
II. Числа Гораполлона могут суммировать, а могут умножать, могут быть степенью числа, как угодно их нужно подобрать, чтобы получить эквивалентность скорей всего остатков. Исходить нужно из свойств сравнений, но уже не из простоты. Точно сказать трудно, не имея даты под рукой, к тому же это могут быть не годы, а годы с датами или только даты, цифры сами по себе большие и Ностр должен был находить, простые они или составные.
Например, число (широту, например) можно представить, как 45=9×5, далее строится функция Эйлера ϕ(45)=24, но строил ли функцию Эйлера Ностр для очень больших чисел, ведь разложить число на множители вручную трудно. Поэтому, число должно быть не очень большим или постоянным, этот вариант приемлемый.
Можно, число (например, катрен) представить как 100=64+32+4=26+25+24+22 - так считать даже машина притомится, этот вариант нам не подходит.
А можно частями представить, например, mod300: 1557/300=0mod300+57mod300 - тоже хороший вариант. Числа Гораполлона могут менять или остатки, или делитель, при подборе это нетрудно выяснить. Что касается навороченной правой части, то весть вопрос в том, есть ли делитель дополнительный для соединения широты-шифр. В современных алгоритмах часто цифры возводят в степень, но и считает алгоритм компьютер, я не думаю, что Ностр решил себе усложнить расчёт, тем более везде массивы, он строил по остаткам.
Если говорить о широтах, то неизбежно вернёмся к астрологии, я брала определение As по Коху, так как индийские таблицы эфемерид мне недоступны в таком диапазоне лет, пришлось срочно перестроиться на западную астрологию. По Коху достаточно знать широту и время свершения события на этой широте, и определяется сразу As - это знак первого дома и градус. Далее уже дело техники разбросать планеты по домам.
S - звездное время, выраженное в угловых единицах,
j - географическая широта места события,
e- угол наклона эклиптики к небесному экватору.
Планеты берутся на год, месяц, день и время, так год связан с As, но не напрямую.
Из письма Генриху.
'...То, что все эти знаки точно соответствуют божественным письменам и видимым небесным светилам, а именно Сатурну, Юпитеру и Марсу, соединенным с другими, можно будет ясно увидеть с помощью некоторых квадрантов'.
'...Que toutes ces figures sont iustement adaptees par les diuines lettres aux choses celestes visibles, c'est a scavoir, par Saturne, Iupiter, & Mars, & les autres conioincts, comme plus a plain par aucuns quadrins l'on pourra voir'.
Можно посмотреть будет, когда годы будут высчитаны, как согласуются квадраты гороскопа человека или эфемерид на данное время с биноминальными коэффициентами при расчёте лет.
Открыто указанные годы в центуриях являются суммой по остаткам алгоритма Евклида, а полное событие ещё надо вычислить, нельзя выдернуть из алгоритма цифру и начать её 'толковать'.
III. Расчётные варианты.
О взаимно простых числах с модулем широт 3600, оно имеет функцию Эйлера 960. Если шифр-широты взаимно-просты, то с чем же взаимно прост модуль 3600? Конечно, не с порядковым номером катрена. Во-первых, он может быть прост с другим модулем, а модуль шифра рассчитан на 12 центурий mod13. Также модуль шестистиший 60, функция Эйлера 16 тоже взаимно просто с mod13. А для взаимно простых модулей используется КТО, и решать как систему сравнений шифр-широты. Отсюда напрашивается и решение правой части алгоритма. Массивы широт находятся в пп.12, части II кода Ностра.
1) Если числа Гораполлона разнесены или не разнесены по годам-широты, но делителей нет, то завершение алгоритма такое:
если идём со стороны лет
а) Решать систему двух сравнений по годам и по широты+шифр, каждый со своими полученными цифрами, если числа Гораполлона разнесены или не разнесены, но делителей дополнительных нет. Решение сравнений должно быть разрешимым.
б) Или другой способ, если числа Гораполлона разнесены по остаткам, делителей нет. Тогда, исходя их свойств сравнений: a=bq1+r1 , c=bq2+r2 a+-c≡r1+-r2(modb).
Взять один модуль широт, приняв его как общий, например, mod3600. Тогда х≡(r1+r2)mod3600
Аналогично, если умножают остатки, х≡r1 × r2(mod3600)
Где r1 - остатки массива Евклида по годам, r2 - остатки массива Евклида по широты+шифр, к r1 и r2 добавляют числа Гораполлона.
если идём со стороны катрены-широты для взаимно-простого x с mod
2) Решение первой половины широты+шифр, делитель дополнительный есть или нет, но он взаимно простой с модулем. Согласно формуле Эйлера для взаимно простых чисел.
ха≡b(modm), НОД(a,m)=1 , так как из свойства сравнения kа≡kb(modm), то а≡b(modm),
поэтому для нас x≡aϕ(m)-1b(modm)
Примеры придуманы мной.
Пример: 7x≡3(mod60), НОД(7,60)=1
60=3,4,5 ϕ(60)=16, тогда из формулы Ферма ap-1≡1modp и kа≡kb(modm), следует для нас x≡715×3 (mod60), здесь появился индекс у остатка, решаем:
x≡115 ×3 (mod60), так как 15=7×2+1 x=21
2) Есть ещё решение первой половины широты+шифр для взаимно простых x и mod, модуль при этом простое число p, c делителем или без.
2x≡17(mod19), тогда С19 2=19!/2!(19-2)!=9×19=171
х≡17×(-1)1×171/19≡ х≡-153≡18(mod19), где r>o, -153=-9×19+18, 19=18×1+1
х≡18≡1(mod19)
Получается, как видим, везде новое сравнение, широты-шифр, которое и нужно сравнивать с годами, и добавлять числа Гораполлона нужно уже в то сравнение, которое получено от совместного решения сравнений, а не в сами широты, которые не привязаны к катренам.
Во всех примерах я рассмотрела простые случаи решения алгоритма.
IV. Если появляется делитель дополнительно, например, комбинаторные сочетания по блокам (или пароль шифра), он переходит в широты для широты+шифр и на этих числах задан перебор широт, или (и) числа Гораполлона являются делителем (делителями). При этом делитель не взаимно прост с модулем.
Собственно, делитель может и переходить симметрично, например, шифр-катрены, но сравнение при этом не взаимно простое.
Если есть делитель 'х', то решение ха≡b(modm) по формуле Эйлера, если НОД(х,m)>1 - решение ....., если НОД(х,m)=d - решение другое немного. Можно решать его просто как сравнение, а можно тоже по формуле Эйлера.
Здесь следует объяснить, как я писала ранее, что число лет не равно числу катренов. Поэтому искомый делитель нужно отнести в тот массив, где цифр меньше. Это массив шифра или катрены. Это важный момент. Приблизиться к делителю можно справа: шифр-широты и затем годы. Но можно и слева: решить годы-широты и затем подсоединить катрены. Делитель дополнительный всё же есть, он должен уравнять катрены годам. Один год - один катрен, катрен может повториться. Но катренов не может быть более числа, указанного в общем комбинаторном расчёте. Конечно, алгоритм этот тоже можно решить через формулы комбинаторики с тем же результатом. Но я уже начала подбирать таким способом.
Решить сравнение можно не обязательно именно через функцию Эйлера, нам важно правильно задействовать схему алгоритма и цифры Ностра. Большие цифры садят на конец к остаткам, не будете же вы цифру 8 или 55 тащить в модуль.
Теперь можно снова вернуться к формированию формулы с делителем, где х - дополнительный делитель.
если x не взаимно просто с mod, а также модуль не является простым. Если модуль не простое число, переходим сразу на функцию Эйлера, а в первом случае решений много разных, но п.3 решать через сравнение через построенное именно таким образом сочетание через взаимно простой x и mod нельзя, на само сочетание, например, взятое из общего комбинаторного расчёта, можно использовать.
Вариант, когда начинаете решать слева алгоритм со стороны лет, дат .... Например, слева цифра 1791≡х×.... . Если идём со стороны катренов, то для катрены-широты х×С≡... или
х×Р≡... . Р - пароль, С - сочетание, или надо найти просто номер. Нужен ли пароль? Ведь нужно, чтобы в итоге году соответствовал уже готовый катрен, поэтому важен порядковый номер катрена, который даст делитель. Без готовых цифр трудно сократить число вариантов.
V. Варианты решения с дополнительным делителем, где x не взаимно просто с mod.
Решать можно просто как сравнение, а можно через функцию Эйлера, формула будет иметь тогда вид для Эйлера aϕ(m)≡1(modm).
На все Нострадамусовы хитрости ТЧ может дать достойный ответ.
Сравнение 45x≡4(mod60) не разрешимо, так как делитель 15 не делится на 4.
Сравнение 3x≡4(mod4) разрешимо, НОД (3,4)=1, поэтому имеется одно решение сравнения
Если есть делители, то идёт сокращение делителей. При этом имеется несколько решений уравнения по числу делителей.
Можно не надрываться и не считать по функции Эйлера, например, если модули взаимно простые. Для нашего случая для шифра mod13, а для широт mod3600 и mod13. НОД(3600,13)=1, НОД(60,13)=1, поэтому применима КТО.
Поэтому для шифра-широт при взаимной простоте решается система сравнений
х1 ×a≡r1(modb1)
х2 ×a≡r2(modb2)
х3 ×a≡r3(modb3)
...
M=b1 × b 2 ×... × bn
Алгоритм Евклида довольно многолик, как видим, и использовать его надо соответственно.
Относительно общей схемы алгоритма.
Сначала начинать построение надо со стороны катренов, наверное, шифр-широты (слева от катрены-широты).
Сумма шифра 488, на французском сайте абсолютно правильно собраны буквы 46 штук с паролем под ними.
488×2=976; широты, функция Эйлера ϕ(3600)+ϕ(60)=960+16=976. То есть, Ностр знал функцию Эйлера, под другим названием, и пользовался ей.
В любом случае, лет больше, чем катренов, уменьшить их число нельзя, ведь они есть результат перебора массивов Евклида по годом. Число катренов тоже нельзя увеличить, а вот некоторые повторить можно. Поэтому есть ещё вариант соединения алгоритма: считаем годы-широты через общий модуль как сравнения (то есть идём слева от лет), а потом присоединяем всё это с помощью комбинаторики к катренам.
Не имея цифр перед глазами, однозначно трудно точно сказать, как взять правильно из предложенного вариант алгоритма, придётся подбирать. Поэтому процесс построения алгоритма имеет варианты и выглядит пока расплывчато. Главное, сравнения должны быть разрешимы, а также будут уже совмещаться годы с катренами, и растолковано содержание катрена при этом Ностром, по которому на данной широте найдётся государство и город благодаря описанию в тексту.
Знал ли Ностр теорию сравнений, теорию алгоритмов? Конечно, нет, но будем считать, что почти знал. Перебор шифра можно сделать с помощью перечислительной комбинаторики, её конфигураций (второй способ с помощью подстановок я показывала), а также и данный алгоритм, который я сделала для кода, чтобы задействовать широты в расчёте, можно решить тоже с помощью комбинаторики, особенно, если так, как сделала я, кажется громоздким. Результат будет одинаков.
Литература:
1) Бухштаб А.А. 'Теория чисел', изд. 'Просвещение', М., 1966г..
2) Кван Н.В. 'Практикум по теории чисел', Амурский государственный университет, часть II, Благовещенск, 2003
3) Сизый С.В. Лекции по теории чисел. Уральский государственный университет, Екатеринбург, 1999 г..