Crypto Language

 AI Prompting

Примеры ИИ Запросов

ИИ запрос для разработки транслятора крипто-языка Oflameron


Запрос к Deepseek:


Прототип запроса версии 1.50 (с ротацией символов)

Напиши HTML+JavaScript код веб-страницы, оптимизированной для просмотра на смартфоне с вертикальной ориентацией.

Кодировка веб страницы win-1251


Элементы интерфейса:

Заголовок: "Интерпретатор языка Oflameron ver 1.50 (с переменной ротацией)"       <===


Поле №1 (textarea): "Простое число (ключ для XOR)"


Начальное значение: 176684706477838432958329750074291851582748389687561895812160620129261977163358586401104946332014022802424840484736440263640058869150064213123847594034139965365510006253457917812163931669483321


Подпись: "Введите ключ как строку цифр"


Поле №2 (textarea): "Исходный код программы Oflameron". Содержит весь введённый пользователем код, включая необрабатываемые символы.


Поле №3 (textarea): "Код программы Oflameron (clear)". Код программы, очищенный от необрабатываемых символов (не входящих в список a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n). Меняется каждый раз, когда вносятся изменения в Поле №2


Поле №4 (textarea, readonly): "Результат / Шифротекст" в текстовом виде после нажатия кнопки RUN


Поле №5 (textarea, readonly): "Результат / Шифротекст" в виде сплошного десятичного кода символов (например, вместо символов UVW - десятичный код 858687) без пробелов


Кнопки:


RUN (запуск интерпретатора)


XOR (операция с ключом)


"Показать таблицу ротации" (для отладки)


Блок для сообщений (div)


Блок информации о ротации: "STP (шаг ротации по списку  a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n) = 1 (измените в JavaScript коде веб страницы)"


Интерпретатор Oflameron с ротацией:

Переменные, константы и параметры:

h, q, l, k - числовые переменные, начальное значение 0 для всех


STP = 1 (константа ротации, изменяется редактированием HTML-кода веб страницы)


Константы и их значения: a=0, b=1, c=3, d=5, e=7, p=19, t=23, v=43, w=73


// Исходный порядок символов

Переменная SYMBOL_ORDER = ['a','b','c','d','e','p','t','v','w','h','q','l','k','f','g','i','m','n'];


При этом - первые 9 символов в переменной  SYMBOL_ORDER - это символы констант (a, b, c, d, e, p, t, v, w)

                    10-13 символы - переменные (h, q, l, k)

                    14-18 символы - операторы (f, g, i, m, n)


Ротация символов:

Принцип: Циклический сдвиг функций символов вправо по списку на STP позиций


Когда выполнять ротацию: Ротация выполняется после (после!) выполнения КАЖДОГО оператора (f,g,i,l,m,nq). 

Т.е. операторы исполняются в текущем функционале. Затем выполняется сдвиг вправо по коду программы на 2 или 3 символа (в зависимости от длины оператора), затем выполняется ротация (сдвиг функциональности) и начинает анализироваться следующий оператор.


Механика ротации (примеры) для STP=1:


a получает функцию b (значение 1)


b получает функцию c (значение 3)


...


n получает функцию a (значение 0)


Сдвиг функциональности выполняется после выполнения каждого оператора. Т.е. запись кода fcdgbemc... надо рассматривать как fcd(сдвиг)gbe(сдвиг)mc(сдвиг)...

Столбцы таблицы показывают, как меняется содержимое SYMBOL_ORDER для каждого значения STR


STP= 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Константа a b c d e p t v w h q l k f g i m n

Константа b c d e p t v w h q l k f g i m n a

Константа c d e p t v w h q l k f g i m n a b

Константа d e p t v w h q l k f g i m n a b c

Константа e p t v w h q l k f g i m n a b c d

Константа p t v w h q l k f g i m n a b c d e

Константа t v w h q l k f g i m n a b c d e p

Константа v w h q l k f g i m n a b c d e p t

Константа w h q l k f g i m n a b c d e p t v

Переменная h q l k f g i m n a b c d e p t v w

Переменная q l k f g i m n a b c d e p t v w h

Переменная l k f g i m n a b c d e p t v w h q

Переменная k f g i m n a b c d e p t v w h q l

Оператор f g i m n a b c d e p t v w h q l k

Оператор g i m n a b c d e p t v w h q l k f

Оператор i m n a b c d e p t v w h q l k f g

Оператор m n a b c d e p t v w h q l k f g i

Оператор n a b c d e p t v w h q l k f g i m




Ошибки: Если после ротации оператор получает несоответствующую арность - операция пропускается


Период: При STP=1 период ротации = 18 операторов


Нормализация чисел:

javascript

function normalize(num) {

    while (num > 127) num -= 127;

    if (num < 0) num = Math.abs(num);

    return Math.floor(num);

}

Применяется после КАЖДОЙ математической операции к результату.


Допустимые операнды:

Константы: a, b, c, d, e, p, t, v, w


Переменные: h, q, l


k используется ТОЛЬКО как индекс, НЕ как операнд


