Esitatud on ITB projekt, mis arendab sümmeetrilist krüptograafilist isolaatorit, mis on mõeldud standardsete pseudojuhuslike funktsioonide (PRF) ja hajutamisalgoritmide (AES, BLAKE2/3, Areion jne) mähkeks ahelalisse kombineeritud ja topoloogilisse barjääri. Erinevalt klassikalistest plokk- ja voogkrüptimise režiimidest, ITB arhidektuur keskendub sisemise primitiivi struktuursele isoleerimisele, takistades diferentsiaalsete ja lineaarsede karakteristikute, algebralise lineaarimise ja kaudsete kodeeringute levikut SAT/SMT ja MILP lahendajate vahel barjääri kaudu. Kood on kirjutatud Go keeles madalamate tasemete optimeerimistega assemblerile arhitektuuridele x86_64 ja ARM64 (Aarch64) ning levitatakse Apache 2.0 litsentsi alusel.
ITB andmete töötlemine on jagatud kaheks omavahel ühendatud tasandiks (Interlocked Barrier), mida juhib kaheksa isoleeritud võtme seemet (8-seed isolation) koos kohaliku võtme evolutsiooniga otsekettiga (ChainHash). Esimesel tasandil teostab järjestuse barjäär (Rank Barrier) iga 48-bitise ploki (või 168-bitise ploki puhul 512-bitistes primitiivides) võtmekombinatoorse permutatsiooni, jaotades selgemat tekstibitide kolmeks sõltumatuks piirkonnaks, põhinedes kahetasandilisel kombinatsiooni leidmisel selle numbril (tasakaalustatud jaotuste ruum C(48, 16) * C(32, 16) on umbes 2^70.20, ja 168-bitises režiimis C(168, 56) * C(112, 56) - umbes 2^258.60). Teisel tasandil kuvarabarjäär (Pixel Barrier) kaardistab andmed 8-baidiste elementide ruudustikule (8 kanalit 7-biti andmete ja 1 bit pseudojuhusliku müra iga baidi kohta) pikselipõhise 7-bitise võtme tsüklilise nihkega, maskeerimisega 7-bitiste kanalite ja müra bitikoha valiku kaudu.
Projekti põhijooned:
- Eksperimentaalne kontroll isolatsioonivõimetest ilmselt mitte-krüptograafiliste funktsioonide peal (koormustest nõrkade primitiivide abil). Repositooriumis on laborsüsteem, mis asendab tavalise hash-funktsiooni FNV-1a barjääri sees. Tänu mitte-lineaarsele kombineeritud eristamisele, baitide jagamisele 7-bitiste kanalite piiril (GCD(7, 8) = 1) ja müra bitide süstimisele igasse baidi, blokeeritakse praktiline pööramine või lahendatava SAT/SMT mudeli koostamine avatud ja krüpteeritud teksti osas juba võrrandite süsteemi koostamise etapis.
- Masinaga kontrollitud formaalne kinnitamine Lean 4 keeles. Kõik 12 põhielementaarset matemaatikat, kombinatoorseid ja bitivector teoreeme konstruktsioonide osas (sealhulgas rakenduslik plaan hübriidsede 3-to-8 viisist kolme sõltumatult KEM-kanali kaudu APPS.md-s), on täielikult tõendatud Lean 4-s ilma aksioomide ja tõendite vahepaladeta.
- Sisseehitatud krütoanalüütilise testimise tööriistakomplekt, sealhulgas automatiseeritud kontrollid: statistilised testide paketid, algebralise astme ja mitte-lineaarsuse hindamine, seemnete isolatsiooni kontrollimine müra positsioonide filtreerimisel CCA-oraakli kaudu ja haavatavuste otsimine välishaldurite abiga.
- Kaks töörežiimi: tavaline autentimismood ja režiim usutavast eitamisest, mille aluseks on tingimusteta koodimine COBS, kus vale võtmega dekrüpteerimine annab süntaktiliselt korrektsed andmed ilma veateateta.
- Koos kiirete kaasaegsete PRF-dega (AES, BLAKE2/3, Areion) on konstruktsioon sobiv kaitstud sõnumite vahetamiseks, failide hoidmiseks ja võrgutunneliteks. VPN-tunneliteks (grupipakettide järjekorra kulu formaadi jaoks on umbes 15%). Kaitseks tuumade poolte kanali rünnakute vastu toimuvad teostused pideva ajaga (constant-time) koos täieliku kohustusliku puhastamisega virnaraamide ja protsessoriregistrite (GPR, XMM/YMM/ZMM, NEON) pärast kutsumise lõpetamist.
- x86_64 arhitektuurile on rakendatud assembleri tuumad, kasutades BMI2 (PEXT/PDEP), AES-NI, VAES, AVX2 ja AVX-512 käske, ning ARM64 (Aarch64) alusel NEON-i, Krüpto laiendusi ja SVE2, taastumisega puhtal Go-l. Ühtse C ABI (libitb3) kohal on ette valmistatud sidumised 33 programmeerimiskeele jaoks.
Allikas: opennet.ru
