Het ITB-project is gepresenteerd, dat een symmetrische cryptografische isolator ontwikkelt, ontworpen voor het verpakken van standaard pseudo-willekeurige functies (PRF) en hash-primitive data (AES, BLAKE2/3, Areion en anderen) in een gekoppelde combinatorische en topologische barrière. In tegenstelling tot klassieke blok- en stroomversleuteling, richt de ITB-architectuur zich op structurele isolatie van de interne primitief, waardoor de verspreiding van differentiële en lineaire kenmerken, algebraïsche linearisatie, evenals directe coderingen voor SAT/SMT- en MILP-oplossers door de grenzen van de barrière wordt voorkomen. De code is geschreven in de programmeertaal Go, met laag-niveau optimalisaties in assembly voor de architecturen x86_64 en ARM64 (Aarch64) en wordt verspreid onder de Apache 2.0-licentie.
De gegevensconversie in ITB is verdeeld over twee gekoppelde niveaus (Interlocked Barrier), beheerd door acht geïsoleerde sleutels (8-seed isolation) met lokale sleutelontwikkeling via een cascade met directe koppeling (ChainHash). Op het eerste niveau voert de rangschikkingbarrière (Rank Barrier) een belangrijke combinatorische permutatie uit voor elk 48-bits blok (of 168-bits blok voor 512-bits primitief), waarbij de bits van de open tekst over drie onafhankelijke regio's worden verdeeld op basis van een twee-staps combinatie van zijn nummer (de ruimte van gebalanceerde uitsplitsingen C(48, 16) * C(32, 16) is ongeveer 2^70.20, en in de 168-bits modus C(168, 56) * C(112, 56) — ongeveer 2^258.60). Op het tweede niveau projecteert de pixelbarrière (Pixel Barrier) de gegevens op een raster van 8-byte elementen (8 kanalen van 7 bits gegevens en 1 bit pseudo-willekeurige ruis in elk byte) met pixel-gebaseerde 7-bits cyclische verschuiving van de sleutel, maskering van de 7-bits kanalen en keuze voor de positie van het ruisbit.
Belangrijkste kenmerken van het project:
- Experimentele verificatie van isolerende eigenschappen op van tevoren niet-cryptografische functies (stress-test met zwakke primitieven). De repository omvat een laboratoriumopstelling die een reguliere hash-functie FNV-1a binnen de barrière invoert. Door middel van niet-lineaire combinatorische rangschikking, het splitsen van bytes langs de grenzen van 7-bits kanalen (grootste gemene deler (7, 8) = 1) en het injecteren van ruisbits in elke byte, wordt praktische toegang of de opbouw van een oplosbare SAT/SMT-model op open en versleutelde tekst al geblokkeerd in het stadium van het formuleren van het systeem van vergelijkingen.
- Formele verificatie, gecontroleerd door machines, in de Lean 4-taal. Alle 12 basiswiskundige, combinatorische en bitvectorstellingen van de constructie (inclusief de toegepaste hybride sleuteloverdracht van 3 naar 8 uit drie onafhankelijke KEM-kanalen in APPS.md), beschreven in het document PROOFS.md, zijn volledig bewezen in Lean 4 zonder het gebruik van axioma's en bewijsleemten.
- Ingebouwde instrumenten voor cryptografische testen, waaronder geautomatiseerde controles: statistische testbatterijen, beoordeling van algebraïsche graad en niet-lineariteit, verificatie van de isolatie van zaden bij het filteren van ruisposities via de CCA-orakel en het zoeken naar kwetsbaarheden met externe oplosser.
- Twee werkmodi: standaard geauthenticeerde modus (AEAD volgens het MAC-Inside-Encrypt-schema, waarbij de tag wordt berekend en binnen de container wordt versleuteld) en de modus van plausibele ontkenning (Plausible Deniability) op basis van onvoorwaardelijke codering COBS, waarbij het ontsleutelen met een willekeurige onjuiste sleutel syntactisch correcte gegevens oplevert zonder foutindicator.
- In combinatie met snelle moderne PRF's (AES, BLAKE2/3, Areion) is de constructie geschikt voor veilige berichtenuitwisseling, bestandopslag en netwerktunnels (met groepsbatchwachtrijen bedragen de overheadkosten van het formaat ongeveer 15%). VPNVoor bescherming tegen aanvallen via zijkanalen worden kernen uitgevoerd in constante tijd (constant-time) met volledige gedwongen wissen van stapelframes en processorregisters (GPR, XMM/YMM/ZMM, NEON) na aanroepen.
- Voor de x86_64-architectuur zijn assemblerkernen geïmplementeerd met gebruik van BMI2-instructies (PEXT/PDEP), AES-NI, VAES, AVX2 en AVX-512, en voor ARM64 (Aarch64) zijn gebaseerd op NEON-extensies, Crypto Extensions en SVE2 (met een verplaatsbare teruggang naar pure Go). Om een enkele C ABI (libitb3) zijn bindings voorbereid voor 33 programmeertalen.
Bron: opennet.ru