Операторы (до ротации):

fXY - умножение: h = normalize(X * Y) (k+3) - размер оператора = 3 символа


gXY - сложение: h = normalize(X + Y) (k+3) - размер оператора = 3 символа


iXY - вычитание: h = normalize(Math.abs(X - Y)) (k+3) - размер оператора = 3 символа


lX - записать в l ASCII-код символа из позиции k + normalize(X) (k+2) - размер оператора = 2 символа. Читается именно символ из строки "очищенной" программы (т.е. константа, переменная, оператор)


mX - вывести символ с кодом normalize(X) в поле #4 (k+2) - размер оператора = 2 символа


nq - заменить символ в позиции k + normalize(q) на символ с кодом normalize(h) (k+2) - размер оператора = 2 символа. Символ заменяется в "очищенном" коде программы


Общие правила:

Исполнение строго слева направо


k (указатель в строке программы) только увеличивается


Движение по коду:


f,g,i: k+3


l,m,nq: k+2


Ошибка/неизвестный символ: k+1 (просто сдвинуться вправо на одну позицию в строке программы)


Ошибка: если ожидается операнд, но символ недопустим > k+1


Неизвестные символы: пропускаются (k+1)


Самомодификация: через оператор nq


Сброс при RUN: обнулить h,q,l,k, очистить поле #3, сбросить ротацию к началу


Защита от циклов: максимум 100000 шагов


Механика ротации в деталях:

Начальное состояние: символы имеют исходные функции


После выполнения каждого оператора:


Все символы сдвигаются вправо на STP позиций в списке


Новые функции применяются к следующему оператору


Пример при STP=1:


text

Исходно: a=0, b=1, c=3, d=5, ..., f=умножение, g=сложение

После первого оператора: a=1, b=3, c=5, ..., f=сложение, g=вычитание


Операция XOR:

Выполняется: между ключом (поле #1) и текстом (поле #4)


Процесс:


Взять N = min(длина_ключа, длина_текста)


Для i=0..N-1: результат[i] = String.fromCharCode(код_ключа[i] ^ код_текста[i])


Заменить содержимое поля #3 на результат


Обратимость: XOR(XOR(текст, ключ), ключ) = текст


Функция "Показать таблицу ротации":

Показывает текущее состояние ротации


Формат: "Символ > Функция (Значение/Тип)"


Пример: "a > b (значение 1), f > g (оператор сложения)"


Примеры выполнения с ротацией:

Пример 1 (STP=1):


text

Исходный код: fbcgde

Шаг 1: fbc выполняется как умножение (b*c = 1*3 = 3, h=3)

        Ротация: все символы сдвигаются вправо на 1

Шаг 2: gde теперь выполняется как вычитание (g получил функцию i)

        Вычисление: |d - e| = |5-7| = 2, h=2

        Ротация: снова сдвиг на 1

Пример 2 (STP=2):


text

Исходный код: fbc

Шаг 1: fbc выполняется как умножение (1*3=3, h=3)

        Ротация: сдвиг на 2 позиции

        Теперь: a>c(3), b>d(5), c>e(7), f>i(вычитание), и т.д.

Требования к реализации:

Чистый HTML/CSS/JavaScript без внешних библиотек


Адаптивная вёрстка для мобильных устройств


Кнопка RUN: запускает интерпретатор с кодом из поля #2, сбрасывая ротацию


Кнопка XOR: выполняет операцию XOR как описано выше


Кнопка "Показать таблицу ротации": показывает текущее состояние


Реализация ротации:


Массив функций для каждого символа


Функция rotateSymbols() вызывается после каждого оператора


Таблица преобразования обновляется динамически


Сообщения: в отдельном div показывать информацию о ротации


Технические детали реализации ротации:

javascript

// Исходный порядок символов

Переменная SYMBOL_ORDER = ['a','b','c','d','e','p','t','v','w','h','q','l','k','f','g','i','m','n'];


// Текущее отображение символов на функции

let symbolMapping = createInitialMapping();


// Функция ротации

function rotateSymbols() {

    const newMapping = {};

    for(let i = 0; i < SYMBOL_ORDER.length; i++) {

        const fromSymbol = SYMBOL_ORDER[i];

        // Сдвиг вправо на STP

        const toIndex = (i - STP + SYMBOL_ORDER.length) % SYMBOL_ORDER.length;

        const toSymbol = SYMBOL_ORDER[toIndex];

        newMapping[fromSymbol] = symbolMapping[toSymbol];

    }

    symbolMapping = newMapping;

}

Запрос теперь включает:


Полную спецификацию ротации символов


Чёткие правила выполнения


Примеры работы с ротацией


Механизм отладки (кнопка показа таблицы)


Все технические детали для реализации


https://chat.deepseek.com/share/5uv6th7lkivqkx5mv6


https://t.me/llmsource/429





AI Code Generation

https://oflameron.com

https://oflameron.myfilebase.site/


Комментарии

Популярные сообщения из этого блога

Crypto Tech

Crypto Tech

Бесплатные JAVA проекты