Кіріспе
Криптографтар өздерінің адал екенін көрсету үшін қолданатын сандар. Криптографияда "жеңімде ештеңе жоқ" сандары – құрылымы бойынша жасырын қасиеттеріне күдік тудырмайтын кез келген сан. Олар хэштер және шифрлар сияқты криптографиялық функцияларды құру үшін қолданылады. Бұл алгоритмдерге көбінесе араластыру немесе бастамалау үшін кездейсоқ тұрақтылар қажет болады. Криптограф осы мәндерді тұрақтылардың қасақана зиянды мақсатпен таңдалмағанын көрсету ниетімен таңдауы мүмкін, мысалы, алгоритмге құпия жол жасау үшін. Сондықтан криптографияда қолданылатын тұрақтыларды жасаудың түсініктірек тәсіліне қажеттілік туды. "Жеңімде ештеңе жоқ" фразасы әдетте әдетте қолданылатын сиқыршылармен байланысты, олар кейде әдетте қолданылатын сиқырлық трюк жасамас бұрын жеңдерін ашып, ішінде ештеңе жасырмағанын көрсетеді.
In cryptography, nothing up my sleeve numbers are any numbers which, by their construction, are above suspicion of hidden properties. They are used in creating cryptographic functions such as hashes and ciphers. These algorithms often need randomized constants for mixing or initialization purposes. The cryptographer may wish to pick these values in a way that demonstrates the constants were not selected for a nefarious purpose, for example, to create a backdoor to the algorithm. Thus a need was felt for a more transparent way to generate constants used in cryptography. "Nothing up my sleeve" is a phrase associated with magicians, who sometimes preface a magic trick by holding open their sleeves to show they have no objects hidden inside.
Қарсы үлгілер
Streebog хэш-функциясының S қорабы кездейсоқ жасалған деп мәлімделген, бірақ кері инженерия арқылы жасалғаны және белгілі бір "түсініксіз" әлсіздіктері бар алгоритмдік жолмен құрылғаны дәлелденді. Деректерді шифрлау стандартында (DES) NSA ұсынған тұрақтылар бар. Олар кездейсоқ емес екені анықталды, бірақ сол кезде көпшілікке белгілі емес дифференциалдық криптоанализге қарсы алгоритмді төзімді етіп жасалған. 2013 жылдың қыркүйегінде The New York Times газеті "Бұрынғы NSA мердігері Эдвард Сноуденнің құпия хаттары, NSA-ның 2006 жылғы NIST стандартында қолданылған кездейсоқ сандар генераторының бірін жасағанын көрсетеді – ол Dual EC DRBG стандарты деп аталады, және оның құрамында NSA үшін артқы есік бар" деп жазды. P қисықтары NIST эллипстік қисық криптографиясы үшін стандартталған. Бұл қисықтардағы коэффициенттер түсіндіріле алмайтын кездейсоқ бастамаларды хэшлеу арқылы жасалады, мысалы: P 224: bd713447 99d5c7fc dc45b59f a3b9ab8f 6a948bc5. P 256: c49d3608 86e70493 6a6678e1 139d26b7 819f7e90. P 384: a335926a a319a27a 1d00896a 6773a482 7acdac73. Тікелей байланысы болмаса да, Dual EC DRBG-дегі артқы есік ашылғаннан кейін, NIST-тің P қисықтарының тұрақтыларындағы күдікті жайттар NSA-ның жеке кілттерді табуда көмектесетін мәндерді таңдағаны туралы алаңдаушылық тудырды. Осыдан кейін көптеген протоколдар мен бағдарламалар NIST P 256 қисығына альтернатива ретінде Curve25519-ды пайдалана бастады.
P 224: bd713447 99d5c7fc dc45b59f a3b9ab8f 6a948bc5. P 256: c49d3608 86e70493 6a6678e1 139d26b7 819f7e90. P 384: a335926a a319a27a 1d00896a 6773a482 7acdac73. Although not directly related, after the backdoor in Dual EC DRBG had been exposed, suspicious aspects of the NIST's P curve constants led to concerns that the NSA had chosen values that gave them an advantage in finding private keys. Since then, many protocols and programs started to use Curve25519 as an alternative to NIST P 256 curve.
Шектеулер
Бернштейн және авторлар криптографиялық объектілерді, мысалы эллиптік қисықтарды жасаудың күрделі процедурасының бастапқы нүктесі ретінде "қолдан келгеннен артық" сандарды пайдалану артқы есіктерді енгізуге жеткіліксіз болуы мүмкін екенін көрсетеді. Мысалы, π, e, Эйлер гаммасы, √2, √3, √5, √7, log(2), (1 + √5)/2, ζ(3), ζ(5), sin(1), sin(2), cos(1), cos(2), tan(1) немесе tan(2) сияқты көптеген сырттай қарағанда зиянсыз және "қызықты емес" қарапайым математикалық тұрақтылар бар. Бұл тұрақтылар үшін таңдауға бірнеше түрлі екілік өрнектер де бар. Егер тұрақты кездейсоқ бастама ретінде қолданылса, таңдау үшін көптеген хэш-функция кандидаттары бар, мысалы SHA 1, SHA 256, SHA 384, SHA 512, SHA 512/256, SHA3 256 немесе SHA3 384. Объектіні таңдау процедурасында жеткілікті реттелетін параметрлер болса, комбинаторлық жарылыс мүмкін дизайн таңдаулары мен сырттай қарағанда қарапайым тұрақтылардың кеңістігін жеткілікті деңгейде қамтамасыз етеді, сондықтан мүмкіндіктерді автоматты түрде іздеу қажетті артқы есік қасиеттеріне ие объектіні құруға мүмкіндік береді.