К вопросу об определении ряда факторов влиющих на степень ценности информации и вероятности их взлома на аппаратном уровне. Предположим что такие пути подхода к информации , как демонтаж микросхемы памяти ,или взлом Flash не рассматриваются. И вполне допустим простой алгоритм криптовки. Проблемма разве что может заключаться в том , что шифрованию подлежат исключительно цифры , а не символы.(ну это на мой неопытный взгляд проблемма , может не всё так уж проблематично). Это может быть некий алгоритм , котрорый прячет полезную информацию в бесполезном "мусоре" знаков . В том то вся и беда , что ранее не сталкивался с подобной задачей.
Нарыл алгоритм TEA. Но его реализация изображена на примере С. Не пинайте , но на бейсик это может кто перевести.
Routine, written in the C language, for encoding with key k[0] - k[3]. Data in v[0] and v[1]. void code(long* v, long* k) { unsigned long y=v[0],z=v[1], sum=0, /* set up */ delta=0x9e3779b9, /* a key schedule constant */ n=32 ; while (n-->0) { /* basic cycle start */ sum += delta ; y += ((z<<4)+k[0]) ^ (z+sum) ^ ((z>>5)+k[1]) ; z += ((y<<4)+k[2]) ^ (y+sum) ^ ((y>>5)+k[3]) ; } /* end cycle */ v[0]=y ; v[1]=z ; }
Decode Routine void decode(long* v,long* k) { unsigned long n=32, sum, y=v[0], z=v[1], delta=0x9e3779b9 ; sum=delta<<5 ; /* start cycle */ while (n-->0) { z-= ((y<<4)+k[2]) ^ (y+sum) ^ ((y>>5)+k[3]) ; y-= ((z<<4)+k[0]) ^ (z+sum) ^ ((z>>5)+k[1]) ; sum-=delta ; } /* end cycle */ v[0]=y ; v[1]=z ; }
|